Writing
Articles, thoughts, and technical perspectives.
2025
AI Doesn't Replace Developers
Jul 2025A clear-eyed take on what AI actually changes in software development — and what it does not. AI is a force multiplier for skilled engineers, not a replacement for engineering judgment, system thinking, or the hard work of building reliable software.
Key takeaways from "AI Doesn't Replace Developers"
AI tools accelerate individual tasks but do not eliminate the need for architectural thinking, code review, or system-level understanding.
The most effective use of AI is by experienced developers who can evaluate and steer its output — not by replacing developers with AI.
Organizations that invest in developer skill development will outperform those that try to reduce headcount via AI tooling.
Spring Boot from .NET
Jul 2025A practical guide for .NET developers transitioning to Spring Boot and the Java ecosystem. Covers the conceptual mapping between the two worlds — dependency injection, middleware, ORM, project structure — with honest comparisons of tradeoffs.
Key takeaways from "Spring Boot from .NET"
The core concepts of dependency injection, middleware pipelines, and ORM patterns are remarkably similar between the two ecosystems.
The biggest adjustment for .NET developers is the build tooling (Maven/Gradle vs. MSBuild/NuGet) and the annotation-heavy configuration style.
Understanding the philosophical differences — convention over configuration in Spring vs. explicit wiring in .NET — helps the transition feel natural rather than foreign.
"The best code is the code you understand well enough to delete confidently."