Welcome to my living software engineering playbook: a practical, human-friendly map for learning the foundations that turn scattered tutorials into real engineering judgment.
This repository is not a dump of notes. It is a guided path through architecture, programming languages, frontend fundamentals, backend integration, infrastructure, data, networking, Git workflows, and user-centered design. Each topic is organized so you can start with the basics, build context step by step, and understand how the pieces connect in real projects.
If you are new to the repo, take this route:
- Begin with architecture to understand how good systems are shaped.
- Move into a language or platform such as Java, JavaScript, React + Spring Boot, or Ionic + Angular.
- Strengthen the edges with Git, Docker, Networking, SQL, and UX/UI Accessibility.
- Come back often. This playbook is meant to evolve with practice, mistakes, refactors, and better explanations.
The goal is simple: learn concepts deeply enough that tools stop feeling magical and start becoming choices you control.
Every main topic contains three progressive learning levels. The structure is intentionally repetitive: once you learn how to move through one topic, you know how to move through all of them.
ROOT (Master Index)
│
├── 🏛️ ARCHITECTURE_AND_BEST_PRACTICES
│ ├── 01-SOLID-Principles
│ ├── 02-Clean-Hexagonal
│ └── 03-System-Design
│
├── ☕ JAVA
│ ├── 01-OOP-Pillars
│ ├── 02-Interfaces-and-Polymorphism
│ └── 03-Project-Structure
│
├── 💛 JS
│ ├── 01-Core-Syntax-and-Types
│ ├── 02-DOM-and-Events
│ └── 03-Async-and-APIs
│
├── 🎨 CSS
│ ├── 01-Box-Model-and-Flow
│ ├── 02-Flexbox-and-Grid
│ └── 03-Responsive-Architecture
│
├── 🌐 HTML
│ ├── 01-Semantic-Web
│ ├── 02-Forms-and-Inputs
│ └── 03-SEO-and-Metadata
│
├── ⚛️ REACT+SPRINGBOOT
│ ├── 01-React-Core
│ ├── 02-Spring-Boot-API
│ └── 03-FullStack-Integration
│
├── 📱 IONIC+ANGULAR+FIREBASE+CAPACITOR
│ ├── 01-Angular-Architecture
│ ├── 02-Ionic-UI
│ └── 03-Firebase-Capacitor
│
├── 🐙 GIT
│ ├── 01-Git-Fundamentals
│ ├── 02-GitHub-Collaboration
│ └── 03-CI-CD-Workflows
│
├── 🐳 DOCKER
│ ├── 01-Images-and-Containers
│ ├── 02-Volumes-and-Storage
│ └── 03-Docker-Compose
│
├── 🌎 NETWORKING
│ ├── 01-Web-Protocols
│ ├── 02-Dev-Ports-and-Envs
│ └── 03-Security-and-JWT
│
├── 🔌 API_AND_INTERFACE_DESIGN
│ ├── 01-API-Contracts-and-REST
│ ├── 02-Query-RPC-and-Realtime-APIs
│ └── 03-Integration-Governance-and-Legacy
│
├── 🐘 SQL
│ ├── 01-Relational-Design
│ ├── 02-Queries-and-Joins
│ └── 03-Indexes-and-Performance
│
└── 🎨 UX_UI_ACCESSIBILITY
├── 01-Visual-Design-Rules
├── 02-Accessibility-WCAG
└── 03-Cognitive-Doc-Design
| # | Topic | What You Will Learn | First Step |
|---|---|---|---|
| 01 | 🏛️ Architecture and Best Practices | SOLID, Clean Architecture, Hexagonal Architecture, and System Design foundations. | Dive in |
| 02 | ☕ Java | Object-oriented thinking, polymorphism, interfaces, and professional project structure. | Dive in |
| 03 | 💛 JavaScript | Core syntax, types, the DOM, events, async flows, and API communication. | Dive in |
| 04 | 🎨 CSS | Layout fundamentals, Flexbox, Grid, responsive architecture, and visual structure. | Dive in |
| 05 | 🌐 HTML | Semantic markup, accessible forms, SEO metadata, and meaningful document structure. | Dive in |
| 06 | ⚛️ React + Spring Boot | React fundamentals, Spring Boot APIs, and full-stack integration patterns. | Dive in |
| 07 | 📱 Ionic + Angular + Firebase + Capacitor | Angular architecture, mobile UI patterns, Firebase services, and native capabilities. | Dive in |
| 08 | 🐙 Git | Version control fundamentals, GitHub collaboration, pull requests, and CI/CD workflows. | Dive in |
| 09 | 🐳 Docker | Images, containers, volumes, storage, and multi-service local environments. | Dive in |
| 10 | 🌎 Networking | Web protocols, ports, environments, authentication flows, security, and JWT. | Dive in |
| 11 | 🔌 API and Interface Design | API contracts, style selection (REST/GraphQL/gRPC/WebSocket/Webhooks/WebRTC/SOAP), and governance guidance. | Dive in |
| 12 | 🐘 SQL | Relational design, queries, joins, indexing, and performance fundamentals. | Dive in |
| 13 | 🎨 UX/UI Accessibility | Visual design rules, WCAG accessibility, and documentation that reduces cognitive load. | Dive in |
Good engineering is not about memorizing frameworks. Frameworks change. Tools change. The fundamentals stay.
This playbook keeps coming back to five ideas:
| Principle | Why It Matters |
|---|---|
| KISS | Simple solutions are easier to read, test, debug, and evolve. |
| DRY | Repeated logic becomes repeated risk. Keep knowledge in one reliable place. |
| YAGNI | Do not build complexity for a future that has not arrived yet. |
| Clean Code | Code is read far more often than it is written. Write for humans first. |
| SOLID | Strong boundaries make systems easier to change without breaking everything around them. |
These principles are not slogans. They are decision-making tools. Use them when choosing names, splitting responsibilities, designing modules, reviewing pull requests, and deciding when not to add another abstraction.
- Read actively. Do not just scroll. Pause and explain the idea back in your own words.
- Follow the sequence when you are learning a topic for the first time. The
01,02, and03folders are ordered for a reason. - Jump around when you are reviewing. The topic map is designed to help you find what you need quickly.
- Connect concepts across folders. Docker affects backend development. Networking affects authentication. UX affects documentation. Architecture affects everything.
- Improve what you learn. If an explanation can be clearer, shorter, warmer, or more useful, it belongs here.
This repository is maintainer-curated to preserve its teaching voice, progressive structure, and conceptual sequencing.
If you spot an error, a broken link, or have a suggestion for how to teach something better, open an issue. Do not open a content pull request directly — we ask that you let us discuss the change first so we can keep the playbook coherent for everyone.
Before contributing, read the Contribution Guidelines to understand our issue-first workflow and what types of changes are welcome without prior discussion.
Learning software engineering is not a race to collect technologies. It is a long process of building judgment: knowing what matters, why it matters, and when a simpler choice is the stronger one.
That is what this playbook is for.
Created with care, curiosity, and a strong bias toward Clean Code by Marco Povea.