Invaluable books for an enterprise software engineer
I am again in the design phase of a very large project. The project context is to provide a new solution for the core services and core integration infrastructure around the prepaid platform on the largest telecommunication organisation in Greece. This is the most intrinsic motivation for me, define the essential architecture, spot the tricky points of requirements and provide a durable and efficient solution.
Two are the most common ways to become a very skilled enterprise software engineer/architect. The first is to work hard with such skilled people and the second is to read books that are really useful.
I present here a list of books that have really helped me to construct/design enterprise quality software. The order of books is meaningless.
Development
The Pragmatic Programmer: From Journeyman to Master
Authors: Andrew Hunt, David Thomas
Java Concurrency in Practice
Authors: Brian Goetz with Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea
Effective Java Programming Language Guide
Author: Joshua Bloch
Effective Java 2nd Edition
Author: Joshua Bloch
Integration
Patterns of Enterprise Application Architecture
Authors: Martin Fowler with Dave Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Authors: Gregor Hohpe, Bobby Woolf
Design Patterns: Elements of Reusable Object-Oriented Software
Authors: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Service-Oriented Architecture: Concepts, Technology, and Design
Author: Thomas Erl
(only a few chapters, which are really valuable)
SOA Principles of Service Design
Author: Thomas Erl
(only a few chapters, which are really valuable)
General
The Mythical Man-Month
Author: Frederick Brooks
This is not a closed list, but contains most of the books that I really like (for now). I know that there are newer books, which are great too, and also new languages that are really very promising, but these are the books that really help me to become what I am.
What am I really??
Maybe the book that I read now may help you and me on this definition.
The book I read this period is this:
Synthetic Overview of the Collaborative Economy
Authors: Michel Bauwens and Franco Iacomella, Nicolas Mendoza, James Burke, Chris Pinchen, Antonin Leonard, Edwin Mootoosamy
I am a fan of Free Software and Open Source ideas. These ideas are not restricted only to software development, but to many areas out of software field (check Open Source Ecology).
I am not trying to advertise these books, or the authors or the publishers. I just respect theirs work and that’s why I mention these books in this blog.
Reference: Invaluable books for an enterprise software engineer from our JCG partner Adrianos Dadis at the Java, Integration and the virtues of source blog.
Excellent books.. My personal favorites being Effective Java and Java Concurrency in practice.. Along with these I have also found Refactoring: Improving the design of existing code – Martin Fowler, Refactoring to Patterns – Joshua Kerievsky are invaluable, since refactoring is something we tend to do a lot in Agile projects.
Thanks for sharing the list.. :)