views:

1698

answers:

15

What would be good books and websites to read to become an software architect. And just basic tips and tricks are also welcome.

+1  A: 

Design Patterns

Mark Cidade
+5  A: 

It depends a bit, some books are more specific to certain fields than others. The books I keep referring back to are

However if you're (planning to go) into enterprise software and communication between different software packages Enterprise Integration Patterns is also a recommended read.

Huppie
+7  A: 

I recommend Domain Driven Design by Eric Evans. It details some very important concepts, like the importance of actively pursuing an ubiquitous language (architects, developers and customers all speaking the same language), a rich domain model, differences between Entities and Value Objects, and generally how to handle complexity in software development and modelling.

Read more at http://domaindrivendesign.org/, or get the book at Amazon.

Edit after author comment: This book might not be the best introductory book. But make sure you read it at some later point.

Magnar
I've read the book, and I see that as being a bit high-level for someone starting out...YMMV
+2  A: 

I am not sure how you define "software architect", but I'm assuming this means you will be mainly involved in the higher-level concepts of the software and possibly not doing any programming yourself?

I personally don't think anyone should be working with software architecture unless they also know some programming, so I think many of the classic software development and programming books are also relevant in this context. If you haven't already, you should at least read Code Complete, The Pragmatic Programmer and The Design of Everyday Things. The Design Patterns book and architecture patterns book already mentioned are also quite useful. In addition to those, I think Documenting Software Architectures contains some good ideas.

Anders Sandvig
A: 

I will do programming also. The deal is that I have to redesing an old system here, and I dont have any good experience on designing architectural stuff. Just want to get some idea where to start etc...

Tuoski
+12  A: 

McConnell's Code Complete 2 has a very good section on the role of a software architect. It gives you all the elements a good software architecture should contain.

You can work out from there what you need to do to satisfy those sections.

Campbell
+1  A: 

Well if you need to redesign an old system here and you're seeing images of slogging through a murky swamp of tangled undergrowth with leaches beneath and stinging flies above, then I strongly recommend to check Working Effectively with Legacy Code.

cordis
+1  A: 

I found Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development to be a great book. Apart from detailing all the techniques one would have to deal with, it constantly underlines the reasoning involved in going one way or the other while designing a system.

Andrei
+1  A: 

link text is an excellent addition to the Gang of Four's 'Design Patterns'.

+1  A: 

This is a good list of books, I pretty much recommend every one:

http://codebetter.com/blogs/ian_cooper/archive/2008/03/04/some-recommended-books.aspx

+1  A: 

I'd recommend the book the book "The Software Architect's Profession" by Marc and Laura Sewell (Amazon link)

Rob Wells
+1  A: 

Since technical architects must draw upon a massive knowledge base built upon years of formal practice/experience, it's difficult to narrow the subject to a few books.

Indeed, there are hundreds of books on the topic of architecture itself, but I argue the coding books, performance books, usability books, etc are equally important because they contribute to wisdom about software development.

Others have mentioned some excellent books. Code Complete 2, and GoF Design Patterns are so valuable, it's hard to emphasize their importance.

But if I wanted a real 40,000 foot view of software architecture, there's only one book I turn to - my architecture bible - A Software Architecture Primer - By John Reekie and John McAdam

This book is a gem, because it's so amazingly light. The phrase "lightweight process" gets bandied about a lot, but this time for real I've seen it produce results that remain comprehensive and thorough. Before encountering this book/subject, design processes were tedious, somewhat laborious and trimming it down often resulted in not meeting some qualities.

CVertex
+2  A: 

http://codingthearchitecture.com is also quite a good site.

http://www.codingthearchitecture.com/2008/03/18/software_architecture_document_guidelines.html - provides a good template for Software Architecture documents

Anthony
A: 

Richard Gabriel's Patterns of Software, as well as some of his other writings at http://www.dreamsongs.com/ -- particularly the whole "Worse is Better" saga & the essays on Christopher Alexander. ( Alexander's books would be the next ones on the list. )

Steven D. Majewski
A: 

Microsoft Application Architecture Guide. It's free.

Hai Minh Nguyen