Superman’s Software Engineer Guide from Zero to Hero (3/5): Bachelor of Science, Be familiar with Software Design and Software Architecture

Yuri Geronimus
3 min readJul 14, 2023

--

It is a comprehensive guide to be familiar with Software Design and Software Architecture, covering all the necessary knowledge for software engineers to become familiar with these concepts. It is necessary for career growth.

During his Bachelor of Science studies, Superman delved deep into the mysteries of science and technology, learning all sorts of nerdy things that would make Sheldon from The Big Bang Theory jealous. Armed with this newfound knowledge and a sharp intellect, he was ready to take on the world as a pro software engineer. Plus, he finally figured out how to calculate the trajectory of his punches to make them extra powerful!

Note that you can stop reading at any time as per our rule. The lists are sorted from general to specific, so you’ll gain some strong comprehension even if you stop at any point.

Primary curriculum: Software design and architecture

In this area we will understand modern Software design and architecture:

  1. Firstly, let’s understand the difference between Software Design and Architecture, just for the right mindset when you read these words
  2. Understand the basics of Software Design and Architecture (20–30 mins)
  3. Basic Software Architecture Concepts and more detailed Software Architecture concepts explanation in Blueprint
  4. My outlook on modern Software Architecture and architecture styles (only in Russian) — different styles of modern architectures, storage and messaging technologies, Service Mesh; microservice application design, domain-driven development; cloud-native, reactive, service mesh; deployment technologies — Kubernetes, Helm; data mesh; hundreds of different architectures of modern applications (for different purposes); CI / CD, DevOps, and SRE
    Concept of microservices in a simple way
  5. Software design patterns and principles, area “Patterns and design principles” in Software Architect roadmap
  6. Excellent deep overview of software design and software construction — Code Complete: A Practical Handbook of Software Construction 2nd Edition by Steve McConnell (in rus)
    — Fast track of this book — only Chapter 35 “Themes in Software Craftsmanship”. Note: it is not a full abstract of this book.
  7. A most excellent book to do a right Software Design — A Philosophy of Software Design by John Ousterhout
  8. The modern approach to Software Architecture — Fundamentals of Software Architecture by Mark Richards, Neal Ford (conspectus in rus)
  9. How to practice Software Architecture in reality — Building Evolutionary Architectures by Neal Ford, Rebecca Parsons, Patrick Kua, Pramod Sadalage (1st edition in rus)
  10. Difficult aspects of Software Architecture — Software Architecture: The Hard Parts by Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani (Russian language conspectus)

P.S. While there are many more in-depth aspects of software design and architecture to explore, we believe this list provides a solid foundation before diving into more advanced sources when you begin working. We will cover these advanced topics later in this article.

Additional courses: Check everything else about software design and architecture

If you want a more in-depth overview of software design and architecture, you may find the following resources helpful:

  1. Overview of Software Design and Architecture
  2. A classic book about architecture history and design of solid modules Clean Architecture: A Craftsman’s Guide to Software Structure and Design by Robert C. Martin (in rus)

Additional sources

This section outlines the sources of information used to create this article, which were not explicitly referenced within it.

  1. Top 20 Books a Software Developer Must Read by Irena Seng
  2. Backend Developer roadmap

--

--

Yuri Geronimus

Software developer with experience in fintech and enterprise software development. Trainer, teacher, father