Claro… vamos iniciar nossa vida de aprendizagem contínua e infinita pensando em um cargo para viver. 😀
Se for pensar mesmo por onde iniciar, aprenda a escrever e entender como você prefere se expressar. Diria que é a habilidade que sempre vai estar com você, até seu último dia. Se você souber se expressar em seu idioma nativo, vai poder expressar em outros idiomas a partir das habilidades que desenvolver, quando fizer sentido.
Saber escrever pode apoiar em papéis como análise de negócios e na escrita de cenários de teste. O que diria ser uma parte muito relevante para poder escrever código. Escrever o necessário de código.
A escrita vai acompanhar na escrita técnica, apoio em documentações, estruturas de onboarding da equipe. Até na escrita da resolução de um defeito. A escrita vai puxar outra habilidade importante no desenvolvimento de software: a leitura de código.
Na minha origem eu tinha a prática de leitura de código como algo comum. Por restrição de falta de internet e computadores com alguma capacidade, não por oportunidade.
Na minha origem também tinha o hábito de criar coisas como parte da minha prática, repetir sistemas existentes. Um de farmácia, um jogo da velha, campo minado, um paintbrush, um notepad, uma tela de login para personalizar perfis do windows 3.11, um jogo de naves 2d, protetores de tela, e até uma biblioteca para apoiar na construção de código em pascal. Essa era a “wildt.pas”… ela era distribuída por disquetes e tinha um monte de funções de apoio para quem precisava programar em pascal.
Depois com o Delphi, passei a escrever tecnicamente para revistas, foi o que me motivou para voltar na prática de escrita.
E hoje em dia?
Hoje em dia não vejo como diferenciar “dev” e “test”. Se você é uma pessoa desenvolvedora, seria legal você saber sobre teste de software. Entender sobre estratégias para automatizar testes, de unidade, funcional. Vai aprender a “componentizar” o seu trabalho. Testes de contrato, desempenho… as estratégias são muitas.
Eu ia indicar “vai precisar saber”, mas é forte… você vai precisar se assim você entender ser importante, afinal tem gente e um monte de empresa que ainda em 2021 faz código sem teste e tem coragem de fazer deploy na sexta dizendo que faz parte de uma equipe corajosa. 😛
O trabalho da escrita vai aparecer em diversas formas. A escrita e a estrutura de escrita vai ajudar em outras práticas. Apoio técnico na processo de análise de negócio, remover riscos técnicos. Essa parte é bem importante saber unir experiência técnica com escrita. Ciclos de prototipação podem ser bem importantes para eliminar risco e buscar tipos de feedback do cliente.
O mesmo ocorre com quem testa sistemas. Vamos interagir para validar que o trabalho feito faz aquilo que é esperado por quem estiver fazendo o papel de cliente. Nestes ciclos de feedback, atuamos com diversas equipes e por vezes atuando com feedbacks de clientes. Aqui entram habilidades de comunicação, e no mínimo estaremos escrevendo. Talvez de forma não simultânea, com todas pessoas distribuídas e remotas. Dependendo da equipe que você atuar, também vai ter contato de voz, vídeo ou presencial. São habilidades que estão junto com o “fazer código”.
E nestes contatos entram oportunidades de atuar com entregas frequentes. Eu fui privilegiado pois meu primeiro trabalho fazendo código em um sistema comercial já envolvia entregas semanais.
Dependendo do tipo de projeto que se trabalha, e cada vez mais tem ocorrido isto, elas são realizadas de forma incremental. Ou seja, não se espera mais um projeto terminar 100% para se iniciar a implementação dele nos clientes. Muitas vezes depois de algumas semanas de trabalho, já se iniciam demonstrações e implementações de funcionalidades prontas nos clientes. Para usar de verdade. Isto acelera o retorno do investimento que está sendo feito no projeto / produto, permitindo o cliente começar a gerar resultados de um trabalho ainda em andamento.
Em resumo? O trabalho de quem atua com tecnologia é sempre habilitar a continuidade do trabalho, principalmente quando você não estiver mais lá fazendo o trabalho. Por isso a forma como você cuida de estrutura, de documentação, de distribuição de conhecimento vai ser importante.
— Daniel Wildt
Extra: acompanha o projeto mais.dev. É uma das formas como posso apoiar na sua jornada em tecnologia.
Extra: sobre escrita, Tim Ferriss entrevistando Jerry Seinfeld, sobre escrever.
Você pode apoiar a minha jornada de conteúdo através do projeto A Filosofia da Tranquilidade! Venha conhecer mais a minha iniciativa!