Blog
A blog to share what I have learned about building and leading high-performing engineering teams
Featured posts
An agent opened this pull request. Nobody asked it to.
There is a version of the AI and engineering conversation that is pure hype, and a version that is pure caution. I am trying to live in neither. We use AI heavily at Voyfai, and over the last few months I have automated almost the entire path from a problem in production to a pull request that fixes it. A human still approves and merges at the end. Last week we merged our first fully autonomous pull requests: ones an agent opened on its own, from noticing the problem to writing the fix, with no human starting the work.
We have leaned on AI to help write code for a long time, like everyone has. The new part is not that an agent can write a fix. It is that nobody told it to. I want to be honest about why that human is there, because it is not the reason people usually give.
The App in the Age of Mechanical Generation
As AI tools make it effortless to generate software, we’re entering an era where app creation is no longer a craft — it’s a prompt. This piece explores how mass generation is flattening quality, echoing what happened in music and content, and why the future of software might be less about code and more about taste, ethics, and intent.
Social Context and Technological Artifacts: Identity Construction in the Age of Social Media
Social media platforms don’t just reflect identity — they shape it. As digital tools blur the boundaries between our social spheres, they become both environments and actors in the construction of the self. Understanding them requires not just technical skill, but cultural and social awareness.
From Networked Selves to Prompted Realities
In this new era of prompted realities, the question isn’t just what we can do with AI — it’s what we’re giving up in the process of letting it speak for us.
Scaling Tech Teams, Avoiding the Sunk Cost Trap, and Leading with Systems Thinking
Scaling tech teams demands more than metrics — it requires systems thinking, intentional design, and a foundation of psychological safety.
From AI Assembly Lines to Orchestrators: Two New Paths Emerging in Software Engineering?
As AI accelerates software delivery, the engineer’s role is shifting — from code artisan to prompt-driven operator or strategic orchestrator. The challenge ahead isn’t just adapting to AI, but ensuring we still build the judgment, systems thinking, and mentorship that great engineering demands.
Jargon Is Killing Your Leadership. Here’s What to Do Instead.
Jargon doesn’t build trust — clarity does. To lead effectively, tailor your message to your audience, speak plainly, and focus on insights that drive action. Leadership communication isn’t about sounding smart. It’s about being understood.
Thriving in Tech: Embracing Innovation in the Digital Age
Exploring the importance of adopting principles over processes, trust over control, innovation over predictability, and learning over failure in the fast-paced world of tech organisations.
The 5 Dysfunctions of a Leader
Let’s explore five dysfunctions that can impede effective leadership and practical examples and strategies to prevent or resolve them.
Bring me problems not solutions
Advocating for the importance of focusing on problems as a means to generate value for your organisation.
Building a highly performant engineering organisation
Unleashing Autonomy, Mastery, and Purpose.
Why technical background matters in engineering management
On the importance of making impact-driven decisions by leveraging technical knowledge.
How to “keep a steady pace and don’t break things”
How to transition from the “move fast and break things” paradigm to a “keep a steady pace and don’t break things” — all while making sure you don’t jeopardize customer feedback or time to market.
How to perform effective code reviews like a human being
Implementing an effective and efficient code review process is not easy. Here is what I learned.
request a blog post
Are you interested in a particular topic?
Just fill in your request for a blog post and I will do my best to write it.