3 Best Software Engineering Books

Assuming you read them

Posted by Admin on September 29, 2023

Software engineering is a rapidly changing discipline. Programmers and other software engineers need to stay current with emerging programming trends and frameworks while also refreshing their knowledge on established algorithms and patterns.

Here is a list of 5 programming and software engineering books.

  1. Agile Principles, Patterns, and Practices in C#
  2. The Pragmatic Programmer
  3. Object-Oriented Software Engineering

1. Agile Principles, Patterns, and Practices in C#

Written by Robert C. Martin, aka Uncle Bob, and Micah Martin, Agile Principles, Patterns, and Practices in C# is the seminal book on SOLID principles. SOLID being the acronym for the following practices:

  • Single-Responsibilty Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Dependency-Inverstion Principle
  • Interface Segregation Principle

As a software engineer, programmer or coder, this book teaches you the foundation of SOLID design principles. It is a dense book that reads almost like an academic text book but provides rich explanations on each topic. You also see real world examples on how these principles can be applied.

The book ends with a thorough case study on how a project can be managed and executed using the agile methods and techniques presented in the book.

2. The Pragmatic Programmer

Written by Andrew Hunt and David Thomas, this book describes software engineering in more philosophical terms. It descsribes a lot of the why around why writing software and applications is hard, why perfect software won't exist, and what you as the programmer or engineer can to do to combat this.

As a programmer, you'll gain a deeper appreciation for just how difficult creating great software can be. And you'll find a new found sense of responsibilty to bring that software to life.

3. Object-Oriented Software Engineering

The author Ivar Jacobson gives a deep dive into the foundations of the softare development process. You will learn just how important is the communication between customer (or end user) and the development team. Lessons on requirements gathering and analysis for modeling how the software system should operate.

This book also ends with a thorough case study of an hypothetical software project that demonstrates the concepts. This book teaches you how to better execute on a vision provided by a customer for a software project.

What to look for in a Software Engineering Book

Knoweldge. Software engineering is a craft that requires constant practice. Writing software is a blend of art, science, and engineering. It's a fascinating discipline.

You must first understand what skills about software engineering you want to improve and then find books that target that skill.

There are software engineering books that offer techniques. Others offer more general practices to round out your programming skills.

Ultimately, you can start with online resources to learn on new software developer terms you hear. From there you can discover books that go deep into the topic of your choice.