Desenvolvedores Júnior:
“Eu não tenho idéia de como resolver esse problema; nunca ficarei bom se apenas continuar pesquisando no Google a resposta”
Desenvolvedores seniores:
(46 guias abertas para o Google e StackOverflow por um problema)
– David K. 🎹 (@DavidKPiano) 29 de abril de 2020
Onde isso é importante, é perceber como isso afeta seu trabalho e o resto da equipe. Por exemplo, não ajuda ninguém se você agir como se soubesse de tudo e se comprometer com grandes quantidades de trabalho. Quando você se compromete com esse trabalho e, na verdade, não o entende, isso pode atrapalhar o seu sprint, o que pode frustrar toda a equipe (e o cliente).
Seja no planejamento ou durante o desenvolvimento, não tenha medo de pedir ajuda. Venha para o ar e jogue suas mãos para cima! Só porque você é o único desenvolvedor sênior, não significa que você não pode aprender algo com um membro da equipe Junior.
Tente dar uma boa olhada em onde você esteve, o que você entende e onde você pode se beneficiar para descobrir mais.
Liderança
Como membro sênior de uma equipe, eu esperaria que um desenvolvedor tivesse uma tendência natural de liderar. Embora isso não signifique que você tenha que ser um líder técnico de verdade em um projeto ou tomar alguma das decisões finais, isso significa que você deve ter um nível básico de capacidade de ajudar a impulsionar o projeto
Compreendendo a imagem maior
Se você trabalhou em projetos com membros da equipe, deve saber que cada projeto ou recurso geralmente vem com um monte de histórias para serem trabalhadas. Cada história deve ser uma peça focada que ajude a alcançar um objetivo maior.
Onde isso se torna desafiador é se ninguém na equipe entende como cada uma dessas histórias ajuda a alcançar esse objetivo maior. Como desenvolvedor sênior, você poderá ver como cada peça se encaixa no quebra-cabeça e por que a história é escrita com os critérios específicos de aceitação. E se você não souber, saberá como obter as respostas e garantir que elas sejam comunicadas à equipe.
Se você não tiver certeza da direção, tente dar um passo atrás. Tente ver onde ele se encaixa. Ajude a liderar a equipe do projeto para esse objetivo final.
Ajudando diretos membros menos experientes da equipe
Isso ocorre naturalmente na capacidade de ajudar a orientar aqueles em nossa equipe que são mais jovens ou menos experientes. É comum os desenvolvedores perderem o foco no cenário geral, mas, como acabamos de discutir, um desenvolvedor sênior deve ter uma boa ideia do projeto geral e de onde as histórias diferentes se encaixam no épico maior.
Ajude a orientar outras pessoas da sua equipe para colocá-las no caminho certo. Embora seja benéfico para todos entenderem como tudo se encaixa no quadro geral, às vezes faz mais sentido ajudar um indivíduo a se concentrar em como sua tarefa específica se encaixa.
Tente reconhecer essa luta ao trabalhar com outras pessoas, incentivando-as a fazer mais perguntas ou ajudando a orientá-las se elas não estiverem no caminho certo, enquanto você revisa o código delas.
Mentoria
Muitas vezes, é mais conveniente ficar de olho no seu trabalho e não ter que se preocupar com o que mais alguém está fazendo, mas isso realmente está beneficiando alguém?
Ajudando a formar outros membros da equipe
Você pode ser o chamado 10x developer, mas fazer tudo sozinho e não ajudar os outros só pode desacelerar a equipe em geral. Muitas vezes, você fica preso pegando as peças que poderia facilmente pegar se passasse um segundo extra emparelhando-se com outra pessoa da sua equipe.
Também é ruim para o moral. Ninguém quer se sentir sozinho em um projeto e ainda mais como um júnior. O software é um mundo grande e assustador; um pouco de orientação pode ajudar muito a outros a se tornarem mais produtivos e, posteriormente, incentivar um ambiente mais feliz e menos estressante.
É fácil esquecer que éramos todos membros de uma equipe júnior de uma só vez. Embora você possa considerar as coisas como certas, os conceitos podem ser realmente desafiadores para os outros entenderem.
Lembre-se de que estamos juntos nisso. Celebre as vitórias, grandes ou pequenas. Se alguém está lutando, procure ajuda.
Compartilhamento de conhecimento
Compartilhar conhecimento é algo com o qual muitas equipes lutam. Embora todos esperemos que haja uma maneira de realizá-lo, na maioria das vezes isso não é resolvido. Então o que nós podemos fazer?
Decida compartilhar o que você sabe. Você acabou de refazer a lógica de negócios principal? Ofereça 30 minutos para orientar todos pelo código. Emparelhe e compartilhe a tela com o revisor de código, se eles estiverem com dificuldades para entender.
Isso é algo que podemos incentivar todos a fazer. Você naturalmente aprenderá mais apresentando seu trabalho reforçando o que acabou de trabalhar. Isso é útil se você é um Sênior ou é a primeira vez que abre um editor de código.
Capacidade técnica
Eu queria intencionalmente deixar isso por último, pois, embora seja importante, há mais aspectos na jornada de se tornar um desenvolvedor sênior do que apenas ser realmente muito bom em alguma coisa.
Capacidade de se mover rapidamente
Como desenvolvedor sênior, eu esperaria que outro desenvolvedor sênior se tornasse produtivo em algo mais rápido que um desenvolvedor júnior. Se eles são especialistas em Javascript, esperamos que eles entendam os princípios e padrões principais da linguagem.
Mas voltando à idéia de reconhecer o que você não sabe, não é razoável esperar que todos os desenvolvedores seniores saibam tudo. Eu não consideraria um especialista em Ruby menos um desenvolvedor sênior porque eles não sabem Javascript, mas eu esperaria que eles entendessem como aplicar o que sabem ao criar e aprender outro idioma.
Promovendo padrões de software
Na maioria das vezes, o padrão de código que você acabou de criar não é novo. E tudo bem! O objetivo de criar um ótimo software não é necessariamente único em todas as soluções.
E por causa disso, podemos aprender com o trabalho passado, vendo o que foi bem-sucedido e o que talvez não tenha passado tão bem para encontrar padrões que funcionem para você e sua equipe.
Padrões como MVC (Model View Controller) não se tornou popular sem razão. Os desenvolvedores aprenderam com o passado e com seus colegas que resolveram grandes desafios de software. Com esse conhecimento, eles podem aplicar as soluções ao seu próprio trabalho. Não se trata de reinventar a roda, trata-se de resolver desafios e criar um bom produto.
Todos temos nossas próprias jornadas únicas pela frente
Não importa o que alguém diga, todos nós temos nossas próprias jornadas de código exclusivas. Isso visa encorajá-lo e inspirá-lo a se tornar um desenvolvedor geral melhor e entender como o seu trabalho afeta o resto da equipe.
Embora você possa ter sucesso sem levar essas coisas em consideração, pode estar perdendo as principais características que podem fazer as pessoas não quererem trabalhar com você da perspectiva do ser humano.
Qualquer que seja sua jornada, lembre-se dessas coisas à medida que se torna um desenvolvedor melhor!
O que você acha que faz um bom desenvolvedor sênior?
Você acha que eu estou no local ou a caminho? Compartilhe comigo no Twitter!