Livros

Nesta página colocarei livros que já li, estou lendo ou pretendo ler no futuro. Definitivamente esta lista vai ficar enorme, mas espero que possa contribuir com boas dicas de livros para a área de software. Inicialmente esta página vai ter os livros sem nenhuma ordem particular. Depois que tudo estiver aqui eu vou modificando aos poucos. Comentários e outras dicas de livros são bem-vindos!

Livros que já li (pelo menos boa parte):

Agile and Iterative Software DevelopmentAgile & Iterative Development: este livro me foi muito útil, pois me apresentou as principais metodologias de desenvolvimento de software de uma forma comparativa. Isto ajuda bastante no conhecimento das práticas do Scrum, XP, Evo e UP. A adoção de metodologias ágeis nas empresas está cada vez maior, e este livro traz uma ótima visão das idéias por trás das práticas.

Agile software developmentAgile Software Development: se você quer saber o que significa na prática o desenvolvimento de software com metodologias ágeis, este é o seu livro. Excepcional.

Design patternsDesign Patterns: o clássico livro de padrões de projeto de Erich Gamma et al. Meu livro preferido do assunto é o PEAA do Martin Fowler, mas esse também é muito bom.

Domain driven design quicklyDomain Driven Design Quickly

Effective enterprise JavaEffective Enterprise Java: este livro traz muitas dicas interessantes para o desenvolvimento de aplicações corporativas com Java. Muitas considerações interessantes sobre arquitetura de aplicações Java. Altamente recomendado.

Head first servlets and JSPsHead First Servlets& JSP: eu utilizei este livro quando estava me preparando para tirar a certificação SCWCD. A leitura dele é bem leve e ele cobre uma boa quantidade de assuntos de forma interessante. A tradução e diagramação da versão em português não são muito boas, mas o conteúdo original é ótimo.

Linux network admin guide Linux Network Administrator’s Guide: eu conheci este livro quando estava começando a usar Linux em casa, ainda na faculdade. Nessa época eu queria fuçar tudo, configurar um monte de serviços e escovar bits. Esse livro me ensinou muita coisa sobre os serviços de rede Linux e é uma ótima referência no assunto.

J2EE Web servicesJ2EE Web Services: eu conheci este livro quando comecei a trabalhar com web services. Alguns frameworks te permitem desenvolver rapidamente web services tanto na parte cliente como no servidor. Entretanto, eles escondem bastante os detalhes do que está por trás (o que não deixa de ser positivo). Este livro me ajudou muito a conhecer as tecnologias e padrões dos web services WS-I. Atualmente eu prefiro utilizar web services REST na maioria dos casos, mas conhecer os web services WS-* é muito positivo para entendermos melhor o domínio do problema. Este é o melhor livro no assunto.

Modern operating systemsModern Operating Systems: utilizei este livro na faculdade, e gostei bastante dele. O livro apresenta de forma didática alguns conceitos bem complexos de sistemas operacionais e dá uma ótima base sobre o funcionamento dos mesmos. Isso me ajudou bastante quando fui trabalhar com detalhes mais complicados de concorrência por exemplo. É um livro acadêmico, mas muito valioso.

Patterns of enterprise application architecturePatterns of Enterprise Application Architecture: este é para mim o melhor livro sobre padrões de projeto. A exposição dos padrões é feita de forma muito didática, e o livro me ajudou muito a escolher soluções boas para problemas comuns. Recomendo fortemente para qualquer um que tenha interesse no assunto.

PL/SQL pocket reference PL/SQL Pocket Reference: antes de eu entrar para a Concrete eu trabalhei em um projeto cheio de integrações via PL/SQL. Eu trabalhava em uma aplicação para PDAs que se integrava com o Siebel (CRM) e o JDEdwards (ERP) através de Stored Procedures e Triggers do Oracle. Este livro foi sempre uma ótima referência, onde eu rapidamente esclarecia minhas dúvidas no desenvolvimento PL/SQL. De uma maneira geral eu procuro evitar o uso de Stored Procedures e Triggers, mas em algumas situações específicas eles são úteis. Este livro será seu melhor amigo caso você precise trabalhar com isso.

