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