Livros
Um dos principais desafios dos programadores e profissionais de tecnologia em geral é se manter atualizado. Porém, há um grande paradoxo: ao mesmo tempo que em a tecnologia avança, novas linguagens surgem, frameworks avançam, vendors criam novas soluções - os fundamentos costumam ser exatamente os mesmo.
Um dos principais motivos de montar esse post é:
-
Em um dos livros do Uncle Bob, se não me engano no Clean Architecture, ele comenta que a maior parte dos conceitos de engenharia de software ainda são os mesmos da década de 60-70 (quando ele explica sobre como OOP funciona e como os conceitos de ponteiros são a base do polimorfismo).
-
Vi recentemente uma entrevista do Nubank com Rich Hickey, criador do Clojure, que ele sugere que os programadores estudem os fundamentos, pois as tecnologias mudam, mas os fundamentos se mantém intactos.
Inspirado nesses e em outros pontos, eu tenho lido e relido livros importantes para aprender e recaptular esses conceitos, e compartilho a lista de livros importante para mim neste compilado abaixo:
a lista abaixo é não exaustiva, podendo sofrer alterações ao longo do caminho
Domínio Técnico
Clean Code - Uncle Bob
Livro clássico sobre melhores práticas de desenvolvimento, famoso por introduzir o conceito SOLID. Na minha opinião, todos os desenvolvedores deveriam ler esse livro, porém a versão em português tem muitos erros de tradução e usa exemplos ainda no Java 5.
Clean Architecture - Uncle Bob
Livro que considero continuação do Clean Code. Introduz a Arquitetura Limpa como método de separação em camada e fala sobre técnicas de redução de acoplamento, como inversão de dependências e injecão de dependências. Gosto bastante do livro, apesar do Uncle Bob ser muito prolixo.
Design Data-Intensive Application - Martin Kleppmann
Um dos melhores livros atuais de engenharias de software. Leitura obrigatória para desenvolvedores. (Apenas em inglês)
DS&A
Estruturas de Dados e Seus Algoritmos - Jayme Szwarcfiter & Lilian Markenzon
Apesar de terem diversos outros livros clássicos de DS&A, esse livro particularmente tem um valor afetivo por ter sido o livro que eu comprei na faculdade para estudar. A segunda edição tem alguns pequenos erros no começo de edição, mas é ainda sim um livro muito bom e mais leve que os outros.
Java
Head First Java - Kathy Sierra & Bert Bates
Esse livro é um clássico dos desenvolvedores Java, foi um dos primeiros livros que eu li quando comecei minha carreira. Passou de um livro excelente para um livro extremamente desatualizado, mas a nova edição de 2022 cobre até o Java 17. Vale a leitura caso seja iniciante em Java ou queira se atualizar.