Existe um futuro além de escrever um ótimo código?

Publicados: 2022-03-10
Resumo rápido ↬ Muitos desenvolvedores chegam a um ponto em suas carreiras em que alcançaram muitos de seus objetivos e se perguntam sobre o futuro. Embora alguns estejam confiantes em continuar no mesmo caminho, outros podem sentir o desejo de explorar diferentes opções nas quais suas habilidades podem ser usadas para ter um impacto mais amplo nos projetos em que trabalhamos e nas equipes com as quais trabalhamos. Explorei algumas das diferentes direções que podemos tomar e as habilidades complementares que podem nos ajudar ao longo de nossa jornada.

Vamos fazer um exercício rápido. Digamos que você trabalha profissionalmente como desenvolvedor há mais de cinco anos. Você ganhou experiência prática por meio de dezenas de projetos e manteve seu conjunto de habilidades afiado aprendendo sobre novas técnicas, ferramentas e estruturas. Você contribui para diferentes bibliotecas, refatora rotineiramente o código que escreve e troca periodicamente revisões de código com seus colegas.

Mas então alguém aparece e faz aquela pergunta que você ainda não teve a chance de descobrir: onde você se vê daqui a dez anos?

Você pode estar preocupado com a ideia de que, se continuar no mesmo caminho, será simplesmente um desenvolvedor mais velho que codifica um pouco melhor e um pouco mais rápido. Alguns desenvolvedores estão felizes com esse pensamento e simplesmente mal podem esperar para continuar nesse caminho. Mas outros podem perceber que essa montanha-russa de lições e crescimento pela qual você passou está mudando rapidamente para o modo de controle de cruzeiro.

Uma vez que você sente que está no controle completo de seu papel como desenvolvedor, você começa a sentir vontade de fazer mais. Não mais do mesmo, mas mais crescimento pessoal. Talvez algo diferente.

Durante os últimos anos da minha carreira, tenho procurado respostas. Tive a chance de trabalhar com (e aprender com) muitos desenvolvedores de sucesso que conseguiram fazer a transição para funções altamente influentes nas quais eles aproveitam ao máximo sua formação técnica. Cada um deles explorou um caminho diferente no qual foram capazes de fazer uma transição orgânica, com base no equilíbrio entre suas competências centrais e suas competências complementares.

Mais depois do salto! Continue lendo abaixo ↓

Onde podemos ir a partir daqui?

Existem alguns novos caminhos que podemos explorar, que podem nos forçar a crescer além de nossas zonas de conforto e, ao mesmo tempo, nos beneficiar do conjunto de habilidades que trabalhamos tanto para cultivar.

Como desenvolvedores, a maioria dos artigos que lemos, os livros de programação e até mesmo os conselhos de nossos colegas são todos adaptados para nos ajudar a nos concentrar apenas em escrever código melhor. Fora isso, não somos realmente ensinados a trabalhar melhor ou, para colocar em uma perspectiva mais filosófica, a evoluir.

Normalmente, não temos ideia do que vem depois de atingir os objetivos que estabelecemos para nós mesmos quando começamos nossas carreiras ou se há algo que queremos fazer além de codificar oito horas por dia, pelo resto de nossas vidas. É comum até mesmo subestimar nossa possível contribuição para a equipe se estivéssemos fazendo algo além de escrever código em um futuro próximo. Não temos certeza de como podemos causar um impacto maior, embora nossa perspectiva e nossas habilidades sejam definitivamente necessárias em posições de maior influência.

Ouça a indústria

Em 2008, quando comecei minha carreira como desenvolvedor front-end, não havia uma pessoa no mundo que não tivesse ouvido falar de Mark Zuckerberg, o jovem programador que se tornou milionário ao mudar a forma como as pessoas se comunicam. Os millennials começaram a romantizar a ideia de enriquecer legalmente usando um moletom. De repente, quase todas as pessoas da minha geração queriam se tornar desenvolvedores.