Pragmatic programmerPragmatic Programmer: este livro traz inúmeras “pílulas de senioridade” aos leitores. Se todas as pessoas que começassem a trabalhar com software conhecessem estes conceitos e os aplicassem, o nível médio de qualidade de software seria bem mais alto, e não teríamos júniores, apenas plenos e sêniores🙂

Pragmatic version control with CVSPragmatic Version Control Using CVS: Este livro traz muitas idéias interessantes para uso em sistemas de controle de versão em geral. Eu não recomendo mais o uso de CVS, pois já existem algumas alternativas mais interessantes. Mas este livro é uma boa leitura e apresenta alguns problemas comuns no trabalho concorrente de uma equipe, e como solucioná-los.

Pragmatic version control with SVNPragmatic Version Control using Subversion: eu li este livro quando estava começando a utilizar o Subversion, e ele foi útil para me apresentar as principais diferenças entre o CVS e o Subversion, e detalhes nos quais eu deveria prestar atenção.

Computer networksRedes de computadores: na faculdade eu cursei 4 cadeiras na área de redes de computadores, e gostava bastante do assunto. Este livro do Tanenbaun me ajudou bastante a conhecer os diversos protocolos de rede e ter uma boa idéia geral de como as coisas funcionam. Embora eu nunca tenha trabalhado diretamente com rede, conhecer estes conceitos é útil para qualquer profissional de TI.

SCJP - Kathy Sierra SCJP Guide – Kathy Sierra: este livro é a melhor referência na preparação para a certificação de programador Java (SCJP). Esta prova cobre com muitos detalhes o desenvolvimento Java, e após tirar a certificação eu definitivamente me considerava melhor preparado para trabalhar com a linguagem. Este livro ainda me é uma ótima referência para assuntos específicos, e me foi muito útil para conhecer os principais detalhes do Java 5, que demorei bastante para poder utilizar no trabalho.

Scrum and XP from the Trenches Scrum and XP from the Trenches: depois de ler o Agile and Iterative Development, eu tinha gostado bastante das idéias do Scrum, mas ainda tinha vários questionamentos de como isso seria utilizado na prática. Este livro relata a experiência de um gerente sueco após adotar Scrum em vários times por mais de um ano. O livro relata como eles aplicam as idéias do Scrum e responde a vários questionamentos que surgem ao aplicar esta metodologia. Ótima leitura.

Servlets and JSPs Servlets and JavaServer Pages: Este livro é o melhor que já li sobre as tecnologias principais envolvidas no desenvolvimento de aplicações web Java. Se você quiser conhecer bem Servlets, JSPs, taglibs, ciclo de vida dos componentes web, funcionamento dos containers, segurança e outros tópicos envolvidos no desenvolvimento web Java, este livro é o melhor que você pode ler. Ele está disponível gratuitamente para download no The Server Side, e foi minha principal fonte de estudo para tirar a certificação SCWCD.

Software Engineering - Roger PressmanSoftware Engineering

Struts in ActionStruts in Action

Getting started with Grails Getting started with Grails

Livros que já li um pedaço, mas ainda preciso ler mais:

Domain driven designDomain Driven Design

Enterprise integration patternsEnterprise Integration Patterns

Livros que estou lendo (em ritmos variados):

Enterprise Java Beans 5th edition - EJB 3.0Enterprise JavaBeans 3.0

Java persistence with HibernateJava Persistence with Hibernate

RESTFul web servicesRESTFul Web Services

Wicket in ActionWicket in Action

Livros que quero ler quando tiver tempo:

Modeling software with finite state machines Modeling software with finite state machines

