A diferença entre codificador e programador

Homem codificando

As pessoas que escrevem código podem ser divididas em dois tipos: codificadores e programadores. Dmitry Sokolov, co-fundador da Alef Development , usando exemplos da prática de trabalho, explica como diferenciá-los um do outro e explica por que amar o código, tente não usar os métodos de programação “sujos” e resolva o problema rapidamente, mas qualitativamente é extremamente importante.

Qual a diferença?

Para começar, vale a pena entender os termos. Um codificador pode ser qualquer pessoa cujo QI permita que eles se envolvam em atividade intelectual. Ele resolve um conjunto de tarefas típicas no modelo. Em geral, isso não é mais difícil do que resolver a escola e instituir problemas em matemática.

Um programador é uma maneira de pensar. Ele não cai em um estupor, diante de uma tarefa cuja solução ele não conhece em movimento. O programador cria suas próprias abordagens para o trabalho e procura entender como todos os sistemas e algoritmos são organizados por dentro.

As diferenças fundamentais entre um programador e um codificador são:

  • apaixonar-se pelos negócios (se uma pessoa em sua vida não escreveu uma única linha de código para si mesma, porque gosta , dificilmente é programadora);
  • abordagem da programação como uma arte (o desejo de construir uma arquitetura que agrade a vista e procurar soluções bonitas para os problemas e, o mais importante, receber prazer genuíno disso).

Tudo o resto já é uma conseqüência dessas diferenças básicas:

  • o programador analisa qualquer tarefa mais ampla, pensando e fornecendo todos os recursos, e o codificador resolve o problema superficialmente e muito raramente olha além da redação;
  • o programador está interessado em fazer com que sua solução funcione da melhor maneira possível – o codificador deseja concluir a tarefa o mais rápido possível.

Por exemplo, temos a tarefa “criar um programa que, quando você clica no botão, calcula o número primo mais próximo, começando pelo número digitado no campo de entrada e o exibe na tela”.Uma abordagem típica do codificador : encontre o primeiro algoritmo para encontrar números primos na Internet e implemente-o. Ou encontre o código finalizado, adicione um botão, anexe o processamento de cliques a ele, verifique algumas vezes. Tudo, o programa está pronto.

Tela de código
Tela de código

Possível abordagem do programador :

  • encontre algoritmos diferentes para encontrar números primos, estude-os e escolha o mais adequado,
  • percebe isso
  • implemente a verificação dos dados inseridos e pense na notificação de erro se o número for gravado em um formato inválido,
  • verifique o algoritmo em um grande número de exemplos diferentes e chegue à conclusão de que, para números primos grandes, o cálculo leva muito tempo,
  • Adicione um indicador de download e bloqueie o botão para evitar clicar novamente.

O programador tentará evitar resolver o problema de maneiras “sujas”, se houver outra maneira. 

Aqui está um exemplo da vida real . Havia um padrão não escrito no banco de dados de um sistema: os identificadores de objetos começaram com números correspondentes à data de sua criação (908157567437 – indicou que o objeto foi criado em 2009, em 15 de agosto).

Esta não era uma característica documentada; tal conclusão poderia ser feita apenas com base em observações. Não havia garantia de que isso sempre funcionaria. Ao mesmo tempo, havia uma oportunidade confiável para descobrir a data da criação do objeto consultando outra tabela por vários grupos – esse método exigia mais tempo e esforço.  Foto: Unsplash

Havia pessoas que, devido à preguiça comum, relatavam há muitos anos, usando o padrão de coincidência dos primeiros dígitos do identificador. Em janeiro de 2010, esse padrão parou de funcionar repentinamente e todas as datas nos relatórios começaram a ser exibidas incorretamente.

O erro acabou porque as pessoas economizaram tempo e não começaram a extrair os dados reais da tabela. Um bom programador não conseguirá dormir normalmente se forem usadas suposições na solução do problema, em vez de fatos.

Neste exemplo, a falha foi fácil de detectar e corrigir. Mas acontece que um erro não ocorre há anos, surge em alguns casos difíceis e desaparece novamente, e todos ao redor estão se preocupando com o que foi. Se tal negligência ocorrer no programa de controle de um veículo espacial, um reator em uma usina nuclear ou o piloto automático de um avião, o preço poderá ser muito alto.

É importante observar a redação “tente evitar” dada acima na tese. Na vida real, um bom programador ainda às vezes recorre a decisões “sujas”, pesando todos os prós, contras e o preço da questão.  

Vamos supor que o programador precisava de uma ferramenta para a análise de uma só vez de um grande volume de dados específicos. Leva uma semana para desenvolver uma bela arquitetura, mas você pode concluir a tarefa em 30 minutos. Ficar feia, mas a ferramenta vai funcionar como deveria e nunca vai precisar. A arte de ser um bom programador é e conscientemente violar a “beleza”, sempre que se justifique.

Sinais de um não programador

Voltarei ao título do artigo. Então, uma pessoa que:

  1. Não gosta de escrever código;
  2. Não usa as leis da lógica na vida cotidiana;
  3. ao ver cálculos complexos ou uma página de código, ele fica desencorajado e deseja que seja rapidamente removido de sua vista;
  4. Não estou pronto para passar muitas horas analisando meus erros e procurando as melhores soluções;
  5. não pode aprender coisas novas por conta própria;
  6. não está interessado no dispositivo fundamental de um computador: o que é um processador e seus comandos, como a RAM é configurada, o que os programas se transformam após a compilação;
  7. imprime com dois dedos e não planeja reaprender.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *