Top 6 + 2 Evergreen Books to Make You a Better Software Engineer
By: Jana Bergant
Tags: Book Recommendations, Life Hacking, Books, Software Engineering, Software Development

Online courses, videos, and Youtube are great resources to learn how to code and learn how to be a better software developer and engineer.

But here and there, you want to hold a book in your hand. Or even better, a Kindle.

There are books out there, that can give you a big boost in your career as a software developer, books you will refer to for decades.

These are the evergreens, meta describers, books about design patterns or mindset books.

Here are the top 6 books for software engineers, a must-read books. And two on the top to make you even better.

Here comes the no. 1. The most referenced and valued among developers, architects, engineers.

The programmatic programmer is a great non-technical book that goes into codifying the good practices about software development. The book is filled with both technical and professional practical advice.

It is a great book every software developer, architect, designer or even QA engineer should read. It examines what it means to be a modern developer by exploring topics that range from personal responsibility and career development to architectural techniques.

It’s written at a high enough level that very little material is outdated. It is highly relevant, especially with the new 20th Anniversary Edition.

The book will spark ideas when you read it. How can I do it more efficiently? And more elegantly? Can I make the computer do the work instead?

Software Architecture in Practice (3rd Edition)

by Len Bass

Software Architecture in Practice introduces many aspects of software architecture and the responsibilities of an architect.

It covers the soft and hard skills of being an architect. It goes into the different roles a software architect will have and gives thoroughly comprehensive advice. It is a great overview and a great starting point for anyone interested in becoming a software architect.

It describes the basic concepts: management of project requirements, especially non-functional, documenting the architecture, assessing the architecture in terms of success.

agile terms and changing requirements. Examples and an easy-to-read style of writing are good advantages of this book.

Domain-Driven Design

by Eric Evans

When you want to overcome the difficulty of creating complex software in a maintainable fashion, this Doman-Driven Design is a book for you.

It is an excellent software engineering book. The ideas in this book are incredibly useful. It presents a working strategy for writing and organizing software code in classes and packages in a clean and usable environment.

Also, the book contains useful guidelines on how to communicate between team members and between the team and all other stakeholders.

It is for anyone involved in the development side of software engineering, including programmers, designers, architects, even development managers.

This book is not just for refactoring, it’s for understanding how professionals are thinking about their code.

You will understand the process and general principles of refactoring that you can quickly apply to your codebase. You should also be able to spot “bad smells” in your teammate’s code that needs refactoring. You can use these methods even in writing the first line of your code.

Martin Fowlers ‘Refactoring’ is, in my opinion, the best book about this subject.

One note though: The book was written a decade ago. At that time IDE’s did not support advanced refactorings. Most of the methods described are fully automated in modern IDE’s.

Introduction to Algorithms

by Thomas H. Cormen

An essential book for every programmer. It’s an essential guide to algorithms of all kinds.

It covers topics such as data structures, fast algorithms, polynomial-time algorithms for seemingly intractable problems, graph theory, computational geometry, and much more.

The exercises after each chapter are very important to fully understand the chapter. The book in itself is an outstanding one, very organized and focused.

The concepts are laid out in an intuitive and are easy to follow.

Working Effectively with Legacy Code

by Michael Feathers

Legacy code is one of the most challenging problems for many companies.

Given that we have to deal with legacy code, how can it be made easier?

Top takeaway Michael Feathers writes:

You cannot work effectively with code unless it is covered by tests. When working with untested code you must be extremely careful, and even then the results are uncertain. It’s better to have tested code than untested code, and often the ugliness is an intermediate stage in unearthing the deeper structure of the code.

Overall, this was a valuable read for anyone who has to understand and change large, confusing, delicate code bases. If you want to make your life easier, this would be on your must-read books.

The Passionate Programmer

by Chad Fowler

The Passionate Programmer teaches about:

how to be better at your job and

how to plan out a good career in the IT industry.

It’s quite inspirational. Chad Fowler is a respected authority in the Ruby programming community. Some of you might not like the very friendly tone and the stories about his life, but for some that might make it funnier.

The author tries to explain what skills and habits a programmer has to develop in order to be successful.

This is one of those books that every programmer must read eventually. It provides you a full list of tips and to-do in your daily work that will improve your overall role in your current company.

Cracking the Coding Interview: 189 Programming Questions and Solutions

by Gayle Laakmann McDowell

If you want to land such a job — the Cracking the Coding Interview book is a must. Book itself is good though if you just want to cover/refresh a list of IT topics.

Gayle Laakmann McDowell, Ex-Google Employee, and an experienced software engineer will help you pass the coding interview. She has completed Software Engineering interviews with — and received offers from — Microsoft, Google, Amazon, Apple, IBM, Goldman Sachs, Capital IQ, and a number of other firms.

She can help you to look for hidden tricks, and break problems into a small chunk. Book will help you get better in learning concepts.

Here are some articles, you might also like:

If you liked this article, you can follow me on Youtube

Or check my courses about Chatbots and Voice Assistants, Javascript, and more: