Hi, I'm Panayiotis.
This is the space where I share my experiences and evolving thoughts on the craft of software engineering and the art of leading teams.
Welcome. Feel free to explore my writing.
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.
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.
5 Lessons That Transformed How I Approach Execution as an Engineering Manager
In this blog post, I’m diving into execution; arguably the most crucial skill in engineering management because it’s all about delivering the results that drive your company forward.
8 Tips for Pragmatic Technical Decision-Making in Fast-Paced Environments
This blog post explores the engineering decision-making challenges in fast-paced development environments, the importance of maintaining technical agility, and presents a framework to make balanced technical decisions that enable consistent velocity and quality.
Feedback loops in software engineering
In this blog post, I write about the power of feedback loops and the essential characteristics of the ideal feedback loop.
Software Documentation - Value, Misconceptions, Common Pitfalls, and Essentials
This article explores the value of software documentation, a few misconceptions about the need for documentation, and some common pitfalls we fall into when we document software.
Software Engineering Philosophy: Tradeoffs and Quality
This post talks about software engineering philosophy; the list and priorities of the fundamental values we, software engineers, use to decide how to approach tradeoffs in software engineering problems.