Agora, mais de uma década depois, estamos começando a sentir o verdadeiro impacto desse boom de codificadores. Por meio da Pesquisa Stack Overflow deste ano, descobrimos que mais de dois terços dos entrevistados têm menos de dez anos de experiência profissional em codificação.

Podemos ver claramente que os desenvolvedores experientes com habilidades de liderança são escassos, então agora as empresas precisam encontrar maneiras criativas de contratar seus melhores talentos de forma que possam supervisionar mais desenvolvedores juniores e manter a qualidade do trabalho. Isso cria uma estrutura de liderança orgânica dentro de equipes em crescimento.

A indústria continua a crescer em ritmo acelerado, assim como nossas funções como desenvolvedores. Tornou-se mais comum encontrar diretores e gerentes que começaram como programadores, e as empresas agora estão abrindo mais posições de liderança que exigem formação em desenvolvimento.

É seguro dizer que, embora a programação tenha sido considerada o próximo trabalho de colarinho azul, o papel do desenvolvedor está crescendo em posições altamente influentes dentro das organizações. Mas não há roteiro escrito ou fórmula comprovada para nos guiar nessa transição.

Quais são algumas de nossas opções?

Chegou um ponto na minha carreira em que me fizeram a temida pergunta sobre o futuro que imagino para mim. Eu não tive resposta. Na verdade, isso desencadeou ainda mais perguntas que não passaram pela minha cabeça.

Eu já estava trabalhando como líder de frontend, então recebi cada vez mais responsabilidades além de escrever código, o que me fez pensar em um futuro possível no qual eu provavelmente não estaria programando. A possibilidade de ter mais impacto em diferentes projetos era definitivamente atraente.

Então comecei a pesquisar quais opções poderiam ser interessantes para o meu futuro. Olhei para o caminho que alguns colegas tomaram na transição com sucesso da função de desenvolvedores para cargos importantes dentro da empresa. A maioria dos casos consistia em dar pequenos passos e estar no lugar certo na hora certa. Mas, no geral, todos acabaram se envolvendo nesses três grupos principais de atividades:

  1. Gerenciamento de equipes e projetos
    Liderar um grupo de pessoas para a grandeza parece emocionante, mas não é fácil. Como desenvolvedores experientes, há muitas opções de crescimento que envolvem o gerenciamento de um grupo de colegas desenvolvedores como uma equipe ou o gerenciamento de projetos em equipes multidisciplinares. Embora seja uma opção altamente recompensadora, ela exige que você se afaste do teclado e aprenda a delegar, o que pode ser muito complicado para desenvolvedores acostumados a resolver pessoalmente todos os seus problemas.

    Passar para uma posição em que temos mais controle sobre o processo e a equipe envolvida provavelmente levará à necessidade de sacrificar o controle que estamos acostumados a ter quando se trata de código.
  2. Mentoria e desenvolvimento de talentos
    Quantos chefes fantasiaram em clonar seus principais desenvolvedores? No mundo real, ainda não é provável que isso aconteça, então chefes inteligentes fazem a próxima melhor coisa: eles configuram processos nos quais os programadores mais experientes podem passar ativamente seu conhecimento para seus pares.

    Devemos ter em mente que, embora alguns desenvolvedores façam isso naturalmente em seu dia-a-dia, é sempre mais eficaz se os desenvolvedores seniores receberem um papel mais formal no qual possam alocar rotineiramente seu tempo para trabalhar no crescimento de seus equipes. Isso pode ser feito com revisões de código, workshops e avaliações individuais com alguns colegas.
  3. Estar no negócio de tecnologia
    É muito comum ouvir desenvolvedores reclamarem sobre como os projetos foram lançados ou definidos quando foram vendidos aos clientes. E, na maioria dos casos, geralmente é tarde demais para reclamar.

    Na minha experiência, fiquei mais feliz trabalhando em projetos nos quais os desenvolvedores estiveram envolvidos durante a venda. É sempre bom ter um aliado lógico sinalizando possíveis problemas técnicos em uma sala onde ninguém mais tinha a menor ideia.

    Os papéis de consultores e diretores técnicos são cruciais em grandes projetos digitais. O envolvimento de desenvolvedores em workshops de clientes e a elaboração de documentação técnica no início de qualquer projeto pode ser um divisor de águas para o ciclo de vida de um projeto.

