Live data from Hacker News

How learned helplessness happens in engineering teams

okayhq.com

181–190 of 220 posts

Re: How learned helplessness happens in engineering teams

#181
post #94

Just today, my team had a developer meeting. The tech lead started out by complaining about how he has to do an untested unplanned release today because another team made some urgent changes. He's the only person who knows how to release it. The other team didn't communicate until today that a release is necessary. We've done two other releases in the past month and both required a day of troubleshooting to fix issue…

The tech lead started out by complaining about...When he finished complaining... My manager doesn't know anything about the code, my project, or the release project. IOW, your team has no leadership and no management. Your team lead may be called that, but sounds like he doesn't lead at all. Your manager may be called that, but he doesn't manage either. This happens a lot when people are given responsibility without…

> The good news is that there is a leadership vacuum that, if you play your cards right, you could fill. If you want.

Perhaps. I thought so once in exactly this situation, and it led to an incredible amount of frustration, and burnout. And others were hurt the same way. That leadership vacuum was very real, but nobody wanted it to be filled by anyone already in the company, it turned out.

Eventually we got a very competent new team lead from outside and he was accepted by everyone immediately. For one of the teams anyway; the other one is still a complete mess. I just make sure I'm on the right one.

Re: How learned helplessness happens in engineering teams

#182
post #74

Earlier quoted context omitted.

It is somewhat meant to be snarky, but then again the original quote is exceedingly naive. It describes very well the phenomenon but gives advice that I can only see ever working at BigCo. Where your team is huge and if you screw up there's another one down the hall. The truth is most places that exhibit this level of helplessness often include a small team of 5 or 6, each with plenty of tenure. With no other lateral…

Why do you want to "engineer your way to the fucking top" of a broken organization with a bunch of teams full of bad engineers managed by stuffed shirts who don't give a shit? You may think I sound naive; I think you sound burned out. In my experience, it's pretty common for someone to say, "hey boss, Joe is really phoning it in these past few months, it's dragging the team down and you need to do something about it"…

> Why do you want to "engineer your way to the fucking top" of a broken organization with a bunch of teams full of bad engineers managed by stuffed shirts who don't give a shit?

Because it’s easier than socially engineering your way up a competent organization and the paychecks are similar.

Re: How learned helplessness happens in engineering teams

#183
post #94

Earlier quoted context omitted.

The tech lead started out by complaining about...When he finished complaining... My manager doesn't know anything about the code, my project, or the release project. IOW, your team has no leadership and no management. Your team lead may be called that, but sounds like he doesn't lead at all. Your manager may be called that, but he doesn't manage either. This happens a lot when people are given responsibility without…

This resonated strongly with me. If you don't want to become a leader, what do you do in a disorganized mob situation? Leave?

There is often room for personal initiative in such cases; do what you can, make sure to not try to do more than you can, and be happy with it.

Re: How learned helplessness happens in engineering teams

#184

Just today, my team had a developer meeting. The tech lead started out by complaining about how he has to do an untested unplanned release today because another team made some urgent changes. He's the only person who knows how to release it. The other team didn't communicate until today that a release is necessary. We've done two other releases in the past month and both required a day of troubleshooting to fix issue…

I’ve been there. It sounds like you’re starting to blame yourself for their failings. You’re not sure if you’re a little crazy or they are. They’re gaslighting you. Get. Out. As. Soon. As. Possible.

If they’re using your valid concerns as issues on performance reviews, then the company values making low quality software, not their employees. Get out of the sausage factory and get into a place that values their employees and product. You’ll be much happier.

Re: How learned helplessness happens in engineering teams

#185

Just today, my team had a developer meeting. The tech lead started out by complaining about how he has to do an untested unplanned release today because another team made some urgent changes. He's the only person who knows how to release it. The other team didn't communicate until today that a release is necessary. We've done two other releases in the past month and both required a day of troubleshooting to fix issue…

I regularly re-read the opening few pages of the Pragmatic Programmer as a mantra to myself, because what you have written here is very relevant.

> It is your life. You own it. You run it. You create it.

> Many developers we talk to are frustrated. Their concerns are varied. [...] And the answer we give is always the same.

> "Why can't you change it?"

> But, for some reason, developers seem to resist change. They hunker down, and hope things will get better.

> [...]

> So here's the most important tip in the book.

> Tip 3: You Have Agency

> Does your environment suck? Is your job boring? Try to fix it. But don't try forever. As Martin Fowler says, "You can change your organization, or you can change your organization."

