A Practical Guide · By Moises Gamio

Software is malleable.
Build it to bend, not break.

Twenty-five years across banking, government, retail and B2B systems taught the author one lesson: every unmaintainable codebase started as somebody's fast, obvious shortcut. Software Design Principles hands you the antidote — OOP foundations, SOLID, UML fluency and clean-code habits that keep software bending instead of breaking as requirements change.

05SOLID principles
12+Clean-code habits
6+UML relationships
20+Years in production
Software Design Principles book cover by Moises Gamio
Sheet 00 / Cover OOP · UML · SOLID
Sec. 01 — What You'll Master

Six ways of thinking. One fluent engineer.

Each chapter trades vague advice for concrete, worked examples — the kind you can apply in your codebase before lunch.

OOP · 4 Pillars

Think like an architect, not a typist

Classes, objects, encapsulation, inheritance, polymorphism and abstraction — translated straight from business requirements into a working object model.

DRY · KISS · YAGNI

Say no to wasted code

Spot duplication before it calcifies, resist the urge to over-engineer, and build only what the requirement actually asks for.

SOLID

Wire classes that don't break each other

All five SOLID principles, each with a worked code example and a Key Takeaways recap you can pin above your desk.

UML

Draw the system before you build it

Class notation plus all six relationship types — association, aggregation, composition, dependency, inheritance and realization.

Clean Code

Write code your team won't curse

Twelve field-tested habits, from intention-revealing names to knowing exactly when a comment is actually necessary.

Case Studies

Apply it to real systems

Interpret a functional spec, design a RESTful API, and architect a B2B integration project — start to finish.

Sec. 02 — Inside the Book

Eight sheets. One blueprint.

The full table of contents — no padding, no filler chapters.

01
Preface & Introduction
Why design matters before you write a single line of code, and why software is fundamentally malleable.
02
Software Design Principles
DRY, KISS, YAGNI, Loose Coupling & High Cohesion, Divide and Conquer, Separation of Concerns, and a deep dive into Clean Code.
03
Object-Oriented Concepts
Classes & Objects, Encapsulation, Inheritance, Polymorphism, Abstraction, plus Association, Aggregation & Composition.
04
UML Diagrams for Developers
Class notation and every relationship type you'll actually draw on a whiteboard.
05
SOLID Principles
Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.
06
Soft Skills
Communication, problem-solving, teamwork, adaptability and time management — the habits behind a good career.
07
Case Studies
Interpreting a functional description, designing a RESTful API, and architecting a B2B integration project.
08
Conclusions
Field notes on coupling, cohesion, composition over inheritance, and modeling real business complexity.
Sec. 03 — Free Extract

Read before you buy.

“
Software design is everything related to managing interdependencies between different software components.
— From the Introduction

Get a free excerpt, no signup

Download a free PDF sample straight from the opening chapters and see exactly how the book explains, and code, each principle before you commit to the full edition.

Sec. 04 — Who This Book Is For

Wherever you are in the stack, this meets you there.

Whether you're just starting your journey in software design or deepening expertise you already have — the principles hold either way.

01
Software Engineers & Developers
Refresh the fundamentals that get skipped after the first job and rarely revisited.
02
App & Web Developers
Turn UI and API work into architecture that survives the next feature request.
03
Coders & Programmers
Move from writing code that runs to writing code that lasts.
04
Data & ML Engineers
Bring engineering discipline to pipelines and services built under research pressure.
05
Computer Science Students
Learn the vocabulary — SOLID, UML, OOP — before your first technical interview.
Sec. 05 — What Engineers Are Saying

Endorsed beyond software engineering.

“
Currently there is a lot of attention on Artificial Intelligence & Data Science. At the end of the day those fields stand on software engineering best practices & patterns. This book will be a ideal fit for AI & DS practitioners to learn & enforce software engineering to build mature AI/DS solutions.
Boris Villazon Terrazas
Boris Villazon Terrazas
AI / DS Product Manager
Sec. 06 — About the Author

Written from the field, not the whiteboard.

Moises Gamio

Moises Gamio has spent 25 years as a software engineer across government, financial, industrial, education, consulting, retail and research organizations — working in Java, C, COBOL, C#, Visual Basic, PHP, Python and JScript, across Windows, Linux, Unix and RISC/6000, against SQL Server, Oracle, MySQL, DB2 and Lotus Notes.

Eight of those years were spent as a systems analyst in the banking sector. Since 2014, he has been building web services for a B2B company in Berlin, Germany — the same real-world pressure that shaped every principle in this book.

Jobs in tech keep growing

Be ready to negotiate your next salary.

Good design is the foundation of great software — and the engineers who understand it are the ones who get to be picky about where they work next.

Buy Software Design Principles on Amazon