Elon Musk correctly named the non-technical elephant in the room.
Working with a disparate group of other people is difficult at the best of times — what with their variously different backgrounds, ideologies, and surprisingly large amounts of baggage (especially when you start to get to know them), it’s a wonder the whole world isn’t a smoking ruin¹ by now.
Working with other software engineers, however, very significantly takes things up a notch². The idiom, and I love idioms as you probably know, ‘herding cats’ is often used to describe the process of organising or, and I’m reluctant to use the phrase because of its negative connotations, managing software engineers.
Although we tend, mostly, to come from similar backgrounds — hours spent in darkened rooms, the consumption of endless unhealthy yet tasty and easy to prepare snacks, and have a general aversion to physical exercise unless it involves a day trip to the Apple Store — our ideologies and baggage are considerably different to those of people populating other industries.
This produces an enormous amount of friction when it comes to managing a software engineering team, division, or indeed a whole organisation.
A Salient Tweet
I very strongly feel that any [project | product | line | middle] manager, or CTO come to think of it, that has direct contact with and responsibility for driving a software engineering team should have a solid technical background.
What’s not needed is some drafted in PMP³, MBA, waffling bullshit type character who believe that everything developers do could be easily replaced with an Excel spreadsheet, every presentation belongs in 50ppt Comic Sans animated PowerPoint slides, and that if a project is failing due to excessive and burdensome process that’s what’s required is yet another agile evangelist on the team (and a couple more scrum boards and accompanying daily stand-ups to boot).
What triggered this (personal) reflection was a tweet from everyone’s favourite tech anti-hero Elon Musk⁴ regarding to possible changes to the software engineering approach at Twitter.
Here’s the salient tweet in any case: