Hi, I’m Panayiotis.
I write about the parts of software engineering that sit between code, people, and judgment - how we make decisions, weigh tradeoffs, and design things that hold up, whether that’s an architecture or a team.
Caching Is Not Free
Cache is one of the most misunderstood components in software architecture.
Staying Technical as an Engineering Manager
It’s Friday afternoon and you’re coming out of a week where the important work was mostly conversations. You look at the backlog and it hits you again: “I’m not doing enough technical work. I’m losing my edge. My identity. Damn.”
Redesigning my Website with an AI Partner: What a Joy
It’s been a long time since I wanted to redesign my website. I wanted it to feel like mine, but I kept postponing it.
Domain-Driven Design in Go: Designing Entities - What Works, What Breaks, and What’s Overkill
At first glance, defining an entity in Go seems simple - just a struct, right? Well, not quite.
Agile: Embrace the Philosophy, Not Rigid Framework Rules
Staying strictly fixated on any Agile framework and enforcing written-in-stone rules by the book is inefficient.
3 Major Fallacies Engineers Make in Architecture Decisions
Over the past 10 years, I’ve led and participated in numerous architecture designs, learning a lot from my mistakes and observations.
5 Essential Prioritization Frameworks for Engineering Managers
Your time is finite, and your team’s backlog feels endless - welcome to life as an Engineering Manager.
Understanding and Achieving Your Goal as an Engineering Manager: 3 Fundamental Principles
As an Engineering Manager, you have a lot on your plate and need a wide range of skills to be successful. From technical expertise, to execution know-how and people management, mastering all these skills takes a lifetime, no doubt about it.