Volta e meia me perguntam o que ler para crescer em tech. Minha resposta honesta é: leia bastante e não se apegue a uma única tecnologia. As ferramentas mudam a cada poucos anos, e estes livros continuam valendo. Estes nove livros são os que eu sempre revisito, e a maioria está numa estante física que eu consigo alcançar de verdade.
A estante
O Programador Pragmático, de Andrew Hunt e David Thomas. Os hábitos e as responsabilidades que separam quem escreve código de quem faz engenharia, mais uma filosofia de boas práticas (DRY, "don't repeat yourself", à frente de todas). Se for ler só um desta lista, leia este.
Testing JavaScript Applications, de Lucas da Costa. O título diz JavaScript, mas os conceitos são universais. Ele me ensinou a pensar em testes em qualquer linguagem.
Use a Cabeça! Python, de Paul Barry. Uma introdução leve e prática aos fundamentos e idiomas do Python. Ótimo para quem está começando e para quem chega de outra linguagem.
Head First Git, de Raju Gandhi. Vai além dos comandos até os conceitos por baixo do Git, para você entender por que ele se comporta como se comporta, e não só qual feitiço digitar.
Murach's MySQL, de Joel Murach. SQL avançado, design de banco e otimização de performance, explicados com clareza. O tipo de conhecimento de SQL que rende uma carreira inteira.
Designing with the Mind in Mind, de Jeff Johnson. Padrões de UX e UI baseados em como a cognição humana realmente funciona. Muda o jeito como você olha para qualquer interface.
Information Dashboard Design, de Stephen Few. Boas práticas para comunicar com clareza por meio de dashboards e visualizações. Indispensável se você um dia colocar números na frente de quem decide.
The Data Warehouse Toolkit, de Ralph Kimball e Margy Ross. Conceitos atemporais de engenharia de dados e modelagem dimensional. As ideias daqui sobrevivem a qualquer banco específico.
CSS: The Missing Manual, de David Sawyer McFarland. Os fundamentos e as possibilidades avançadas do CSS, a parte do front-end que todo mundo subestima até levar uma mordida.
Repare na variedade: ofício de programar, testes, uma linguagem, controle de versão, banco de dados, UX, visualização de dados, arquitetura de dados e estilização. As pessoas mais úteis com quem trabalhei transitam entre as camadas e enxergam como tudo se encaixa.
Publicado originalmente no LinkedIn. Leia o original