Software Engineering

I judge architecture and code by how easily they can be extended without constantly breaking what is already there. I prefer simple boundaries, clear contracts and abstractions that come from a real need, over designing ahead for hypothetical requirements.

SOLID, Clean Code, Design Patterns, DDD, Refactoring, Separation of Concerns, Modularity, Dependency Injection, API Contracts, Backward Compatibility, Technical Debt, Code Review, Documentation