The mundane skill that makes you stand out as a software engineer
One of the best things about being a Principal Engineer at Mailchimp is the time I get to spend chatting with other engineers who are earlier on in their professional journey. After two years, I’ve talked to quite a few, and at one point or another, almost all of them ask me how they can develop their career.
It’s clear that deepening your craft, being diligent about tests, and writing documentation are good things to work on. But there’s one thing I mention whose importance people often haven’t considered. It’s not especially revelatory, nor particularly glamorous, and it’s not even engineering-specific, but it is vitally important:
When you’re a junior engineer, you probably have one or two tasks at any given time, and usually they’re on just one project. But as you take on more leadership, you tend to take on more scope — bigger problems, larger projects, more moving parts. Pretty soon you’re largely delivering your outcomes through other people, and you might be trying to coordinate multiple teams, groups, or projects simultaneously. You have more to worry about, and less direct control.
Your own leaders want milestones and deadlines from you, because they have to provide milestones and deadlines to their own leadership. (And not even the C-suite is immune, because fundamentally we’re in the business of providing software as a service to our customers, and they — and our competitors — exert a pressure of their own.)
So, most leaders — at whatever level — are in the business of packaging up uncertainty from the folks they depend on, and giving some certainty to the folks who are counting on them.
The absolute best way you can help your leaders do that is by being dependable. And by that I mean making commitments, and keeping them.
Leadership is often like keeping a dozen plates spinning simultaneously. There’s more than you can handle, and you constantly need to keep switching your attention to prevent things from falling. On a team where your leader is trying to coordinate the output of a bunch of different people, the greatest gift you can give them is the relief of knowing that you’ve got your part covered.