Notas sobre "O Programador Apaixonado"

Volta e meia acho legal ler algum livro que seja mais sobre o lado não muito falado de ser um programador, a carreira. É bom ler livros técnicos também mas sinto que muitas vezes ou estes ficam datados ou possuem um preço abusivo, mesmo em versões traduzidas.

Dito isso, tendo terminado de ler “O Programador Apaixonado” posso dizer que fiquei com sentimentos mistos com o conteúdo do livro. Concordo com muita coisa do que ele diz e discordo de muita coisa do que ele diz.

O principal formato do livro é que ele faz uma amálgama de histórias pessoais/profissionais do autor enquanto reflete e dá alguns conselhos para como se tornar um “programador melhor”. Cada capítulo é uma história e um conselho acionável. Muito de todo o conteúdo desses conselhos são algumas visões mais mercadológicas e muito do repeteco que a gente vê mais bem dissertado em outros livros, artigos de blog e discussões em subreddits ou Hacker News.

Apesar de discordar da maior parte da visão desse livro, consegui tirar alguns conselhos bons e acho que vale a pena citar alguns levemente modificados aqui. Lá vai:

  • Conselho 1: Fazer uma lista das linguagens de programação que você sabe/tem interesse/já ouviu falar. Organizar da esquerda pra direita da mais antiga (Assembly, COBOL, C, etc) pras mais novas (Elixir, Rust, TypeScript, etc). Em cada uma delas, enumerar de 0 a 5 (ou na escala que quiser) o nível da sua proficiência nela.

  • Conselho 2: Pesquisar tecnologias de maiores ofertas de empregos e tecnologias de menores ofertas de empregos. Aqui a dica é mais mercadológica mas acho que vale a pena mencionar por causa da empregabilidade. Esse fator costuma ser bem alto na área de programação mas sempre é bom dar uma olhada no que você tá afim de aprender ou de gastar os próximos anos aprendendo. Se for olhar somente por hobby, dá pra desconsiderar esse conselho, ou adaptar pra uma questão de acessibilidade, p. ex., tamanho das comunidades.

  • Conselho 3: Ser o “pior” em alguma coisa, se envolver em um projeto e aprender com os mais experientes. Encare pior como se você fosse um iniciante na tal coisa e não como comparação. Afinal outra dica seria evite se comparar com outros profissionais mas aí entra em outro assunto…

  • Conselho 4: Ensinar ou mentorar. Invertendo aquela frase infâmia: “quem ensina, sabe fazer”. Além de adquirir outras habilidades de passar o conhecimento, é uma ótima forma pra consolidar o que você já sabe, revisar o que não sabe. E é gratificante poder ver que outra pessoa aprendeu o que você acabou de ensinar (pelo menos eu acho ahaha).

  • Conselho 5: Ler códigos já existentes, escrever críticas construtivas (em formas de notas ou comentários num repositório), pontos positivos e pontos negativos. É sempre bom, caso esteja aprendendo algo novo, ler outros códigos pra aprender bem os padrões seguidos pela comunidade e outras boas práticas.

  • Conselho 7: Pensar, durante uns 15 minutos do seu tempo, quais são as coisas que desperdiçam o seu tempo no dia a dia e que dá pra ser resolvido. Na próxima semana, pense em como resolver esses problemas, p. ex., pode ser um pedaço de código que tá dando problemas intermitentes.

  • Conselho 6: Escrever um script para automatizar as tarefas que você executa com mais frequência. Essa é mais pra deixar de lado aquelas tarefas repetitivas, tipo conectar direto na VPN, subir ambiente local de desenvolvimento, etc.

  • Conselho 8: Em manutenção de sistemas legados, faça métricas. Tanto faz o tipo de métricas, mas algumas importantes são: performance, usabilidade, exceções, uptime, etc. Trace um plano para melhorar a métrica, meça de novo. Aí já caindo na visão mais mercadológica, seria uma boa hora mostrar as métricas para os seus colegas de trabalho, seu time de desenvolvimento ou seus supervisores.

  • Conselho 9: Escolher uma biblioteca open source, rodar os testes unitários e tentar cobrir. Se necessário, o que provavelmente é, refatore. Infelizmente não é sempre que todos conseguem seguir TDD “by-the-book” então vai ser bem fácil achar alguma biblioteca com esse “defeito”.

  • Conselho 10: Começar um blog, escrever coisas interessantes sobre seu aprendizado, sobre suas reflexões de carreira, etc. Tô experimentando esse ainda, volte mais tarde que eu te digo se deu certo.

Bom, essas foram as notas que eu consegui tirar do livro. Acho que essas são as top 10 (juro que foi acidental o número redondo) dicas que o livro tem de melhor a oferecer. No total tem uns 50~60 capítulos. Fica aí a reflexão.