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 é:

  1. 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).

  2. 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 código, muito importante e polêmico. Não é necessário seguir tudo ao pé da letra, mas fica um excelente guia e uma boa discussão sobre melhores práticas.

Clean Architecture - Uncle Bob

Livro quase continuação do Clean Code (recomendo ler o clean code primeiro). Ele abstrai um pouco mais o conceito de SOLID, explica conceito de arquitetura limpa

Design Data-Intensive Application - Martin Kleppmann

Livro muito importante sobre técnicas utilizadas em aplicações críticas, um pouco mais “moderno” que os outros. leitura obrigatória para desenvolvedores backend em ambiente. (Apenas em inglês)

Software Architecture: The Hard Parts – Neal Ford

(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.

Spring in Action - Craig Walls

(Apenas em inglês)