Developer productivity for fun and profit - Parte 1
Seja em cenários de crescimento acelerado ou mesmo no infeliz momento de layoffs que estamos passando, horas de desenvolvimento são um dos recursos mais caros e valiosos para as empresas. Desta forma, a produtividade e eficiência tornam-se diferenciais importantes para profissionais e times.
Mas qual é a diferença entre produtividade e eficiência? Gostei bastante da definição que encontrei neste post:
Enquanto a produtividade visa mais resultados com o mesmo esforço, a eficiência visa menos esforço, mantendo o mesmo resultado.
Nesta série de posts vou apresentar formas como Devs e empresas podem melhorar a sua produtividade e eficiência em tarefas e projetos, garantindo seus empregos, lucros e satisfação no trabalho.
Vou começar com a parte 1, falando o que a pessoa desenvolvedora pode fazer para melhorar sua produtividade e eficiência.
A parte 2, sobre o que o time e a empresa podem fazer vai ser assunto de outro post.
ATUALIZAÇÃO: publiquei a segunda parte da série: Developer productivity for fun and profit - Parte 2
Antes de tudo, esse conteúdo é fruto de minhas experiências como desenvolvedor, líder técnico e tech manager, assim como resultado de leituras no decorrer dos anos.
E você não vai falar nada sobre como medir a produtividade???
Realmente, um dos assuntos que sempre nos vem na mente quando falamos sobre isso é “e como vamos medir se estamos melhorando?”. Esse é um assunto complexo e vou deixar de fora destes posts, mas recomendo muito a leitura de dois materiais importante sobre isso:
Dito isso, vamos aos tópicos.
Domine suas ferramentas
Sou muito fã da cultura e mitologia nórdicas, e alguns anos atrás encontrei um texto que gosto muito de citar de tempos em tempos. Trata-se das leis Vikings e uma delas se encaixa perfeitamente neste contexto. É a “Mantenha suas armas em boas condições”, e ela se refere ao fato de que um guerreiro viking poderia entrar em combate a qualquer momento, então ter suas armas sempre em boas condições poderia ser uma diferença de vida ou morte.
Menos dramático no nosso dia a dia, as ferramentas (armas) que usamos podem ser cruciais para aumentar nossa produtividade. Dedique tempo para estudar a linguagem que você usa, a IDE, o seu sistema operacional. Crie e faça uso de atalhos, crie snippets de código, faça scripts para tarefas repetitivas como build da aplicação. Aprenda a usar o Terminal do sistema operacional, bem como criar scripts em shell ou usando ferramentas como o make.
Quanto a automação de tarefas, gosto de usar como referência este post, de um amigo meu. Quando eu preciso executar uma tarefa a primeira vez, eu faço ela o mais rápido possível, geralmente de forma manual. Se a mesma tarefa aparecer uma segunda vez eu ainda executo manualmente, mas começo a dedicar mais atenção a ela, pois deixou de ser uma exceção e passa a se tornar uma coincidência. Se ela aparecer novamente ela se torna uma tendência, e neste momento eu crio um script para não precisar realizar o processo manualmente daí em diante. Com isso evito de automatizar coisas desnecessariamente.
Documente
Se tem uma coisa que eu aprendi com o passar dos anos é que o cérebro humano é feito para criar coisas e não guardá-las para sempre. Pelo menos o meu cérebro é assim :) Parei de confiar na minha memória e passei a anotar tudo que eu aprendo e faço. Com isso minha cabeça fica mais livre para criar coisas novas.
Eu sugiro que você crie um registro dos seus aprendizados. Este meu site surgiu para esse fim, e venho fazendo isso nos últimos 20 anos. Mas você não precisa fazer isso em público, pode anotar em um documento de texto, em um Google Docs ou Notion. O importante é que seja algo fácil de você encontrar quando precisar. Eu tenho várias anotações armazenadas, de coisas que uso no dia a dia:
Aliás, para adicionar estas imagens no texto eu procurei na minha anotação como fazer, pois não lembrava qual era o diretório correto para salvá-las ;)
Outra coisa que eu tenho feito e tem me ajudado bastante é, ao ler um post complexo ou livro, fazer anotações em um documento. Pontos importantes do texto, anotações, etc. Isso tem me ajudado a absorver melhor o conhecimento e ajuda a encontrar a informação quando eu preciso:
E um último item que eu posso incluir nessa categoria é o Brag Document, mas eu já dediquei um post inteiro sobre ele. Recomendo a leitura devido a sua importância.
Simplifique
A complexidade é um dos maiores males da tecnologia e é algo que geralmente está sob nosso controle, pelo menos parcialmente. Falei bastante sobre isso em outro post.
Com certeza eu não consegui esgotar esse assunto, e nem acredito ser possível fazer isso em alguns posts, mas espero que estes tópicos façam sentido para você como tem feito para a minha experiência. E estou aberto para discutirmos mais sugestões nas redes sociais, e talvez adicionar novos posts a essa série com dicas de outras pessoas.