People overestimate how much of the speed at which they ship software is a function of their own abilities, and radically underestimate how much is set by the systems they operate in. 🤔 https://twitter.com/darrenmeehan/status/1263568732267446274
Some things that impact your ability to ship swiftly with confidence:

* language, framework, library support
* deploy process and tooling
* on call rotations
* defaults, any+all
* expectations
* cultural scripts around failure
* who is admired? why?
* levels, promotions
Developing software in modern times is like operating heavy machinery. So, so many powerful tools at our disposal. (And thus ops skills are an increasingly critical part of the effective software engineer's toolkit.)
Everyone gets so wound up about hiring "great engineers", but as @jessitron and I yelled in unison on @o11ycast earlier --

"GREAT TEAMS MAKE GREAT ENGINEERS"
I have no scientific data to support this, but in my experience, barring any *severe* technical and/or social misalignments, an engineer's productivity will basically rise or fall to match that of their new team's within 3-6 months of their joining.
It's no accident that the more senior people get in their careers, the more attention they typically invest into the sociotechnical systems that support us shipping software.

We naturally crave having greater impact, and these systems turn you into a force multiplier.
This is just as true of people on the technical track as managers, and it's a shame that we often fail to notice (or compensate) the complexity and difficulty of the leadership challenges involved as easily as we recognize the manager's expanding domain.
But it should be emphasized -- a well functioning team is the responsibility of ✨every member✨ of that team.

There is no playbook you can blindly apply (tho @lizthegrey and I tried! 🙃 https://www.honeycomb.io/wp-content/uploads/2019/06/Framework-for-an-Observability-Maturity-Model.pdf); every single team must invent its own aspirational true self.
This is why I think the most effective line managers are never more than 3-4 years removed from working as an engineer, and why I think most engineers should give management a try.

Solving sociotechnical systems problems draws deeply from *both* skill sets.
And lord but there are a lot of problems to solve. 🙃 Our teams do not...function...well. We waste 42% of our week on average, and half of us take 1-6 months to ship a simple change.
Until @nicolefv et al gave us the DORA reports, we lacked a common standard to measure ourselves by. But now!!

I would LOVE for 2021 to be the year where every conference has *multiple* talks on "how we pulled our DORA scores up from Medium to Elite in just three months"
Do you know how good that would be for your ability to recruit talent? Do you know how exciting it is to kickstart a virtuous feedback loop of buying yourself spare time to spend buying yourself more spare time...?

This shit bonds a team tight, makes everyone shine with pride.
The bottom half are actually losing ground, year over year. Because in tech, if you're standing still you're actually sliding back.

I fear people on those teams have told themselves a story about how they aren't good enough -- this isn't for them. Which is *bullshit.*
Some of the best engineers in the world are on those teams. It's not individual ability that's holding you back. It's the friction in the system.

**And you can change that**. (And if you really can't, you should leave and find a place that values your time and energy.)
You can follow @mipsytipsy.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: