Hot Posts

6/recent/ticker-posts

As diferenças entre um desenvolvedor júnior, de nível médio e sênior

E o que você pode fazer para chegar ao próximo nível


Ser um desenvolvedor júnior, intermediário ou sênior não tem a ver apenas com os anos de experiência em programação que você tem. Um desenvolvedor júnior pode até ser mais velho que um desenvolvedor sênior. Tudo se resume a habilidade. Isso não significa que um desenvolvedor sênior tenha que ser um especialista em tudo, mas é seguro dizer que os desenvolvedores seniores são muito mais qualificados do que os desenvolvedores juniores e de nível médio.

Mas mais do que apenas habilidades de codificação diferenciam o desenvolvedor sênior do desenvolvedor de nível médio e júnior. Então, quais são exatamente as diferenças?

Conhecimento

Obviamente, o desenvolvedor sênior tem muito mais conhecimento do que o desenvolvedor júnior e de nível médio. Conhecer padrões de design, arquitetura, testes de automação, desempenho, segurança, etc. é uma boa maneira de um desenvolvedor júnior fechar a lacuna de conhecimento com os desenvolvedores de nível médio e sênior.

É importante saber como as coisas no desenvolvimento de software devem ser feitas. Mas apenas saber tudo isso não faz de você um desenvolvedor sênior. O conhecimento não é a maior diferença entre os desenvolvedores - é apenas um dos fatores.

Codificação

Apesar do que a maioria das pessoas pensa, codificação não é sobre comunicação com um computador. A codificação é sobre comunicação com humanos e instrução de computadores. Eventualmente, o código é compilado e traduzido para zeros e uns.

O código tem que fazer sentido para outros desenvolvedores que trabalham com ele no futuro. Uma nova equipe que nunca viu o código antes deve ser capaz de abrir o código e começar a trabalhar em novos recursos ou correções de bugs. É aí que a grande diferença é entre desenvolvedores juniores e seniores.

Deixarei de fora o desenvolvedor de nível médio nessa comparação, porque o desenvolvedor de nível médio é uma área cinzenta quando se trata de habilidades de codificação. Obviamente, é em algum lugar entre o júnior e sênior. Provavelmente se inclina mais para o lado sênior. Isso tem a ver principalmente com a experiência, já que os desenvolvedores de nível médio provavelmente passaram pelo ciclo de desenvolvimento inteiro pelo menos uma vez. Eles fizeram muitos dos erros mais simples e aprenderam com eles.

Como farejar o desenvolvedor júnior?

Os desenvolvedores juniores são inexperientes. Alguns acabaram de se formar e estão começando seu primeiro emprego em tempo integral. A mentalidade de um desenvolvedor júnior, muitas vezes, é apenas fazer o código funcionar. Software de trabalho e bom software são considerados os mesmos.

Programar código simples é difícil. E é algo que os desenvolvedores juniores não fazem. Os desenvolvedores juniores escrevem códigos extravagantes. Você pode reconhecer o desenvolvedor júnior por meio de frases curiosas e abstrações excessivamente complexas. Essa é a maneira como o desenvolvedor júnior mostra e deixa os outros desenvolvedores saberem o quão bons eles podem codificar. E está errado.

Desenvolvedores juniores concentram-se no lado do computador do código em detrimento do lado humano.
E o desenvolvedor sênior?

Ao olhar para o código de um desenvolvedor sênior, você pode pensar: isso é tudo o que existe? Onde está o resto do código? Um desenvolvedor sênior escreve um código simples, direto e talvez até idiota. Esta é uma das maiores qualidades que um desenvolvedor pode ter quando se trata de programação. Um desenvolvedor sênior segue o princípio KISS: Mantenha-o simples, estúpido.



Um desenvolvedor sênior pensa sobre o código de maneira diferente do desenvolvedor júnior. Código escrito por um desenvolvedor sênior será feito com sustentabilidade e escalabilidade em mente. Esta é uma mentalidade totalmente diferente do que o desenvolvedor júnior tem - o sênior está pensando sobre as pessoas que têm que trabalhar com o código, enquanto o júnior está apenas pensando em fazê-lo funcionar para o computador.

Mais do que apenas habilidades de codificação

Além das habilidades de codificação, existem outros fatores que podem lhe dizer quem é o tipo de desenvolvedor.

Os desenvolvedores juniores, em geral, executam as tarefas ou tarefas mais simples com baixo impacto. Eles não fazem nenhum design de arquitetura. Os desenvolvedores de nível médio não estão projetando soluções, apenas executam tarefas. A diferença com o desenvolvedor júnior é que eles executam essas tarefas com menos supervisão, desde que sejam atribuídas a tarefas relativamente rotineiras. Desenvolvedores seniores podem desenvolver um aplicativo completamente por conta própria.

Isso não significa que o desenvolvedor sênior não tenha dúvidas ao longo do caminho. Todo desenvolvedor tem muitas perguntas todos os dias e isso não mudará. Isso não é diferente para desenvolvedores seniores.

A diferença é que os desenvolvedores seniores sabem como fazer as perguntas certas e como essas questões são tratadas. Desenvolvedores de nível médio podem fazer as perguntas certas quando se trata de tarefas relativamente rotineiras, mas precisam de ajuda em tarefas mais complexas.


O desenvolvedor sênior nunca se perde e sabe como acompanhar a questão com a ação correta. Isso não significa que um desenvolvedor sênior não possa pedir ajuda de outros desenvolvedores. Às vezes, a melhor maneira é simplesmente pedir ajuda a outros desenvolvedores com experiência nessa área.

O desenvolvedor de nível médio deve ser capaz de fazer as perguntas certas também, desde que não seja designado a tarefas altamente complicadas que exijam um nível profundo de conhecimento.

Você não deve esperar que um desenvolvedor júnior faça as perguntas certas imediatamente. Como os desenvolvedores juniores são inexperientes, eles precisam de orientação de um desenvolvedor mais experiente. O desenvolvedor júnior precisa receber os recursos necessários ou um grande impulso na direção certa.



Chegando ao próximo nível

Todos nós queremos melhorar e melhorar como desenvolvedor. Mas quais são as etapas que você pode seguir para chegar ao próximo nível?
Júnior para intermediário

Como os desenvolvedores juniores são inexperientes, é importante passar por todo o ciclo de desenvolvimento pelo menos algumas vezes. Desta forma você vai cair em muitas armadilhas e aprender como evitá-las na próxima vez.

Quando se trata de codificação, você deve aprender a escrever código simples. Pense na próxima pessoa que vai trabalhar nesse pedaço de código. Você também deve aprender como depurar, pois isso lhe dará uma melhor compreensão do que está acontecendo no processo.
Além disso, você deve se familiarizar com as melhores práticas e aprender sobre arquitetura, desempenho, segurança, etc. Feche a lacuna de conhecimento necessária para chegar ao nível intermediário.
Mid-level to sênior

Começar de nível médio para sênior pode ser bastante difícil. Alguns desenvolvedores permanecerão no nível intermediário durante toda a duração de sua carreira.

Desenvolvedores seniores sabem que cantos podem ser cortados e quais cantos nunca devem ser cortados. Essas são lições difíceis, cometendo erros no passado.

Se você quiser chegar ao nível sênior, você tem que estar preparado para assumir as tarefas que ninguém sabe como consertar. Você deve saber mais do que apenas como fazer o trabalho.

Como desenvolvedor sênior, seu trabalho também é ajudar os desenvolvedores menos experientes. Você é o substituto para outros desenvolvedores quando eles não sabem como fazer algo.

E talvez não surpreenda você que desenvolvedores experientes dominem sua pilha de tecnologia. Há mais do que apenas habilidades de codificação. Conheça todas as ferramentas e aplicativos que estão sendo usados na empresa em que você trabalha.

Conclusão

A diferença entre um desenvolvedor júnior, intermediário e sênior não se resume a anos de experiência. Claro, é seguro dizer que os desenvolvedores seniores são mais habilidosos do que os desenvolvedores juniores e de nível médio. Mas o conhecimento não é o fator mais importante.

Desenvolvedores seniores escrevem código mais fácil e vêm com uma mentalidade diferente dos desenvolvedores juniores. Mas é mais do que apenas habilidades de codificação. Saber que perguntas fazer e como acompanhar essas questões é essencial. E é algo que apenas o desenvolvedor sênior, com sua vasta experiência, sabe como fazer em todas as situações.



Para crescer como um desenvolvedor júnior, você deve se concentrar em escrever código simples e passar por vários ciclos de desenvolvimento. Para ir de um desenvolvedor de nível médio a sênior, você deve se concentrar em aprender mais do que apenas corrigir tarefas de rotina. Você deve estar disposto a assumir as tarefas mais difíceis e ser um mestre de sua pilha de tecnologia. Outra responsabilidade de um desenvolvedor sênior é ser o substituto para desenvolvedores menos experientes.

Vou deixar você com uma citação de Martin Fowler: “Qualquer idiota pode escrever código que um computador possa entender. Bons programadores escrevem código que os humanos podem entender.