Learn how to design object-oriented systems that are maintainable, flexible, and scalable. Master CRC cards, GRASP patterns, coupling and cohesion, responsibility-driven design, and practical design heuristics with examples in TypeScript, Python, and Java.
Deploy your Dockerized Next.js blog to an Ubuntu VPS on Hostinger. Set up SSH keys, install Docker, configure Nginx as a reverse proxy, get free SSL with Let's Encrypt, and automate zero-downtime re-deploys.
A personal reflection on my VNG fresher program in 2012 — the 6 months that taught me more real-world engineering than 4 years of university. From Windows to Linux, C# to Java, SQL Server to Redis.
The developers who never get replaced share specific habits: they do excellent work, love fundamentals, wire learning to their jobs, seek challenges, and intentionally improve over time.
Understand the core differences between processes and threads, how they use memory, communicate, and when to use each. Includes real examples in Python, Go, and Java with diagrams.
In an AI-accelerated industry, specializing only in frontend or backend work is risky. Here's why embracing full-stack skills is the safest bet for long-term career growth.
Learn how to use VS Code Remote-SSH to develop on remote servers with full local IDE experience. Covers setup, configuration, tips, and common workflows for seamless remote development.
Complete learning path for mastering Spring Boot development. Step-by-step roadmap covering fundamentals, database integration, security, testing, and deployment. Perfect guide for beginners and intermediate developers.
A comprehensive guide to MDX — combining Markdown and JSX to write interactive, component-rich documentation and blog posts. Covers syntax, plugins, Next.js integration, and real-world patterns.
A comprehensive guide to layered (N-tier) architecture: presentation, business logic, and data access layers, strict vs relaxed layering, dependency direction, common mistakes, and when layered architecture breaks down.
A comprehensive guide to hexagonal architecture: ports and adapters, driving vs driven sides, dependency inversion at the core, practical folder structure, testing with mock adapters, comparing to layered architecture, and real-world examples of swapping infrastructure.
A practical guide to migrating Python code from ThreadPoolExecutor to asyncio. Learn when to migrate, step-by-step refactoring patterns, common pitfalls, and how to handle blocking code that can't be made async.
Learn how to use ProxySQL as a connection pooler between PHP applications and MySQL, dramatically reducing connection overhead and improving database scalability.
A deep dive into the new APIs and libraries in Java 25, including Scoped Values, the Key Derivation Function API, Stable Values, PEM Encodings, and the Vector API.
The gap between senior and junior AI usage isn't about knowing more prompts. It's the same gap that existed with Google: seniors know what they need, juniors hope the tool figures it out for them.
Most developers treat commit messages as an afterthought. But when you use AI to write them deliberately — with reasons, not just changes — your git history becomes a powerful context source for every future AI interaction.