Software-engineering Notes

Collection of software development notes related to software-engineering.

Code Quality Checks for LLM-Generated Code: The Missing Layer

Automated code quality tools need to evolve for the age of LLM code generation. Linters catch style and complexity, but the real quality gap is in module coupling, interface design, and dependency structure. Learn what existing tools miss and what a better approach looks like.

llmcode-quality

Domain-Driven Design: Defining and Enforcing Domain Invariants

A practical guide to making Domain-Driven Design work by defining domain invariants and enforcing them through code. Covers why most teams skip this step, how to design interfaces that prevent invalid states, and how to recognize when a codebase is truly following DDD.

domain-driven-designsoftware-architecture

Exceptions Should Be Exceptional: Error Handling Best Practices

Learn when to throw exceptions in Java and Kotlin and when to avoid them. Covers exceptions for unreliable code and unrecoverable cases, return-type-based error handling, and why business logic should never use exceptions for control flow.

javakotlin

Hexagonal Architecture for Testability: Imperative Shell, Functional Core

Stop fighting mock-heavy, brittle tests. Hexagonal Architecture separates business logic from databases and IO, and the Imperative Shell, Functional Core pattern makes that boundary explicit. Includes a concrete before-and-after example in Java.

architecturetesting

Just Enough Planning in Software: A Case for Lightweight Planning

A practical case for 'just enough' planning in software development. Learn when planning adds value, when it becomes waste, and how to calibrate your planning effort to what actually matters: delivering product value.

agileplanning

Software Engineering Is About Trade-Offs, Not Shipping Code

Why your value as a software engineer isn't how fast you ship code but your ability to understand trade-offs and risk. With AI accelerating code generation, this skill matters more than ever.

aitrade-offs