Programming. Design. Architecture. Leadership.
Paving path to pragmatic software engineering
by Mariusz Sieraczkiewicz


Technical leadership
From a technical expert to a technical leader
- Building technical leader expertize
- Choosing your own leadership style
- Keep the balance between lead and technical responsibilities

Good software design
Concious design and architecture decisions
- Domain-driven design
- Evolutionary paths - evolution of the system design
- Just-in-time architecture instead of just-in-case architecture

Pragmatic programming
Modern, clean and pragmatic programming
- Modern clean code
- Working with legacy code and refactoring
- Domain testing

Programming with LLMs
LLMs for professional software developers
- Beyond the hype LLM usage
- Incorporating GenAI into current solutions
- Using existing software engineering practices with LLMs - design, architecture, patterns