Trabalhando em um novo conjunto de ferramentas

Digamos que queremos continuar a crescer e embarcar em um futuro em que queremos fazer mais do que apenas escrever código. Uma vez que tenhamos uma ideia sobre para onde estamos indo, é muito provável que ainda não estejamos preparados para o salto. Afinal, estamos apenas focando em adquirir habilidades que nos tornam melhores desenvolvedores.

Uma vez que percebemos que temos muito a aprender, precisamos começar a trabalhar no conjunto certo de habilidades. Desta vez será diferente: não aprenderemos novas linguagens, frameworks ou bibliotecas. Vamos precisar estocar habilidades que podem não parecer importantes no passado, mas são cruciais para dar os próximos passos nesses territórios incertos.

Comunicação

Para quem tem um emprego em qualquer empresa, isso seria um acéfalo. A comunicação é conhecida por ser o núcleo da colaboração em qualquer tipo de organização. Infelizmente, os programadores receberam um passe livre nesta área por muitos anos. A necessidade de encontrar indivíduos lógicos, trabalhadores e apaixonados nos permitiu prosperar sem a necessidade de realmente ter ótimas habilidades de comunicação e até mesmo ser um grupo socialmente desajeitado.

Se temos aspirações de trabalhar com diferentes equipes e clientes, é muito claro que teremos que trabalhar para melhorar todos os aspectos de nossa comunicação. Reuniões individuais, apresentações e e-mails importantes precisarão ser cuidadosamente aprimorados a partir de agora.

Propriedade

Ter mentalidades lógicas teve impacto na maneira como organizamos nosso trabalho. Como desenvolvedores, geralmente temos uma noção em preto e branco de onde nosso trabalho começa e onde termina. Isso é positivo quando nos permite ter uma compreensão clara do trabalho que precisa ser feito por nós, mas às vezes nos impede de ultrapassar nossos limites e trabalhar fora de nossas zonas de conforto.

A primeira ordem de negócios é começar a tomar posse de todos os aspectos do trabalho em que estamos envolvidos. Ao borrar a linha que define onde o trabalho de um desenvolvedor termina, podemos assumir novas responsabilidades e, eventualmente, fazer a transição para diferentes funções.

Liderança

Para onde quer que estejamos indo em nossas carreiras, precisaremos que nossos companheiros de equipe confiem em nós. Precisamos que eles saibam que estamos indo na direção certa, mesmo que por um momento não esteja totalmente claro.

Para conseguir isso, precisaremos ser capazes de provar nosso conhecimento, precisaremos ter confiança em nossas decisões e definitivamente precisaremos ser capazes de reconhecer nossos erros e aprender rapidamente com eles.

Esta não é uma tarefa simples e não é algo que você poderá marcar em uma lista. Vai exigir nossa dedicação enquanto quisermos continuar crescendo fora da bolha de desenvolvimento.

Ir trabalhar

Uma vez que temos certeza de que queremos dar um salto em nossa carreira, temos que começar a nos mover na direção certa. O primeiro passo seria explorar as opções, decidir qual caminho você deseja seguir e ver como esse caminho se alinha com sua função atual.

Sua empresa oferece um espaço no qual você poderia ser um mentor ou um gestor? Você acha que há uma chance de fazer acontecer lá ou você acha que precisará continuar seu crescimento em outro lugar? Essas são apenas algumas das perguntas que você deve se fazer e também levarão a uma conversa com alguns de seus colegas de equipe e gerentes.

Dar um passo em uma nova direção exigirá trabalhar duro, ter uma mente aberta e ser resiliente o suficiente para falhar e tentar novamente, quantas vezes forem necessárias.