And I remember that every single time I wanted to run away from a role/company/project the main reason was always the other people in and around it. Personality incompatibilities, to put it gently. Ar$eholes to put it right.
That kind of stuff dissolves teams, burns people out, drives people out, wrecks projects and companies.
I'm curious. What's your view on this? If my view is valid then it seems to me that we have been discussing technology (e.g. which prog language is better for a domain) only because we cannot address the elephant in the room - aka peopleware. And if that's so then in large part a lot of what we do is effectively losing battles.
Thanks
Of course there are still slackers and people who want to take out their problems on others and there's not much you can do about that except perhaps develop other ways of dealing with such people, assuming you need to. Stoicism can be a useful mindset for situations like that.
Another thing to consider is your job hunting filter; perhaps you're not effectively excluding dysfunctional organisations?
The specifics of the work (whether you code in X or Y etc.) might affect you but that's dependent on your personality and even then not to a big degree.
People on the other hand are much more intense. They can make things much better or much worse. They can also amplify or attenuate good things. e.g. It's hard to enjoy working on your favourite language/technology when you have to pair program with an annoying engineer with a micromanager looking over your shoulder. It's much more pleasant to code in a language that you're not particularly fond while pairing with an intelligent and interesting colleague.
The final line is the people themselves and that can be improved a little through hiring practices. However, an active effort to keep the company culture "good" is also necessary and that has to come from the top.
Reminds me of a blessing from an old boss of mine "May all your problems be technical." Those are the easy problems to solve.
I've worked for brilliant managers in great teams - and left because the business wasn't able to support my growth. Or because the company was ethically dodgy. Or because they just couldn't pay enough.
And, yeah, sometimes I've left because of a bad boss or grim team members - but that's been a rarity.
But, at the end of the day, a job isn't your life. You don't need to find meaning there - you don't even have to like your co-workers - as long as you have a life outside of work.
I nowadays don't even care that much about the technology I am dealing with, but things like a hostile environment (not only to me, but even if it is only affecting the cleaning lady), stupid jokes, misogynistic behavior, etc. from co-workers make the time at work a drag and I start to fight it involuntarily.
And some behavior from levels above me, e.g. irrational or unpredictable behavior, egoistic actions, taking credit for other's achievements, or double standards, etc. can break the sweetest deal for me. I can not take this anymore, it stresses me out and makes me hate my life so I need to go.
The simplest yet hardest thing is to understand that the culture at a company won't ever change, even if most people change. You would have to swap the whole org. It is simpler and faster for you to move on and find a better place.
Which is probably also a clue to run away, terribly fast.
1. I knew I was stagnating, and there wasn't much room for growth. The companies weren't bad places to work, in fact they were opposite. The teams were nice, the offices were nice enough, you could mostly do what you want and life was pleasant in general.
But I realised I wouldn't be happy just working on the same thing for decades on end, and coasting along like so many company lifers. So I left.
2. Pay. Yeah, it's cliched to say that, but every time I switched job I got a pay increase, so I always ended up looking for new opportunities as a result.
I've come close one other time, but when I spoke to my recruiter, they said I should wait because they suspected the contentious person was moving on. That person quit a week later and many took a collective sigh.
* how well personally connected they are too senior management staff (often based on length of time at the company)
* how many metrics and graphs they produce for senior management to give an appearance of measurable and controlled productivity
* how good they are at giving presentations to senior management that sell what the team is working on
* enthusiasm for talking in meetings in general
Then people in non-leadership positions are judged on how much they please the middle managers and team leads with things like:
* enthusiasm for being talked to and managed in meetings
* enthusiasm for JIRA and producing metrics
* maintaining slow but predictable productivity, gradually but persistently working through piecemeal JIRA tickets
Certain teams at certain companies hire on the basis of collaboration skills and technical ability rather than fitting into a corporate hierarchy, but such teams are extremely competitive and way beyond my resume and my level of knowledge. For about the 3rd time in 15 years I'm about to take an extended break from the industry. I guess I'll have to come back again sooner or later though, because I don't know how to do anything else.
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.
Hah, for me that's most days Mon-Fri. But not to start looking, but just quit and take some time off. I just can't brainwash myself to like (or even tolerate) paid work.
I've been at this longer than you and the consistent fault of most tech-minded is they 2x the value of technology over people / team / leadership. It's the other way around, at least. Tech and associated skills are easy. People? That's the hard part.
Once the understanding of reality is off-target everything that follows is misguided. And there is a lot of misguided efforts in tech.
1) You not alone in your experience and how you feel. So don't worry about that.
2) Read up on leadership. Become the leader you wish you had.
3) Read up on comms. Even if those around don't do it well, sharpening your communication skills - including listening - is a life skill that will never go bad.
This can be done. But it requires a community effort and “community policing” for people instilling zero sum/negative sum mindset into the community. But instead of prison or a negative giving them the opportunity to change.
I’ve actually been wondering whether employee owned corporations and other cooperatives address this “naturally” or not.
In the end an organisation is made out of people, and yeah people are then naturally the problem.
It sounds like you get into conflicts sooner or later, and this is what gets to you.
I've also people been slowly suffocated by non-conflict, so it's not always the assholes. Often burn-out, from what I've personally seen is mostly the pressure people put on themselves. Although this is anecdotal.
But back to you it could be you've been exclusively working in companies with high stress environment, for instance agencies. Stress brings out more anger in people.
Out of the 6-7 teams i've worked in in the last decade, there were a few conflicts but none ended in it, and except for one all got resolved.
(This is aimed at programmers)
Being a programmer is hard in that respect. There are many professions and positions where the individual has much more autonomy over their part. A typical setup in a small company may have a team of programmers and many other positions which are a team of one; graphic design, legal, HR, business dev, etc etc. Sure, all of these can grow into teams at some point but most jobs in programming mean being part of a team, which means being able to compromise (sometimes even when it’s BS) and gain the favor of your peers.
Team programmers are not sought out based on their sense of artistry, by that point the job is basically a grind.
Many of the people in that company would probably be fun to work with in a different environment.
Relationships are governed by faith. Corps hire random people from different faiths, religions, families, country backgrounds, different individual goals and different abilities. There's no corrective mechanism to make people see the same destination, the same dream, eye-to-eye.
A corp of mercenaries isn't united around anything, except the dream of getting paid. The fastest way to sink a competitive team is to turn on one-another. Just turn the other cheek on assholes and go straight for the target.
Otherwise management can try and fake unity/peace with a code of conduct.
- immoral projects I didn't want to work on
- personal life decisions (long leave) and boring project
- company closed
- couldn't stand being oncall and had a lot of pressure outside of the job, leading to fast and bad choices
- ah, and yes, Ar$eholes, I had those too, but only once out of 7 jobs.
It's possible and even likely that whatever you've worked on most of your career isn't going to be like that. Most products disappear quickly and few people care if they didn't personally profit while they existed. But the products that do matter and will still exist in a thousand years, will do so because of the technology, not because of the people.
None of that is to say people don't matter. There is no point to creating and using technology if no one ever gets to live a more satisfying life because of it. And one of those people may as well be you. So, by all means, go and find your bliss if you can, but don't believe that organizational effectiveness requires the people in it to be satisfied and happy with what they're doing. Slaves built the pyramids. I'm sure the vast majority of soldiers in the Red Army didn't want to be there and served at the threat of execution, but they nonetheless swept over the Nazis and shaped world history to this day.
As for me personally, I've liked the people everywhere I've ever worked, and the very first software job I ever had remains the most interesting and challenging technology I ever worked on. Every time I left, it was for more money. Ultimately, the life outcomes of every future generation I'm ever responsible for, as well as my own, depend more on socioeconomic status than how much I like my co-workers. They come and go pretty frequently anyway, whether you change companies or not, whereas family is for life. Better relationships with them matter a lot more.
"Context, Context, Context: How Our Blindness to Context Cripples Even the Smartest Organizations"
by Barry Oshry
most people want to do a good job, be nice to others and be productive and feel fulfilment in their role and life.
and people behave like the context they are put it. and over time this context puts as into a "us vs them" or "me vs them" mindset.
it is not inevitable, but hard to change.
hard agendas, sociopaths, outright hostile middle management. You need to look after your own mental health and financial resources - noone else will. Also very very uncommon for loyalty to pay.