When I read the situation you describe, the best thing would be to acknowledge where the tech lead is emotionally, and sympathize, because it sounds like they simply wanted to sound off about it, not actually change it at all. It's always easy to say no to why something won't work, and it sounds like a classic drama triangle situation, with someone coming in as a persecutor, you stepped in as a potential rescuer, then you became a victim because obviously your suggestions won't work.

You, however, don't need to accept the situation, and you can try to change it if you wish. Too many people (including myself, hence why I always re-read those few lines) fall into the trap of thinking that someone else should make this or that change, make a decision, or that you require approval or authority. This is far less true than people believe.

As someone who has stepped into a software manager role for the first time from being a software engineer for most of my career, my view is that I'm not always there to solve the problem, but to give space for people to solve the problems themselves. It helps if I know what's going on, or understand the issues, but I trust my team, and those I work with, and would rather get them together with the right people to discuss it through, and work out a way forward.

I appreciate I don't know the situation at your organization, the battles you fought, the things that have been said. Change is never easy, and there's always resistance, but you do have agency, as does your tech lead. Never forget it. Good luck.

Re: How learned helplessness happens in engineering teams

#186
post #15

Earlier quoted context omitted.

Technical debt is all of the forms of self-sabotage that don't have clear metrics associated with them. If they had clear, unimpeachable metrics, then you could increase your status by fixing them. Since they don't, few people engage with them. Worse, engaging with some of these problems can lose you status, and so tackling them becomes a form of self-sacrifice.

Hinkleys's law: A measure that becomes a target might cease to be a good measure, but a target that isn't measured ceases to be a target at all.

Does this law apply also to projects like Linux Kernel or Wikipedia? If not, where does it apply?

Re: How learned helplessness happens in engineering teams

#187
post #123

Earlier quoted context omitted.

> All you have to do is say no once in a while... > Just insist... Some companies work like this, but many don't. Such utterances could be charting a course to the door for you.

Plenty of openings out there. Not worth suffering to get a 2% raise rather than 1%. If they won't let you fix something once a month it's time to get moving. Learned helplessness, indeed.

It isn't learned helplessness if you are actually helpless.

Re: How learned helplessness happens in engineering teams

#188
post #175

Earlier quoted context omitted.

>I think the reality is that this kind of change can't originate from the in-the-trenches folks at the bottom of totem pole. I'm a manager. Please. PLEASE don't believe this. In-the-trenches folks ARE powerful. Really. I promise. I can't implement change if YOU don't do it. I don't know what sucks if YOU don't tell me. I NEED you to help me make things better.

Please don't invalidate other people's experiences.

that's a two-way street

Re: How learned helplessness happens in engineering teams

#189
My example of horrible technical debt goes like so:

I (not that long ago) worked at a company that kept all their data in MySQL. Sounds fine. The bad part was all their user-facing stuff was written in Microsoft Access.

This didn't make any sense and was the main thing that prevented them from moving to a web-based or API-based interface. They had written some code here and there that would cobble a few things together but it wasn't the right way to do it.

During a discussion, I asked why there were 2 MySQL servers. They held different databases, but it would have made more sense to have them both on one server. I assumed that at some point in the company history, the data got too big to fit on one server, so they split it up, and that ended up being true. And ever since they had some misguided sense of safety having two different databases, even though if you were missing the other, all functionality would break.

At the current time, the databases weren't large enough or accessed enough to require being on separate hardware. It seemed simple enough to just import one into the other and then get on with modernizing the rest of the code.

"We would have to re-write the entire codebase since it's based on having two servers"

Access lets you basically do joins etc on two separate databases. So this was used heavily. Whenever they tried to duplicate this functionality in PHP or whatever they would try, it turned into a nightmare.

I would imagine if they had spent another $10k on hardware back when they first had this problem they would have saved a lot of future troubles. Imagine running legacy versions of Visual Basic, developers needing Windows XP VM's, end users needing two copies of Microsoft Access installed...

Re: How learned helplessness happens in engineering teams

#190

Earlier quoted context omitted.

This strikes a chord with me. Ironically, the only way to minimize the "game playing" is by mastering them. There will always be people out there whose only real skill is manipulating the people around them, and who will deploy that skill at full force. I'm not saying you should manipulate the people around you... but the twin powers of, "understanding whats going on around you" and "documenting everything", go a lon…

Yes.. I came to a similar sad realization. Either understand the game better or somehow treat people like confused scared kids posturing. I also try to distill good vibes and motivation, bit by bit. Listening, suggesting, showing. I've asked a few places but I've been looking for the social dynamics of work groups.

This article helped me to understand "the game" a little better. https://www.ribbonfarm.com/2009/10/07/the-gervais-principle-...
Post reply on HN