Recomendaçōes de Livros
Livros recomendados pelos participantes das comunidades DevAraraquara / OpenSanca
Categorias
You must read before you call yourself a developer
Agile Software Development
Comprar
- Comentários:
- Cansado de não saber o porquê você tem que estar sempre comunicativo e próximo do coleguinha em ambientes ágeis? Leia este livro.
Art of Computer Programming, The
Comprar
- Comentários:
- Se programação pudesse ser escrita pelo Tolkien, TAOCP seria a saga LOTR.
Beautiful Code
Comprar
- Comentários:
- Quer saber o que difere você, mero programador mortal, daquele cara genial que parece que programa a base de LSD? Este livro é para você.
Code Complete 2
Comprar
- Comentários:
- Desenvolvimento de software analisado por todos os aspectos possíveis: econômicos, sociais, antropológicos. Se você ainda acha que espancar o teclado até sair algum código que funcione é desenvolver software, você está muito errado.
Discipline of Programming, A
Comprar
Extreme Programming Explained
Comprar
- Comentários:
- ver comentário sobre o Agile Software Development.
Hackers & Painters
Comprar
Introduction to Algorithms
Comprar
- Comentários:
- Depois de ler este livro, você vai ser capaz de explicar para seus amigos numa conversa de bar porque usar
java.util.TreeMap
é mais eficiente do que usar java.util.HashMap
para armazenar Strings como chaves.
Mythical Man-Month, The
Comprar
- Comentários:
- Vacina contra todo gerente de projetos incompetente ou mal-intencionado que você vai enfrentar ao longo da sua carreira.
Pragmatic Programmer, The
Comprar
- Comentários:
- O glossário das boas práticas de programação das quais todos falam, mas ninguém pratica de verdade.
- Um texto mais voltado a iniciantes. Nesse livro pode-se encontrar as práticas que sempre são ignoradas como usar controle de versão para tudo, preferir formatos de texto puro e dominar um ambiente de linha de comando. Além disso há discussões sobre como organizar equipes, sobre linguagens específicas de domínio e o mundialmente famoso princípio DRY (Don't Repeat Yourself).
Structure and Interpretation of Computer Programs
Comprar
So you wannt be an archictect, huh?
- Quando a gente aprende uma linguagem (Java, Ruby, JS...), é como se nós adquirissimos alguns blocos de conhecimento para que possamos expressar alguma coisa. Arquitetura é como escrever um livro: você utiliza esses blocos e outros (conhecimentos sobre redes, SO, VMs, frameworks, etc...) para contar uma história completa (começo, meio e fim) e coerente, que faça sentido no contexto em que você está inserido. Com isso em mente, os livros abaixo fornecem a você o repertório necessário para começar a trabalhar com arquitetura de software.
Design Patterns: Elements of Reusable Object-Oriented Software
Comprar
- Comentários:
- Mais clássico do que feijão com arroz (ou macarrão e queijo).
Clean Code: A Handbook of Agile Software Craftsmanship
Comprar
Domain-Driven Design: Tackling Complexity in the Heart of Software
Comprar
Refactoring: Improving the Design of Existing Code (2nd Edition)
Comprar
Refactoring to Patterns
Comprar
Working Effectively with Legacy Code
Comprar
Patterns of Enterprise Application Architecture
Comprar
Test Driven Development: By Example
Comprar
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise
Comprar
Site Reliability Engineering: How Google Runs Production Systems
Comprar
Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services
Comprar
Architecting for Scale: High Availability for Your Growing Applications
Comprar
Carreira & Empreendedorismo
Lean Startup, The
Comprar
- Comentários:
- Basicamente pré requisito para qualquer um que queira se aventurar como empreendedor ou até mesmo pretende trabalhar e ser um "key member" em qualquer startup.
Passionate Programmer, The
Comprar
Comprar (português)
- Comentários:
- "Dicas" e exchange de conhecimento que se aplicam a maioria dos programadores não tão juniores. Conceitos como "Seja o pior" do seu time, faz todo o sentido depois de alguns anos de experiencia. Capítulos com "histórias" isoladas e que não necessariamente necessitam de uma ordem para serem entendidos. Voce pode simplesmentes abrir o livro e ler qualquer capítulo. Recomendo!!!
Soft Skills
Comprar (em inglês)
-
Comentários:
- Em Soft Skills: The software developer's life manual, John Sonmez aborda uma ampla variedade de assuntos importantes na vida de um desenvolvedor, da carreira e da produtividade passando por finanças pessoais e investimentos, e até mesmo sobre saúde e relacionamentos, tudo a partir do ponto de vista de um desenvolvedor de software.
The Software Craftsman: Professionalism, Pragmatism, Pride
Comprar (em inglês)
- Comentários:
- Se você quer desenvolver software com orgulho e profissionalismo; ama o que faz e faz isso com excelência; e quer construir uma carreira com autonomia, domínio e propósito, tudo começa com o reconhecimento de que você é um artesão. Uma vez que você abraçar essa mentalidade poderosa, você pode alcançar níveis sem precedentes de excelência técnica e satisfação do cliente.
Computaçāo Distribuída
Distributed Algorithms
Comprar
- Comentários:
- Uma abordagem simples porem mais a fundo de algoritmos para sistemas distribuidos.
Principles of Distributed Computing
Ler Online
- Comentários:
- Livro de sistemas distribuidos para "dummies". Aborda um conceito considerado por muitos difícil e complicado de uma maneira simples e efetiva. Vale a leitura!
Conceitos de Software Design
Growing Object-Oriented Software Guided by Tests
Comprar
- Comentários:
- Um livro que deve estar presente com todos desenvolvedores que prezam por qualidade de software. Um livro com ótimos conselhos e exemplos de como e por que devemos escrever um código limpo e como evitar os "maus cheiros" de nosso código.
Growing Object-Oriented Software, Guided by Tests
Comprar
- Comentários:
- Um livro sobre TDD (Test-Driven Development), mostrando a importância de se criar os testes antes mesmo de se iniciar o desenvolvimento. O livro mostra um processo para criação de softwares escaláveis e coesos bem como algumas ferramentas que podem ajudar nesse processo.
Introdução à Arquitetura e Design de Software
Comprar
- Comentários:
- Entenda como funciona a JVM, JIT, bytecode, reflection e dynamic proxy, aprenda sobre algoritmos de gargage collector e seu funcionamento. Enfim, conceitos que indenpendente da linguagem todo dev que queira "entender" o próximo nível e o "why" das coisas deveria ler. Fácil leitura e muito dinâmica.
Head First Design Patterns
Comprar (em inglês)
Comprar (em português)
- Comentários:
- Usando uma abordagem descontraída e divertida o livro se preocupa em ensinar:
- Quais são os padrões que realmente importam;
- Quando e por que devem ser usados;
- Como aplicá-los em seus próprios projetos;
- Quando não usá-los (como evitar a febre dos padrões);
- Quais são os princípios de design da programação orientada a objetos em que os padrões se baseiam.
Programação Nível Básico
Golang
An Introduction to Programming in GO
Baixar (em inglês)
- Comentários:
- An Introduction to Programming in GO é um livro para iniciantes da linguagem GO, linguagem criada pela Google com um alto crescimento nos últimos anos.
Java
Java 8 Prático - Lambdas, Streams e os novos recursos da linguagem
Comprar
- Comentários:
- Se voce é como eu, um lazy developer, esse livro pode te ajudar a entender e acompanhar as maiores mudanças da linguagem nesta versão. Basicamente é um compilado no modelo "show me the code" do que é possível fazer com os novos recursos da linguagem. Apenas 150 páginas com excelentes exemplos no estilo "antes e depois"
Rails
Rails Tutorial
Comprar (em inglês)
Ler de graça online (em inglês)
- Comentários:
- Um livro muito bom para quem deseja iniciar seu aprendizado no mundo do Rails. Tem o conceito de "From zero to deploy", ensinando desde criar uma web app com testes automatizados, utilizar git para controle de versāo, até o deploy no Heroku.
Ruby
Why's (Poignant) Guide to Ruby
Baixar (em inglês)
Baixar (em português)
- Comentários:
- Why's (Poignant) Guide to Ruby é um livro para iniciantes em Ruby que surpreende a cada página, seja pela quantidade exorbitante de histórias, bacon ou quadrinhos de raposa.
Programação Nível Intermediário
Seven Languages in Seven Weeks
Comprar (em inglês)
- Comentários:
- O livro passa por sete linguagens de programação, Ruby, Io, Prolog, Scala, Erlang, Clojure e Haskell. Cada capítulo representa uma linguagem e um problema não trivial é resolvido usando técnicas bem específicas da linguagem de programação em questão.
Orientação a Objetos e SOLID para Ninjas
Comprar em português
- Comentário
- O livro aborda a construção e design de classes baseado nos Princípios SOLID.
- Single Responsability Principle
- Open / Close Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
Programação Nível Avançado
Effective Java
Comprar (em inglês)
- Comentários:
- Excelente livro que explora assuntos chaves como Multithreading, Serialization e Design Patterns. Conhecimento útil para qualquer linguagem que rode sobre a JVM.
Clojure for the Brave and True
Comprar
Ler online (grátis)
- Comentários:
- Um livro que passa do básico ao avançado na programação funcional. Esse livro é uma leitura obrigatória não somente para quem quer aprender a programar em Clojure, mas para quem quer entender melhor o paradigma funcional.
Cloud Computing
Amazon Web Services in Action
Comprar
- Comentários:
- Um livro que faz um bom overview dos principais serviços da AWS, boas práticas, alta-disponibilidade,etc.
Segurança
Java-web
Iron-Clad Java: Building Secure Web Applications
Comprar (em inglês)
- Comentários:
- Excelente livro para quem está começando a pensar em desenvolvimento seguro para web utilizando java, aborda os principais tópicos listados pela OWASP, explica alguns tipos de ataques e como desenvolver de maneira defensiva.
Contribuir
Abra um issue com sugestões ou envie um pull request. Lembre-se de sempre colocar um comentário sobre o livro.
Compartilhe