Archives
All the articles I've archived.
-
OOP, SOLID & Design Patterns: Engineering Judgment for Real Java Code
Published: at 10:00 AMA problem-first guide to OOP, SOLID and Design Patterns in Java. Learn how to recognize design pressure in real code, refactor toward better structure, and — just as importantly — know exactly when NOT to apply a principle or pattern.
-
Java Interview Prep #8: Senior Mindset & Behavioral — Junior to Senior
Published: at 10:35 AMSenior interviews test judgment and communication as much as code. How to present trade-offs, admit uncertainty, and tell stories that prove senior-level ownership.
-
Java Interview Prep #3: Spring Boot — Junior to Senior
Published: at 10:30 AMSpring Boot is where Java backend seniors live. IoC/DI, the bean lifecycle, transaction management, and the auto-configuration magic interviewers expect you to see through.
-
Java Interview Prep #7: System Design — Junior to Senior
Published: at 10:25 AMSystem design is the senior capstone — a 45-minute judgment test. Process, capacity estimation, caching, CAP, scalability, and observability.
-
Java Interview Prep #5: Apache Kafka — Junior to Senior
Published: at 10:20 AMEvent-driven systems on Kafka — delivery semantics, replication, partitioning for order, consumer lag, and the dead-letter queue every production consumer needs.
-
Java Interview Prep #4: Database & SQL — Junior to Senior
Published: at 10:15 AMThe database layer decides real-world scale. Senior candidates must speak fluently about indexing, transaction isolation, connection pooling, and the ORM trap.
-
Java Interview Prep #6: Microservices — Junior to Senior
Published: at 10:10 AMMicroservices at senior level is mostly about knowing when NOT to use them — resilience patterns, service communication, and distributed transactions.
-
Java Interview Prep #2: OOP & Design Principles — Junior to Senior
Published: at 10:05 AMOOP at the senior level is applied SOLID, composition over inheritance, and interface design at scale — not reciting definitions. Junior names the principles; senior shows where each one costs you.
-
Java Interview Prep #1: Java Core (JVM, GC, Concurrency) — Junior to Senior
Published: at 10:00 AMThe spine of every Java interview — JVM memory, garbage collection, the JMM, and concurrency. Junior recites; senior proves they've debugged a production OutOfMemoryError.
-
How Java Actually Works: Inside the JVM from Bytecode to Garbage Collection
Published: at 10:00 AMFollow the journey of a Java program from source code into the JVM — method calls, object allocation, JIT optimization, and garbage collection explained at a deeper level than typical stack-vs-heap tutorials.
-
Java Threads: From Thread Pools to Virtual Threads
Published: at 12:00 AMA deep, production-oriented guide to Java concurrency with 31 runnable examples: what threads really are, why shared state breaks, how thread pools and backpressure work, why more threads can be slower, and what Virtual Threads actually change under the hood.
-
Why Java?
Published: at 10:00 AMA comprehensive look at why Java remains one of the most important programming languages for backend systems, enterprise software, and serious software engineering careers.
-
Kafka: Lessons Only Production Can Teach You
Published: at 07:31 AMNo Kafka tutorial prepares you for the 2 AM wake-up call when consumer lag spirals out of control. Hard-earned lessons about Kafka in production.
-
Security Considerations When Participating in Software Development Projects
Published: at 02:55 AMComprehensive security best practices for developers, DevOps, QA, and project managers: from secure coding and secret management to threat modeling and SDL.
-
High-Load System Design: Comprehensive Solutions from Front-end to Back-end
Published: at 04:32 AMA comprehensive guide to high-load system design: from frontend optimization, caching, query optimization, backend patterns, request management, to monitoring and autoscaling.
-
Why Twilio Segment Said Goodbye to Microservices and Returned to Monolith
Published: at 04:31 AMAnalyzing the Twilio Segment case study: from a microservices architecture with hundreds of services to the decision to return to a modular monolith.
-
Tomcat, Jetty, or Undertow? A Guide to Choosing a High-Performance Java Web Server
Published: at 11:17 AMA detailed comparison of Tomcat, Jetty, and Undertow: thread model, memory footprint, performance, and suitable use cases for each type of Java application.
-
Project Loom: The Concurrency Revolution in Java
Published: at 02:59 AMUnderstanding Project Loom and Virtual Threads in Java: how they work, benefits, comparison with reactive programming, and the future of Java.
-
GraalVM – The Future of Java in the Cloud-native Era
Published: at 02:28 AMUnderstanding GraalVM: Native Image, polyglot architecture, comparison with traditional JVM, and applications in microservices and serverless.
-
Understanding Zero Trust in 5 Minutes
Published: at 10:12 AMExplaining the Zero Trust security model: core principles, comparison with traditional security, and practical examples.
-
Understanding Saga Pattern in 5 Minutes
Published: at 11:59 AMExplaining Saga Pattern: distributed transactions in microservices, Event-Driven vs Orchestration, compensation, and eventual consistency.
-
Saga Pattern: When Theory Meets Reality
Published: at 09:02 AMReal-world lessons from implementing Saga Pattern: partial failure, imperfect compensation, duplicate events, and the trade-off between Orchestration and Choreography.
-
Be Careful with Retry – Don't DDoS Your Own System
Published: at 04:02 PMUncontrolled retries can cause cascading failures. A guide to proper retry with exponential backoff, jitter, circuit breaker, and deferred retry.
-
Hundreds of Orders Vanished in Just 3 Minutes – All Because of One Forgotten Config Line
Published: at 03:13 PMA real case study on the consequences of forgetting graceful shutdown configuration in Spring Boot: lost orders, Kafka messages, and lessons learned.
-
AI Won't Take Your Job – Your Own Obsolescence Is Making You Lose It!
Published: at 11:38 PMA practical perspective on AI and the programming profession: AI is a tool, not an enemy. How developers can leverage AI to advance their careers.
-
I Don't Like Microservices, and Here's Why
Published: at 01:52 PMA real-world perspective from a backend developer: when to and when not to use microservices, trade-offs with monoliths, and lessons for small teams.