Eu gosto muito desta lista porque ela foi curada por alguns dos melhores programadores do mundo. Tem outros em respostas fora da principal que podem ser interessantes, principalmente em áreas diferentes como banco de dados.
Tudo em inglês, claro. É onde tem os melhores livros, sendo que as traduções nem sempre valem a pena. Eu não gosto de ser elitista, mas o mundo é um pouco, sem inglês mínimo para ler, todo mundo perde oportunidades na área.
Alguns não são bem para iniciantes. A maioria talvez não seja, mas livros para iniciantes não costumam ser tão bons, não sei se tem algum que seja indicável, que não seja só o gosto de uma pessoa.
Um dos problemas de livros de iniciantes é que a maioria das pessoas que podem fazer uma boa avaliação já não são mais iniciantes, e podem estar por fora. Os meus de iniciante eu não indico, são ultrapassados. Quem acabou de iniciar pode não ser capaz de fazer boa avaliação. Em toda lista, se tiver a participação de algumas pessoas, eu sempre vejo indicações boas, mas algumas sabidamente terríveis.
Um dos livros que mais me ajudaram foi um que mostrava toda arquitetura de um PC (na época era quase um único computador), mas não faz muito sentido hoje em dia. Mas algum de arquitetura e hardware deveria estar na lista do iniciante, junto ou logo depois de algum de algoritmo e de uma linguagem de programação e quem sabe de banco de dados. As pessoas hoje em dia não sabem como isso faz diferença para o programador, define muito a personalidade profissional da pessoa. O CODE fez um pouco isso também, mas não sei se ele vale tanto a pena hoje em dia, pelo menos para a maioria.
Talvez o mais perto da unanimidade seja o The Pragmatic Programmer. Eu nem acho ele tão bom quanto alguns acham, mas realmente é dos melhores que pode aproveitar.
Muita gente vai falar do Clean Code: A Handbook of Agile Software Craftsmanship, mas ele não é tão unânime assim, é em certos círculos. Eu o indico, mas assim como outros, mas especialmente ele eu indico para quem é capaz de ser questionador, nem tudo o que está lá é uma boa indicação para todo programador. Livros são ótimas fontes, mas não quer dizer que são perfeitos. Eles devem ser usados para formar a pessoa de forma única, não para a pessoa decorar e repetir o que está lá. Até IA costuma fazer uso mais criativo de textos assim.
Algumas pessoas ignoram o Code Complete, e acho que ele tem bastante defeitos mesmo, mas em algumas coisas ele acerta mais que o Clean Code. Acho que eles devem ser complementarem, até para, em alguns casos ter que se escolher se vai ouvir o Steve ou o Bob.
Tem livros que são bons, mas já foram mais. O famoso livro do dragão sobre compiladores é sensacional, mas compiladores modernos são feitos de uma outra maneira, seria bom eles criarem uma atualização, para mostrar o básico e o moderno.
Senti falta de vários livros lá, mas que podem ser úteis para algumas pessoas. Se tem um de compiladores por que não tem um sobre memória e garbage collector? Isso muda a visão do programador.
Alguns livros vendem uma técnica como algo nota 10, ele não consegue fazer adequadamente um contraponto do que ele está oferencendo ali, então epende do leitor saber achar as partes ruins, porque tudo tem, algumas tem tanta ruins que é melhor deixar para lá, mesmo que seja popular. As músicas mais populares são as piores já criadas.
A lista é falha, por exemplo, por que não tem Software Engineering do Ian Sommerville?
Quando colocam The Alchemist na lista não sei se é trolagem ou realmente pode ensinar algo para um programador.
Tem muitos livros menos técnicos que são muito bons e até mais úteis para formar a pessoa. Porque muito técnico é documentação. Eu não gosto de livros sobre ferramentas.
Um dia eu farei uma lista minha. Sim, para fazer algo responsável é extremamente trabalhoso.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).