Há uma grande variação nos níveis de habilidade dos desenvolvedores. E o que é chamado "seigniority" geralmente não diz nada sobre as possibilidades reais de um programador. O que torna alguns desenvolvedores objetivamente melhores que outros? O que os diferencia da multidão cinzenta?
Se um programador tem cinco, dez ou até quinze anos de “experiência prática”, isso não garante necessariamente que ele é um sênior eficaz e produtivo. De fato, isso nem significa que pode ser chamado assim.
Obviamente, também existem pessoas tão infelizes, por causa das quais uma reputação ruim foi estabelecida para idosos bem-sucedidos, que geralmente não são jovens. Mas os jovens senhores também não são mais fáceis. No entanto, existem certas características e conhecimentos comuns a vários programadores seniores.

Isso não quer dizer que os verdadeiros senhores conheçam alguns segredos da habilidade profissional. Pelo contrário, eles se distinguem por uma estrutura especial de conhecimento, pensamento especial. Ambos são passíveis de desenvolvimento.
O autor do material, cuja tradução publicamos hoje, diz que deseja falar sobre alguns dos sinais que ajudam a distinguir um verdadeiro programador-senador de um programador com "dignidade".
Paradigmas de programação
Princípios do SOLID, programação orientada a objeto e funcional - esses são três paradigmas de programação, três metodologias de escrita de código limpo, que compõem uma parte significativa das abordagens conceituais por trás da criação dos programas.
Muitos programadores juniores perdem uma coisa importante em seu trabalho, que é que a programação é uma linguagem. Isso significa que a programação é mais do que um conjunto de regras gramaticais. Este é um meio de comunicação, um fenômeno que pode ser estruturado de várias maneiras. Os paradigmas de programação ajudam a formar uma certa posição sobre como o código é percebido e como ele transmite informações.
Qualquer pessoa pode escrever código - assim como qualquer pessoa pode escrever uma mensagem em um messenger ou uma breve resenha de um livro na Amazon. Mas esses textos não podem ser comparados aos romances de Stephen King. Os paradigmas de programação atuam como a força orientadora por trás do código que os idosos escrevem. Isso torna os paradigmas semelhantes às estruturas da trama que os autores de ficção seguem. Todos os idiomas estão imbuídos de fórmulas. Os desenvolvedores seniores os entendem em um nível profundo, ao qual os Joons e os MIDLs ainda precisam chegar.
Capacidade de criar
Quando chegamos ao mundo dos loops
if else
e,
if else
,
if else
, fazemos perguntas e tentamos encontrar respostas para eles na forma de código que pode ser copiado e colado em nosso projeto a partir de algum lugar. O nível de entendimento desse código é o que caracteriza as qualificações dos juniores que estão apenas começando e iniciando no meio.
Os idosos, no entanto, vão além da cópia. Eles podem criar algo novo sem a ajuda especial do todo-poderoso Google. Eles sabem o que estão fazendo, entendem como suas decisões afetam os resultados de seu trabalho. Eles podem ver ou pelo menos antecipar situações anormais. Eles entendem os problemas de seu código e sabem como lidar com eles.
Se eles não sabem algo, preenchem as lacunas de conhecimento, entendendo seriamente questões pouco claras, não limitadas ao estudo superficial. Eles entendem profundamente todas as ferramentas que usam. O mundo do código não olha nos olhos dos idosos da mesma maneira que nos olhos de junho ou do meio.
Crítica objetiva
Todo mundo prefere o que sabe. Os juniores e os médios mostram uma forte tendência a se concentrar em sua própria experiência, e não no que diz respeito ao código que analisam. Se eles fazem uma proposta, ou se valorizam algo - a base de tudo isso é a preferência pessoal deles. Esse é um estilo de escrever código, maneiras de nomear entidades, métodos de pensamento.
Não há nada de errado nisso. Tudo isso faz parte do processo de crescimento profissional. Para alcançar a verdadeira objetividade dos julgamentos, um programador precisa ir a muitas situações e ver por si mesmo como algo que é inaceitável em um caso, em outro pode ser a melhor solução para um problema. Isso desenvolve uma visão neutra das coisas. Não existe uma maneira correta de escrever código. Existem apenas maneiras eficazes em uma determinada situação e em um determinado cenário. Programadores seniores entendem isso. Eles estão prontos para aceitar que seu código pode não ser algum tipo de "melhor" código e que pode ser aprimorado.
Os idosos geralmente se tornam controladores produtivos de qualidade de código, apontando a confusão que seus colegas fazem nos programas e observando os pontos fracos na arquitetura de aplicativos. Eles são capazes de ver a imagem geral do projeto, para avaliar a possibilidade de problemas completamente inesperados. No entanto, eles não estão vinculados a nenhum estilo de escrever código ou a qualquer paradigma de programação. O foco de sua atenção não são as ferramentas, mas o resultado.
A diferença entre um bom programa e um programa de trabalho
Os desenvolvedores criam código cuja principal tarefa é iniciar. Alguns deles se debruçam sobre isso e acreditam que código de trabalho é tudo o que precisam. Outros vão um pouco mais longe e se esforçam para garantir que o código não esteja apenas funcionando, mas também seja escrito em alta qualidade. Os melhores desenvolvedores são aqueles profissionais que editam e reescrevem nosso código no processo. Eles podem concordar em usar algum design malsucedido, mas assim que tiverem a oportunidade de corrigi-lo, eles o farão. Esses desenvolvedores entendem a diferença entre um bom e um programa de trabalho.
A maioria dos gerentes está interessada apenas no desempenho do programa. Mas bons desenvolvedores seniores veem a situação mais profunda. Eles entendem o custo oculto da dívida técnica e são capazes de reconhecer um código que indica a presença de problemas profundos no sistema. Eles sabem como combinar a necessidade comercial de programas de trabalho com a qualidade do código. Isso permite que eles encontrem um equilíbrio entre a entrega dos projetos no prazo e a inclusão neles de recursos adicionais que os clientes do projeto lembram desde o início do trabalho.
A amplitude de seu conhecimento, a compreensão de estruturas e linguagens de programação os tornam especialistas na questão de encontrar a diferença entre programas de trabalho e programas de alta qualidade. Eles podem criar os dois. Isso proporciona aos verdadeiros idosos a oportunidade de encontrar soluções criativas para os problemas em diversas situações.
Capacidade de aprender
O professor medíocre posa. Um bom professor explica. Um excelente professor mostra. O grande professor é inspirador.
William Arthur WardDesenvolvedores sênior de verdade têm uma paixão por tecnologia que inspira seus colegas de equipe menos experientes, ajudando os iniciantes a se tornarem profissionais de primeira linha.
A programação, por si só, é um conjunto de certas idéias. Os idosos têm a capacidade de expressar essas idéias de forma concisa e clara. A capacidade dos idosos de transferir código entre diferentes interfaces e ambientes demonstra uma verdadeira compreensão da linguagem de programação escolhida.
Para ensinar algo a alguém, você precisa de um certo nível de conhecimento sobre o assunto. O que é chamado de "experiência de trabalho" pode aparecer no currículo de um programador como uma lista de seus projetos concluídos ou como o tempo em que ele trabalhou em diferentes empresas. Mas a capacidade de ensinar aos outros é uma habilidade que está disponível apenas para alguém que realmente possui seu ofício.
Sumário
Um verdadeiro desenvolvedor sênior é uma criatura multifacetada que, às vezes, quando se trata de áreas fora de seu negócio principal, pode parecer um mês de junho ou meio. Mas o senhor tem uma base poderosa no campo da filosofia de programação.
No entanto, as características acima mencionadas dos idosos - é isso que está presente em suas personalidades e em seus conhecimentos profissionais. Isso lhes permite aprender novas tecnologias mais rapidamente do que um programador "médio". Muitas vezes, os idosos são pessoas capazes de capturar de relance a imagem geral do que está acontecendo. Eles são capazes de analisar o código sem preconceitos e superstições.
O verdadeiro senhor levará seus colegas de trabalho aos hábitos de criar código limpo. Ao mesmo tempo, não será uma força destrutiva que tenta espremer tudo o que encontra no leito procrustino de sua própria experiência. Essa pessoa aceita calmamente os erros de seus colegas e dos seus também. Ele procura aprender e aprender com os erros, e não humilhar colegas menos experientes.
Um desenvolvedor sênior pode ser uma pessoa de qualquer idade, ele pode vir de qualquer ramo da tecnologia da informação, sua “experiência prática” pode ser calculada em qualquer número de anos. A principal característica dessas pessoas é que elas realmente sabem como resolver problemas e são capazes de pensar a longo prazo.
Caros leitores! Se você está envolvido na seleção de pessoal no campo da tecnologia da informação - informe-nos sobre como "rastrear" os idosos.
