Dominar os atuais conceitos de desenvolvimento de software pode ser assustador se você está iniciando em Java. Você deve aprender práticas orientadas a objeto, como o desenvolvimento baseado em testes? Ou aplicar ideias de programação funcional? Este guia fornece uma abordagem prática e baseada em projetos a fim de ajudá-lo a aprender os principais tópicos necessários para ser um desenvolvedor produtivo. Raoul-Gabriel Urma e Richard Warburton mostram como desenvolver vários projetos reais e ainda aprender práticas recomendadas no processo.