Hi, I’m Arlind. I’m an engineering manager who still writes code, mostly Python and Django, on a small product team. This is where I write down the things I keep running into at work: technical problems, the way roadmaps and teams behave in practice, and lessons I’d rather not learn twice. Most posts start from something that actually happened, with the details changed enough to keep it fair to the people involved.
Start Here
- You're escalating too late
Engineers wait too long to escalate, usually for reasons that feel like good manners. The message you've been avoiding for two weeks takes five minutes and unblocks more than anything else you'll do that week.
- Who else reads your feature flag?
A feature flag stays a temporary switch only until something else starts reading it. From that point it's a contract, and deleting it is a migration, not a cleanup ticket.
- Django signals don't have a bulk path
Django's bulk operations skip signals, so if your side effects live in receivers you have no batch path, and you find out the day an admin action times out. Notes on what that cost us and how to keep both paths open.
Recent Posts
Engineers wait too long to escalate, usually for reasons that feel like good manners. The message you've been avoiding for two weeks takes five minutes and unblocks more than anything else you'll do that week.
A feature flag stays a temporary switch only until something else starts reading it. From that point it's a contract, and deleting it is a migration, not a cleanup ticket.
Merged and released are not the end of a feature. There's a third check most teams never run: could someone demo this cold to a real prospect without apologizing for anything?
If you estimate an enterprise integration by reading the API docs, you've estimated the wrong project. The sandbox, the credentials, the certificates, and the customer's own IT team are most of the calendar.
A demo will occasionally show you the roadmap is in the wrong order. Changing the plan is the easy part. Doing it without the team quietly deciding your roadmaps are fiction is the part that takes work.
Django's bulk operations skip signals, so if your side effects live in receivers you have no batch path, and you find out the day an admin action times out. Notes on what that cost us and how to keep both paths open.
The engineers who ship slowest are often the strongest ones, because they keep polishing code that already solves the problem. This is the definition of good enough I actually use, and the tells that you've gone past it.
What this site is for and what to expect from it.