Writing effective use casesWriting Effective Use Cases

JRuby on RailsJRuby on Rails

8 respostas para Livros

  1. Luca Bastos disse:

    Bela lista, porém…

    Sugiro retirar da lista e se tem em casa, entregar para reciclagem os seguintes títulos:
    – J2EE Web servicesJ2EE Web Services —> Completamente obsoleto, até o autor o renega.

    – Pragmatic Version Control Using CVS —> que tal experimentar o GIT?

    – Modern Operating Systems —> Modern? É um clássico mas é tão velhinho…

    – Struts in Action —> este livro sempre foi ruim, inclusive no original mas se estou bem lembrado, tinha um trecho que explicava bem MVC

    Sugiro que diga quais já leu, quais está lendo e quais sonha ler. Se eu fosse indicar um livro rápido de ler e bem interessante, indicaria Agile Project Manament with SCRUM (não é o de capa preta e é só de autoria do Ken)

  2. blpsilva disse:

    Oi Luca, sobre os que você mencionou:

    – J2EE Web Services: concordo que as coisas que estão nele são obsoletas, mas ele é excelente para explicar as coisas do WS-*. Embora eu prefira usar REST na maioria dos casos, considero válido conhecer WS-* para saber as idéias positivas e negativas de cada abordagem. Conhecendo os erros do WS-* podemos começar de um bom ponto de partida para tomar decisões de integração.

    – Pragmatic Version Control using CVS: é claro que CVS já é bem velhinho e estão surgindo coisas melhores. O que acho positivo desse livro são as dicas gerais de controle de versão, que se aplicam a praticamente qualquer serviço que você utilize. As coisas específicas do CVS certamente já estão defasadas, mas este livro foi mto bom no seu tempo🙂

    – Modern Operating Systems: sem dúvida muito velho, mas não conheço outro que explique tão bem o funcionamento de sistemas operacionais. E algumas coisas dele ainda são bem atuais. Recentemente estávamos discutindo uma forma de controle de concorrência que estamos utilizando em um projeto e acabou rolando um papo produtivo sobre “Barbeiro dorminhoco” e “Filósofos jantando”. O livro é um tanto acadêmico, mas acho bom para complementar a base de conhecimentos das pessoas.

    – Struts in Action: este eu não li de cabo a rabo. Na verdade de Struts eu nunca peguei um livro inteiro pra ler, peguei apenas pontos específicos. Este livro possui alguns bons capítulos, e especialmente a parte de Tiles me foi muito útil quando tive que usá-lo. Mas provavelmente hj em dia pouca gente ainda vai ler livros de Struts🙂

    Depois vou tentar dar uma olhada nesse de Scrum que você falou. Eu já estou usando Scrum no trabalho, mas não tem tanto tempo, e algumas coisas ainda não estão “no sangue”. Obrigado pela dica😉

  3. Diogo Santos disse:

    Fala Bruno.

    Eu estou atrás do Wicket In Action há um tempinho, mas sempre que entro na Amazon, vejo a mesma mensagem “This title has not yet been released” e só existe o botão para fazer uma pré-compra. Onde você conseguiu o livro?

    abraço!

  4. blpsilva disse:

    Oi Diogo, ele foi disponibilizado progressivamente aqui: http://www.manning.com/dashorst/ Mas não é download gratuito. Você compra a edição digital e/ou a edição impressa, e aí eles te enviam o pdf.

  5. rcristo disse:

    Caro Bruno! Parabéns pelo Blog, é completo e útil para nós que programamos em várias linguagems e utilizamos vários BDs. Só uma pergunta, porque que os links apontam para sites pagos, quando podemos baixar gratuitamente todos esse livros e milhares de outros em sites como este: http://www.dbebooks.biz – apenas cliquem em “readme more” e baixem todos os livros que estão à venda na Amazon, sem gastar um centavo! Agradeçam ao “Ice Zero”.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: