
O nível do desenvolvedor não é necessariamente determinado por muitos anos de experiência em programação: "June" pode muito bem ser mais antigo que o "senior", tudo se resume às habilidades profissionais. Isso não significa que um desenvolvedor sênior deva ser um especialista em tudo, mas pode-se dizer com confiança que suas habilidades são muito mais desenvolvidas do que entre desenvolvedores júnior e intermediário.
Mas os desenvolvedores de vários níveis se distinguem por algo mais do que a capacidade de realmente programar. Então, quais são exatamente as diferenças?
Traduzido para AlconostConhecimento
Obviamente, um desenvolvedor sênior tem um conhecimento muito mais extenso. Para um desenvolvedor júnior, aprender padrões de design, arquitetura, automação de testes, métodos para melhorar a produtividade e garantir a segurança etc. é uma ótima maneira de preencher essa lacuna de conhecimento.
É importante saber como o software deve ser criado. Mas apenas saber tudo isso não significa ser um desenvolvedor de nível superior. O conhecimento não é uma diferença fundamental, mas apenas um dos fatores.
Fotos - Clem Onojeghuo , UnsplashProgramação
Apesar da opinião da maioria das pessoas comuns, a programação não está falando com um computador. Programar significa se
comunicar com as pessoas e
dar instruções aos computadores. Afinal, o código eventualmente compila e se transforma em zeros e uns.
O código deve fazer sentido para quem trabalhar com ele no futuro. A equipe que escolheu o projeto para outra pessoa deve poder abrir seu código-fonte e começar a trabalhar em novos recursos ou correções. E aqui reside a diferença essencial entre o "junho" e o "sênior".
Não levarei em consideração os desenvolvedores de nível intermediário nesta comparação; no que diz respeito às habilidades de programação, eles representam um tipo de área de transição - um pouco mais próximo do nível de desenvolvedor sênior. Basicamente, a posição "intermediária" é determinada pela experiência, porque geralmente o "intermediário" consegue passar por todo o ciclo de desenvolvimento pelo menos uma vez, além de cometer muitos erros simples e aprender com eles.
Como calcular "junho"
Desenvolvedores mais jovens são inexperientes: às vezes são graduados que estão apenas começando a trabalhar em período integral. Na cabeça deles, a principal tarefa é fazer o código funcionar. Se o aplicativo funcionar, é bom.
Escrever código simples é uma tarefa difícil. E os desenvolvedores mais jovens não são capazes de fazer isso: geralmente seu código é bastante peculiar. Você pode reconhecê-los através de frases simples bizarras e abstrações excessivamente complexas - é assim que os "jones" se esforçam para se mostrar e tentam fazer os outros entenderem o quão bem eles podem programar. Mas esta é a abordagem errada.
Os desenvolvedores juniores se concentram na parte "computador" do código, com vista para a parte "humana".
Como escrever o código "idosos"
Observando o código de um desenvolvedor sênior, você pode pensar: isso é tudo? Onde está o resto? Um desenvolvedor bastante experiente escreve código simples, compreensível e, às vezes, até muito direto - e essa é uma das qualidades mais importantes quando se trata de programação. "Senior" segue o princípio do KISS, que afirma que o código deve ser simples e claro:
" Seja
simples, estúpido"Portanto, o desenvolvedor sênior tem uma abordagem completamente diferente para escrever código: leva em consideração a conveniência de mais suporte e escalabilidade. Isso é completamente diferente do pensamento de um desenvolvedor júnior: o "senior" pensa naqueles que trabalharão com o código, e o "June" é importante em primeiro lugar para fazer o código funcionar.
Não está programando um
Além das habilidades de programação, existem outros fatores que podem dizer que tipo de desenvolvedor está à sua frente.
Os desenvolvedores juniores, por via de regra, executam as tarefas mais simples e importantes; eles não desenvolvem arquitetura. Os desenvolvedores de nível intermediário também não desenvolvem soluções, mas simplesmente executam tarefas, mas são menos controladas - se a tarefa for bastante típica. Mas os "idosos" podem desenvolver o aplicativo de forma completamente independente.
Isso não significa que o desenvolvedor sênior não tenha nenhuma pergunta ao longo do caminho: qualquer um de nós tem muitas perguntas todos os dias e os "seniores" não são exceção.
A diferença é que os últimos sabem fazer as perguntas certas e o que fazer com as respostas recebidas. Os desenvolvedores menos experientes podem fazer as perguntas certas quando se trata de suas tarefas habituais, mas em casos mais complexos eles precisam procurar ajuda.
Um desenvolvedor sênior nunca se perde e sabe como agir corretamente, tendo recebido uma resposta para uma pergunta. Isso não significa que ele não irá pedir conselhos aos outros - às vezes a melhor solução é procurar ajuda daqueles que têm mais experiência neste campo.
Um desenvolvedor de nível médio também deve ser capaz de fazer as perguntas certas, a menos que seja uma tarefa muito difícil que exija um nível profundo de conhecimento.
Mas, no caso do "junho", não se pode esperar que eles sejam capazes de fazer as perguntas certas: eles não têm prática suficiente, portanto devem ser liderados por colegas mais experientes. O desenvolvedor júnior deve receber os recursos necessários ou dar um bom empurrão na direção certa.
Ir para o próximo nível
Todos nós queremos melhorar, inclusive profissionalmente. Mas que medidas podem ser tomadas para passar para o próximo nível?
De junho a meio
Os desenvolvedores iniciantes não têm uma experiência rica, por isso é importante passar por todo o ciclo de desenvolvimento pelo menos algumas vezes - dessa forma, você pode encontrar muitas armadilhas no caminho e aprender a evitá-las.
Quanto à programação, você deve aprender a escrever código simples: imagine que outra pessoa trabalhe no projeto depois de você. Além disso, você terá que aprender a depurar - isso aprofundará sua compreensão do que acontece durante o programa.
Você também precisa se familiarizar com as melhores práticas e aprender mais sobre arquitetura, desempenho, segurança etc. Feche a lacuna de conhecimento que o separa do nível intermediário.
Do "meio" - ao "sênior"
Os desenvolvedores de nível intermediário podem ser complicados para aumentar: alguns permanecem nesse nível todas as suas carreiras.
O desenvolvedor sênior sabe em quais casos um compromisso pode ser feito e quando isso não pode ser feito em nenhum caso - porque ele conseguiu testá-lo com sua própria experiência amarga.
Para ir para o nível "sênior", você precisa estar preparado para concluir tarefas para as quais ninguém sabe como lidar. Você precisa saber e ser capaz de fazer mais do que apenas fazer seu trabalho.
Além disso, como desenvolvedor sênior, você deve ajudar os menos experientes: o resto é uma tábua de salvação que você pode agarrar quando não sabe como fazer algo.
À luz disso, não é de surpreender que os "idosos" possuam totalmente sua pilha técnica. Você precisa não apenas ser capaz de programar, mas também conhecer todas as ferramentas e aplicativos usados na empresa que o contratou.
Conclusão
A diferença entre "junho", "médio" e "sênior" não é apenas em muitos anos de experiência. Sim, é seguro dizer que o último possui habilidades muito mais desenvolvidas do que os desenvolvedores juniores e intermediários. Mas o conhecimento não é o fator mais importante.
Desenvolvedores experientes escrevem um código mais simples e o abordam de maneira diferente. Mas, além de poder programar, também é muito importante saber quais perguntas fazer e o que fazer com as respostas recebidas. É o desenvolvedor sênior - aquela pessoa cuja rica experiência permite não se confundir e encontrar uma solução em qualquer situação.
“June”, para crescer ainda mais, você precisa aprender a escrever código simples e passar por vários ciclos completos de desenvolvimento. Para superar a média, você precisa se concentrar em aprender algo mais do que apenas as tarefas rotineiras de correção de erros. Você deve estar pronto para executar as tarefas mais complexas e dominar totalmente sua pilha técnica. Outra responsabilidade de um desenvolvedor sênior é ajudar os menos experientes.
Para citar Martin Fowler:
“Qualquer idiota pode escrever código que um computador entende. Um bom programador escreve código que as pessoas podem entender ”
Sobre o tradutorO artigo foi traduzido por Alconost.
A Alconost
localiza jogos ,
aplicativos e sites em 70 idiomas. Tradutores em idioma nativo, teste linguístico, plataforma em nuvem com API, localização contínua, gerentes de projeto 24/7, qualquer formato de recursos de string.
Também criamos
vídeos de publicidade e treinamento - para sites que vendem, imagem, publicidade, treinamento, teasers, exploradores, trailers do Google Play e da App Store.
→
Leia mais