Practical lessons on architecture, developer workflows and the systems straining under modern software demands.

🎯 Featured Article
🧩 Symptoms of Bad Software Design
A concise breakdown of four classic software design failure modes — Rigidity, Fragility, Immobility and Viscosity — and why they still surface in modern systems.
- Identifies architectural “smells” that increase maintenance costs over time
- Explains how poor modularity amplifies change risk and delivery friction
⏩ TL;DR (Quick Recap)
- Modern platforms are revisiting architectural fundamentals to handle scale, concurrency and maintainability
- JVM ecosystem updates continue improving interoperability, structured concurrency and build tooling
- Spring teams are focusing on operational resilience through API gateways, idempotency and infrastructure tuning
- AI-assisted development is shifting from experimentation toward governance, cost control and workflow integration
☕ JVM Corner
🧵 JEP 533 Tightens Exception Handling in Java’s Structured Concurrency for JDK 27
JDK 27’s latest structured concurrency preview improves exception propagation and strengthens type safety in concurrent task orchestration.
- Introduces exception typing directly into StructuredTaskScope join semantics
- Refines cancellation and lifecycle management for grouped concurrent operations
📦 Taming Maven Version Ranges
A pragmatic look at Maven version ranges, including why they are controversial.
- Explains dependency resolution edge cases caused by open version ranges
🧩 Kotlin — The Road to Name-Based Destructuring
JetBrains proposes new destructuring syntax to improve readability and reduce positional ambiguity in Kotlin code.
- Introduces name-based destructuring with new parenthesized syntax
🏗️ Scaling ArchUnit with Nebula ArchRules
Netflix describes how Nebula ArchRules scales architectural governance across thousands of Java repositories.
- Automates architectural policy enforcement directly during builds
- Standardizes technical debt detection across large polyrepo environments
⚡ Native Interoperability with JDK 25 and the FFM API
The Foreign Function & Memory API continues replacing JNI complexity with safer and faster native interoperability.
- Eliminates common JNI pain points around memory and native bindings
- Enables direct native library access using modern Java abstractions
🍃 Spring Updates
🔥 How HikariCP Caused 98% CPU Usage in Our Spring Boot Microservice
A production-focused analysis of HikariCP internals, pooling behavior and concurrency pitfalls in high-load Spring Boot systems.
- Explains how pool misconfiguration triggered runaway CPU utilization under load
- Details monitoring strategies and concurrency patterns behind HikariCP performance
🔐 Idempotency Keys in Spring Boot APIs
A practical guide to preventing duplicate requests and unintended side effects in distributed API workflows.
- Demonstrates replay protection strategies for payments and transactional APIs
🌐 Implementing an API Gateway in Spring Boot Microservices
An overview of centralizing routing, authentication and cross-cutting concerns using a Spring Boot API gateway layer.
- Consolidates authentication and request routing behind a unified entry point
- Simplifies observability and policy enforcement across distributed services
🗂️ How I Structure application.yml in Large Spring Boot Projects
A maintainability-focused approach to organizing Spring Boot configuration files as projects scale in complexity.
- Separates configuration concerns to reduce operational and deployment confusion
- Improves readability and onboarding for teams managing large codebases
🔍 Extra Reads
Developer Tooling & Workflow
🪄 Git’s Magic Files — A walkthrough of Git’s lesser-known repository control and metadata files.
⌨️ Writing my own text editor, and daily-driving it — A reflection on building and using a custom editor as a primary development tool.
⚡ From latency to instant: Modernizing GitHub Issues navigation performance — Explains how caching and prefetching transformed Issues navigation responsiveness.
AI Engineering & Developer Productivity
🤖 How to make LLM-assisted changes governable, reviewable, and reusable — Presents Structured Prompt-Driven Development for collaborative AI-assisted engineering.
📉 How to Never Hit Claude’s Usage Limit Again: 3 Proven Methods — A workflow-oriented explanation of how prompt habits influence AI usage consumption.
💸 End of an Era — GitHub Copilot models and prices change — GitHub’s new token-based Copilot pricing reshapes cost expectations for AI coding assistants.
🧠 2026 Software Engineer Trends: Retrospective and Beyond — A analysis of how software engineering trends evolved entering 2026.
Architecture, Systems & Scalability
🛡️ Databases Were Not Designed For This — An exploration of failing database assumptions in modern distributed application architectures.
🏗️ 5 Years and $5M Later: Inventing a New Programming Language for Web Development Was a Mistake — Wasp reflects on the operational and ecosystem costs of creating a custom programming language.
📚 Don’t overestimate domain expertise — A cautionary discussion about balancing domain input with structured discovery practices.
Engineering Culture & Industry Commentary
🚪 Your Onboarding Is a Hazing Ritual and You Call It Agile — A critique of onboarding practices that overwhelm new hires instead of enabling productive ramp-up.
🧪 How Dangerous Is Anthropic’s Mythos AI? — Examines the growing capability of AI systems to discover software vulnerabilities.
🗣️ Everyone’s a thought leader. Almost no one is thinking. — A sharp critique of AI-generated content culture and performative professional branding online.
Originally posted on marconak-matej.medium.com.