







The idea of “servant” leaders has been on the rise in the agile community of late. Robert K. Greenleaf coined the term in a 1970 essay, but the idea is timeless.
The surprising traits of good remote leaders
Strong in-person leadership skills don’t necessarily translate to being a good virtual leader. Instead, organisation and competency reign supreme.

Agile at 20: The Failed Rebellion
Every software team says they do Agile and yet almost nobody is Agile. How did we get to this point? Where do we go from here?

The Gap Through Which We Praise the Machine
My current theory of agentic programming: people are amazing at adapting the tools they're given and totally underestimate the extent to which they do it, and the amount of skill we build doing that is an incidental consequence of how badly the tools are designed.

Andrej Karpathy: Software Is Changing (Again)
Software Developers Should Have Sysadmin Experience
The differences between system administrators and software developers as well as why all software developers should have some amount of sysadmin experience.

Emergent leadership: The trait that smart, innovative companies seek out in employees
Emergent leaders step up and lead when qualified but are comfortable in the background, too.

The third golden age of software engineering – thanks to AI, with Grady Booch
The third golden age of software engineering – thanks to AI, with Grady Booch
Staff archetypes
Most career ladders define a single, uniform set of expectations for Staff engineers operating within the company. Everyone benefits from clear role expectations, but career ladders are a tool that applies better against populations than people. This is particularly true for Staff-plus engineers, whose career ladders often paper over several distinct roles hidden behind a single moniker. The more folks I spoke with about the role of Staff-plus engineers at their company, the better their experiences began to cluster into four distinct patterns. Most companies emphasized one or two of the patterns, and one pattern only existed in companies with many hundreds or thousands of engineers. A few companies didn’t feature any technical leadership pattern and pushed all their experienced engineers towards engineering management. In literature, recurring character patterns are called archetypes, such as the “hero” or the “trickster,” and the archetype term is helpful for labeling these frequent variants of Staff-plus engineers.
The blue-collar WordPress worker and the 2,500+ websites built to grow the CMS
I'm not foolish enough to think that the entirety of WordPress' growth is driven by our love for the software, but that we consultants are responsible for

Reasons to hire inexperienced engineers
There are many reasons to consider hiring inexperienced software engineers into your team, beyond the commonly discussed factors of cost and social responsibility. Hire to maximise team effectiveness; not to maximise team size. Adding more people increases the communication and synchronisation overhead in the team. Growing a team has rapidly diminishing returns. However, adding the... Read more »
The Software Revolution
In human history, there have been three great technological revolutions and many smaller ones. The three great ones are the agricultural revolution, the industrial revolution, and the one we are...
What Makes A Senior Software Developer?
The notion of a "senior" developer is extremely subjective. How can we define it better?

Habits of High-Functioning Teams
I often struggle to explain what it means to be part of a high-functioning software team. Sure, there are mountains of literature, and an entire genre of LinkedIn thought leadership that professes all kinds of guidelines and heuristics about what makes teams work, but in my experience, it’s hard to internalize these ideas and follow someone else’s model if you’ve never seen what good looks like.
The Trap of Instant Heroism in the Era of AI
AI has expanded what engineering leaders can do.

”The distinction between programmer and user is reinforced and maintained by a tech industry that benefits from a population rendered computationally passive. If we accept and adopt the role of less agency, we then make it harder for ourselves to come into more agency.”
always-already-programming.md
gist.github.com