Qual é a diferença entre desenvolvedor de software e codificador?

Deixe-me responder isso através de um exemplo. Eu queria iniciar um negócio e precisava de um site, já que sei o desenvolvimento da web, criei um site, aqui sei o que o site deve fazer, como deve ser, quais requisitos devem atender etc. Então, tecnicamente, desenvolvi um site .

Um desenvolvedor é alguém que pode interagir com os clientes, conhecer os requisitos, descobrir o problema que precisa ser resolvido e encontrar uma maneira de resolver tecnicamente esse problema.

Pelo contrário, se eu estivesse procurando um emprego e descobrisse que há uma vaga na empresa xyz e meu trabalho era codificar uma ficcionalidade específica para um site, agora eu seria chamado de codificador.

Você deve observar que esses termos estão sendo usados ​​de forma intercambiável nos dias de hoje.

Eu diria ... Um desenvolvedor de software 'desenvolve' um sistema (parte de a), documenta os requisitos e descobre onde e como as coisas são usadas em um ambiente mais complexo e, eventualmente, as codificam. Um codificador geralmente espera a função / documentação técnica e depois codifica as funções de acordo com suas especificações, sem o ônus de descobrir se os requisitos estão corretos.

Normalmente, os 'desenvolvedores' têm mais responsabilidade (e um salário maior) :)

Bem, esta é uma resposta muito específica do domínio, mas suponha que estamos falando de C / C ++.

Provavelmente é a diferença entre alguém que usaria o pós-incremento em vez do pré-incremento para loops simples.

Provavelmente é a diferença entre alguém que usa inquestionavelmente a comparação lógica versus alguém que pode usar a comparação bit a bit.

Mas, no nível mais básico, é

realmente a diferença entre alguém que faz algo funcionar e alguém que faz algo funcionar muito bem.

Em uma linha, eu diria ..

Todos os desenvolvedores de software são codificadores, mas nem todos os codificadores são desenvolvedores de software.

No estrangeiro..

A codificação requer em vários níveis, como linguagens de montagem ou controle de dispositivos, ou pode estar no nível de banco de dados, programação na Web etc., o que requer uma linguagem de programação e um pedaço de código. Basta pensar em um sensor do seu carro que regula a temperatura ou pode estar controlando o balanceamento de carga enquanto você coloca a perna na folga, que também é regulada pela destruição do código em um microprocessador, mas não requer interação direta com o motorista do carro.

Em geral, software é um programa e vários códigos podem ser escritos algumas vezes em combinações de várias linguagens de programação que ajudam os usuários a realizar uma tarefa em um computador ou, agora, dias em dispositivos móveis e requerem interações diretas com o usuário.

Espero que ajude.

Na minha opinião, "codificador" é um insulto. Isso implica que a pessoa não precisa pensar para fazer o trabalho - ele ou ela é apenas um operário que codifica o trabalho conforme indicado em uma linha de montagem.

Se for necessária alguma distinção, um programador pode ser aquele que trabalha em parte de um projeto, como relatórios ou exibições, enquanto um desenvolvedor está envolvido ativamente no design de soluções.

Os líderes empresariais e gerentes de produto devem identificar problemas a serem resolvidos (ou trabalhos a serem executados) e trabalhar com uma equipe de desenvolvimento que possa expandir a definição dos problemas e criar soluções para eles.

Coder costumava ser alguém que escrevia código, geralmente para o design detalhado de outra pessoa. Eles não precisaram pensar muito, porque essa parte já havia sido feita por eles. Acima deles, programadores, designers e analistas.

Os desenvolvedores de software fazem exatamente isso; eles desenvolvem software. Isso significa que eles aprendem o que seus clientes desejam que o software faça, descobrem um design que atenda a essas necessidades, implementem esse design e mantenham o código (correções de bugs, adição, modificação e exclusão de recursos etc.) Eles também podem obter envolvido na entrega do software. Nem todos os desenvolvedores podem executar toda a gama de tarefas, e é assim que você pode distinguir entre os diferentes níveis de desenvolvedor.

Atualmente, parece que para muitas pessoas codificador e desenvolvedor de software são sinônimos. Para aqueles de nós que estavam por aí quando coder significava simplesmente alguém que inseriu código, isso é um insulto.

Também acho que isso é parte do motivo pelo qual os iniciantes ficam tão preocupados com o (s) idioma (s) que devem aprender, porque o codificador os faz pensar que essa é a principal coisa que um desenvolvedor de software faz. Quando você começa a desenvolver software, percebe quanto mais do que simplesmente a codificação está envolvida. A implementação do código é apenas uma parte do processo - e mesmo assim, você está fazendo mais do que simplesmente codificar.

Não há realmente. O problema é que o desenvolvedor de software costumava significar puramente codificador (também conhecido como programador), mas hoje em dia todo o desenvolvimento de software inclui alguma atividade que não é de codificação. Os desenvolvedores da Web precisam de CSS, os desenvolvedores de bancos de dados precisam de SQL. Desenvolvedores de dispositivos móveis, desenvolvedores de jogos e web precisam lidar com gráficos. Enquanto os desenvolvedores de jogos precisam incluir sons / áudio também. Os desenvolvedores de IA e big data precisam de matemática e estatísticas. Os desenvolvedores de alto-falantes inteligentes (existe um nome melhor para esse gênero?) Também precisam de alguma codificação.

TL; DR - atualmente, existem muito poucas atividades de desenvolvimento de código que não envolvem coisas que não sejam de código. Portanto, os codificadores que significam que a programação pura não existe mais (eu era um entre 1981 e 1983, escrevendo programas de negócios BASIC no Apple II), então considero o programador, o codificador e o desenvolvedor de software o mesmo.

Na verdade, acho que as pessoas que escrevem software de servidor podem ser consideradas como programadoras, mas você ainda as chamaria de desenvolvedores de servidores e não de codificadores. É tudo semântica, mas essa é a minha opinião!

Eu acho que, na realidade, não há diferença.

Acho que o termo 'codificador' é bastante raro no campo, mas eu o ouço de tempos em tempos.

Normalmente me chamo de 'desenvolvedor de software', pois isso descreve o que faço muito bem, mas todos os termos são amplamente intercambiáveis.

Desenvolvedor de software

Programador

Codificador

Engenheiro de software*

É tudo a mesma coisa.

* Eu sei que algumas pessoas vêem isso como algo especial, mas não é, ninguém pensa assim no mundo real.