Why I'm Learning English as a Developer
I’m a senior backend developer learning English while going deeper into AI. In this post, I share my current English level, my challenges, my goals, and how I plan to measure my progress.
Notes on architecture, backend engineering and the English journey.
I’m a senior backend developer learning English while going deeper into AI. In this post, I share my current English level, my challenges, my goals, and how I plan to measure my progress.
Free text is great for humans but terrible for code. In this post I show how I get reliable JSON from LLMs with schemas and validation, and why I treat prompts like code: versioned, reviewed and tested.
Calling an LLM API is easy. Running it in production is not. These are the backend patterns I use to make AI features reliable, cheap and safe: timeouts, retries, queues, caching and good boundaries.
Your app works on your laptop. But what happens in production at 3 a.m.? Observability helps you answer questions you didn't plan. Here is a simple guide to logs, metrics and traces, with AI features in mind.
A good API is easy to use and hard to use wrong. These are the REST API design rules I follow every day as a backend developer: names, status codes, errors, pagination, versioning and safe retries.
Every post on this blog has a small chat. You ask a question and the AI answers using the article. In this post I explain how it works: chunks, embeddings, vector search and a good prompt. This technique is called RAG.
Hexagonal architecture sounds complex, but the idea is simple: keep your business rules in the center and push databases, frameworks and APIs to the edges. Here is how I explain it, with real examples.
AI writes code fast, but your attention is the real limit. Here is how I designed a simple harness with files, git and exit codes, so every task arrives with proof that it works — and I can run two or three tasks at the same time without losing control.
SOLID is one of the most common topics in technical interviews, but many explanations are too abstract. Here are the five principles with real backend examples and honest advice about when to use them.
Unit tests expect the same output every time. LLMs don't work like that. Evals are the answer: a set of examples, a way to score the results, and a number you can compare. Here is how I build them.