I've recieved a few questions from people along the lines of "I'm a Developer and I'm about to work as an Architect" or "I just got put in an Architect role and I'd like to know what I need to know to be a good Architect". This is obviously a big and complex question, and so I am writing a big and complex set of answers. Trouble is that this is taking me ages though and I know that everyone is waiting for something to start on, so I have pulled out a few things that I suggest that you start with and I'll add more detail along the way.
Firstly, there are a couple of books that I think capture the essence of Architecture as a part of the engineering disipline of software development:
- Code Complete: A Practical Handbook of Software Construction by Steve McConnell
- Professional Software Development by Steve McConnell
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma
- The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks
Surprisingly I don't have a lot of other books on Architecture that I really, really, like. There are other books in related displines that I would recommend that any Architect should read and understand though, and if you have seen my talks in the area you'll know that I have a firm belief that Architecture is about much more than putting code or components together. So, I would also recommend the following as required reading:
- The 7 Habits of Highly Effective People by Stephen R. Covey
- 10 Natural Laws of Successful Time and Life Management by Hyrum W. Smith
- The Power of Positive Confrontation: The Skills You Need to Know to Handle Conflicts at Work, at Home and in Life by Barbara Pachter
That will do for now. I'll post more information soon on this subject but the above pile of books should keep you busy for a while.