I spent a lot of my career trying to find roles where I didn't have to deal with people. A lot of time in startups and small businesses, where my job was to just build. At a certain point, there weren't that many new technical problems I was running into, so I decided to work on team-building skills. Over the past few years, I've been managing engineering departments, something I never though I would do.
It's usually people. Sometimes it's opportunity. But it's usually people.
I've ended up with a lot of thoughts on the topic, but I'm not sure how best to convey them, so I'm doing to rant in dot points:
- People rarely leave because of technical decisions. Most people are appeased when you can explain the rationale, even if they disagree
- Good leaders make or break an organisation. They inspire people, they give them a cause to rally behind. A lack of good leaders will kill culture within a year
- Good leaders own problems and will find a way to solve them, they won't accept the status quo
- Bad leaders will tell you why a problem is not their fault, and do nothing to fix it
- Good leaders need good leaders - it starts at the top. A good CEO will change your worldview
- Good leaders-of-leaders know everything is kind of fucked, and appreciate leaders who are actually trying to improve things, without expecting they're going to get everything right
- Leaders need to really believe in their cause. People know when you're faking it
- Culture is not a by-product. It's the product. You work hard to create a good culture, and it can disappear very quickly. Building good culture is how you build good teams. You can't work around a bad culture
- Most of being a good leader is just turning up. Be there for your people, listen to them, try to make their lives better. Make time for them. Show them you care
- Regardless of all of this, people will leave. Sometimes because the company isn't a good fit, sometimes because they're at a different point in their career. Attrition is healthy, you just need to keep a pulse on whether it's happening for unhealthy reasons
In summary: yes, it's pretty much always people. Building software is easy. Building a healthy work environment is hard. Most people focus on the easy problem.