Monday, November 12, 2018

5 Must Read Books to become Software Architect or Solution Architect

I receive a lot of queries from senior Java developers, who aspire to become software architect or solution architect e.g. what can they do to become a software architect? Which books, resources, or certifications can help? and general queries like how much experience you need to become software architect etc. In the past, I have been suggesting them individually about some books to read to expand their knowledge base and look at the software from architecture and design perspective and this article is a compilation of many of such suggestions. Since a lot of books can confuse, I have only select 5 best and must-read books from software architect perspective.

Since architecture is a very vast subject and highly depends upon the domain you are working, it's not possible to learn everything you need to design software from top to bottom but these books will give you basic tools and techniques required to build a robust, secure, and maintainable software.

They will also help you to develop the mindset required to focus on essentials rather than details, which is a key difference between how a developer thinks and how an architect thinks.

In general, developer focus on low-level details e.g. class and methods while architect focus on high-level details e.g. how components should communicate, how persistence layer should behave, which technology to use, what will be the non-functional requirements etc.

These books are also full of good advice in terms of object-oriented design, good coding practices and how to avoid costly mistakes in the initial phase of software development.


5 Software Architecture Books for Experienced Programmers

Without any further ado, here is my list of some of the books every experienced Java programmers and all the developers who want to become software architect or solution architect should read. These books will expand your knowledge and fill gaps in your understanding. They will also help you to understand the big picture instead of focusing on technical details.


1. Patterns of Enterprise Application Architecture
This is one of that book, who doesn't need a review. It's one of the classics like Gang of Four book which every programmer should just read.

Martin Fowler is one of my favorite author and a Guru in software development world and this book clearly shows why. The text is very well written and easy to follow.

This book complements original Java design patterns book but lists many more patterns from Enterprise architecture point of view.

You must read this book if you are interested in learning the patterns and architectural principals behind the popular frameworks programmers use to make complex, real-world software on the web.

best book to learn enterprise application architecture




2. Software Architecture in Practice 
This book is a good start for those who are curious or want to understand the basic concepts and ideas behind Software Architecture but it somewhat abstract, which many programmers might not enjoy.

What I like about the books is stories and anecdotes about incidents in history. Since I firmly believe that its stories which teach you what to do and what not do and our mind is more open to remember stories then concept, I found this book worth mentioning in this list.

You can use this book as a textbook to learn about software architecture.


Software Architecture in Practice - best book



3.  Clean Architecture
This is one of the first books you should read on Software architect. Uncle Bob, who is also the author of Clean Code and Clean Coder, two of the must-read books for professional programmers has presented his years of experience on how to build a clean architecture.

Something, which is robust, maintainable and adaptable to change. In this book, you not only learn about essential concepts of architecting software but also about terminology used at that level.

You will also learn about SOLID design principles and good coding practices required for writing clean code. The book also gives practical advises on evaluating different design and architecture by comparing their pros and cons.

In short, one of the most fundamental books on software architecture, which every senior programmer or someone aspires to become solution architect should read.

5 Must Read Books to become Software Architect or Solution Architect




4. Building Microservices: Designing Fine-Grained Systems
Another great book to learn about design and architecture of modern, distributed software, particularly Microservices, which are powering this generation is greatest apps e.g. Uber, Facebook, NetFlix etc.

If you want to move away from monolithic applications to the world of Microservices then this is the book you should read.


best book to learn microservices architecture




5. Domain-Driven Design: Tackling Complexity in the Heart of Software
This is one of the oldest book features on this list and many of you would argue that it's not for a software architect. Well, I agree, it's not for a software architect but definitely a must read for programmers who want to become a software architect.

This is ideal for a software developer with 3 to 5 years of experience because it put forth many practical problems and their solutions which can only be learned by real-world experience.

These problems and their solutions work in many different environments and someone who is thinking of design and architect should be at least familiar with those.

software architecture books for experienced java programmers


In short, this book provides deep architectural insight and help you to create robust systems in a changing environment and most importantly, Eric Evans has done an amazing job to explain all these in a language which developer can understand.

One of the key attributes of a software architect is knowledge of every aspect of software e.g. design, coding, maintenance, deployment, support etc and that attribute can only be acquired by expanding your knowledge base and experience. These books along with a couple of advanced training courses on leading-edge technology e.g. REST and Spring security can help you to get there.

That's all about some of the best books for a software architect, technical leads, and solution architect. If you are a senior Java developer of 8 to 10 years of experience and want to move next step in your career towards an end goal of becoming software architect, these are the books to read to expand your vision and knowledge.

Other Programming Resources You may like:
5 Free Spring  Framework Courses for Java Developers
5 Courses to Learn Web Development in 2018
5 Online Courses to learn Core Java for Free
5 Courses to Learn React Native in 2018
Top 5 Selenium with Java Web Driver Courses
5 Courses to Learn Big Data and Apache Spark
Top 5 Java design patterns courses for experienced Java devs
5 Courses to learn writing Emails for IT Professionals
10 courses for Programming/Coding Job Interviews
5 Courses to learn Shell Scripting in Linux

Thanks for reading this article so far. If you like these books then please share with your friends and colleagues. If you have any questions or feedback then please drop a note. 

3 comments :

Marek Šuščák said...

Release It is pretty good as well (https://www.goodreads.com/book/show/1069827)

Naresh Surya said...

Superb

prince said...

Can you share links to ebooks ?

Post a Comment