Architecture, patterns and programming skills
Architecture and Design
- Domain-driven Design: Tackling Complexity in the Heart of Software
by Eric Evans
- Patterns of Enterprise Application Architecture
by Martin Fowler
- Agile Software Development, Principles, Patterns, and Practices
by Robert C. Martin
- Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
by Gregor Hohpe and Bobby Woolf
- The Design of Everyday Things
by Donald Norman
Programming and code
- The Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt and David Thomas
- Clean Code: A Handbook of Agile Software Craftsmanship
by Robert C. Martin
- Beautiful Code: Leading Programmers Explain How They Think
by Andy Oram and Greg Wilson
- Code Complete
by Steve McConnell
- Refactoring: Improving the Design of Existing Code
by Martin Fowler
- Design Patterns
by the Gang of Four. It is not the best/easiest way to learn these patterns, but everyone should have read this book because of the influence it has had on software engineering.
- RESTful Web Services
by Leonard Richardson and Sam Ruby
Testing
- Next Generation Java Testing: TestNG and Advanced Concepts
by Cédric Beust and Hani Suleiman
- Test Driven Development: By Example
by Kent Beck
Database
- Database Systems: The Complete Book
by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom
- Refactoring databases
by Scott Ambler
Technology specific
Java
- Effective Java
by Joshua Bloch
- Java Concurrency in Practice
by Brian Goetz
Groovy/Grails
- Groovy In Action
. Groovy bible
- Getting started with GRAILS
. Thin pamphlet which contains a walkthrough of creating a GRAILS application. May give some knwoledge to intermediate GRAILS developers.
ORM and Database
- Expert One on One Oracle
by Thomas Kyte
Process and methodology
People & Process for beginners
- Ship it!
is a good introductory book for doing Agile in practice. It's not as technical as pragmatic programmer, more project/soft oriented.
People & Process advanced
- Practices of an Agile Developer
by Venkat Subramaniam and Andy Hunt.
- Agile Estimating and Planning
by Mike Cohn
- Lean Software Development
by Mary & Tom Poppendieck
- Agile Software Development
by Alistair Cockburn
People & Process classics
- Peopleware
by Tom DeMarco
- The Mythical Man-Month
by Frederick P. Brooks
Consulting
- The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully
by Gerald M. Weinberg
Other
Computer history
- Tools for Thought
by Howard Rheingold
Off-topic, but related books
- Zen And the Art of Motorcycle Maintenance
by Robert M. Pirsig.
- The Dilbert Principle
by Scott Adams. This is really an anti-pattern book on how not to to manage your team or company.
How to write text
- The Elements of Style
, by Strunk and White
- Weinberg on Writing: The Fieldstone Method
, by Gerald Weinberg
No comments:
Post a Comment