Live data from Hacker News

How learned helplessness happens in engineering teams

okayhq.com

201–210 of 220 posts

Re: How learned helplessness happens in engineering teams

#201
post #22

> Another employee or their manager teaches them it's a normal situation at this company I have one particularly memorable situation where I tried to coach someone out of this. Sometimes the New Guy is the only one who can change something at BigCo, and the moment you convince them that fighting the bureaucracy is too hard, you've lost one of the few assets that person has. As the processes get more complex, the time…

Oh man, this is so irritating. I've been pushing for changes for years, and told, "No, it can't be done!" Then the New Guy comes in, recommends the same damn thing, and suddenly management is like, "Hey! That's a good idea!" I mean, I'll take the win since the change finally happens, but what a great way to demotivate your existing staff.

Near as I can tell, this has to do with how many different people a problem has been reported by. Either strict numbers or turns of phrase finally changes the mind of the holdouts.

I started sending people to ask the person who has been vetoing the change about why we can’t have nice things. Sometimes it works.

Re: How learned helplessness happens in engineering teams

#202

Earlier quoted context omitted.

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-...

I've read these articles back and forth and I honestly cannot grasp more than 30% of the ideas. The loser eludes me, the middle layer same..

I'd love to poke in people's head to be sure what are the motives behind their behavior (the main one I assume being a balance of respect/equality and money).

Re: How learned helplessness happens in engineering teams

#203
post #195

Earlier quoted context omitted.

> My intuition is that this complexity is not actually needed if you remove all the cruft and think from first principles about what the actual problem is you are trying to solve. Have you ever worked on infrastructure? This comment is wrong on soo many levels.

This comment is not wrong on any level. I have worked in many aspects of web development. I know for sure that everything in the process is way too complicated for what it does. Unnecessarily so. There's no reason to think that infrastructure is the one place where all the complexity is there for good reason. Have I worked on infrastructure? Yes and no. Depends on what you mean. I have worked on infrastructure in the…

I guess there is a disconnect between what you mean by the term infrastructure and what I mean.

Let's take an example, say Reddit. You want to support iOS, android and web. All platforms have the same core data but maybe have different APIs for optimizing queries, e.g. you may want to use server side rendering for web.

So here's some of the microservices that you will use server side. I will label which I consider to be infra:

LoginService (infra)

Database server or library (to create consistent views/transactions on top of your raw database, infra)

Core business logic server

Web frontend server

Android/iOS frontend servers (probably not needed)

Image/audio/video processing (infra)

ML server (infra)

I don't see how any of the infra services here are trivial.

Re: How learned helplessness happens in engineering teams

#204
post #97

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 how he has to do an untested unplanned release today because another team made some urgent changes. They broke it they have to fix it. You need the light shining on that team, not strive to fix it yourself.

Sounds like they might not even know they broke it

Re: How learned helplessness happens in engineering teams

#205

What I’ve noticed in this cycle is that as the turn over continues, the employee skill level will trend downwards. Essentially in a sort of ironic-Darwinian-gone-wrong, the system selects for those that will stay and/or don’t care or are desperate enough for work (because of geographical allegiance of low hireability, or just low initiative to make a change). I fear my current workplace that was so cool years ago is…

This is definitely happening. A engineer can't really work on anything truly complicated if they hop around every 2-3 years. These types of engineers gain cursory knowledge of topics but never become experts.

2-3 years is enough to master a certain niche of technology fairly well if you want to.

Re: How learned helplessness happens in engineering teams

#206
post #71

Earlier quoted context omitted.

No, no. This sounds completely different. You searched out all the information you could, and still had no idea. That’s great (I mean, not great, ideally the necessary information would have been available, but that’s on the people providing the information). The problem is people that have not searched or tried at all, and then ask their senior to please do their job for them.

There is a classic article about this issue which is from Harvard Business Review in 1974 and is about monkeys. a Must Read. https://www.academia.edu/36290372/Monkey https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsd...

Hah, this is great. I think I’ll start telling people to keep their monkeys :)

Re: How learned helplessness happens in engineering teams

#207

Earlier quoted context omitted.

He actually called himself out for this during the conversation. I'm not sure how to convince someone to stop doing that.

Demean the work, don't say anything about him but minimize the value of what he is doing. Commiserate how bad it is that he has to waste a day doing something with so little value. Be on their "side" but make it clear you "understand" what they are doing isn't valuable. All of these comments should be said in group setting to try and get the crowd to pickup similar views. Just make sure no one thinks of what they are…

That sounds like a really toxic way to handle the situation.

Re: How learned helplessness happens in engineering teams

#208
post #83

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 worked on a good number of teams just like yours. I always told myself things would be different when I was in charge. Then I was in charge. I learned pretty early on that I have political capital, and very little of it. Instead, I have to have a manager that's pretty buck wild when I tell them I need them to be, and I have to deliver them some wins that will grease their wheels too. Good managers are hard to co…

Doing a good job - and staying where you are - doesn't get you more reward. And people generally want more than they currently have.

Re: How learned helplessness happens in engineering teams

#209

Earlier quoted context omitted.

>The only times I've seen developer pain-points successfully addressed in a sustainable way, it's because there was a dedicated team allocated to that sort of thing: a "developer experience" team, or some equivalent. I came to this conclusion after watching the place I work at for 2 and a half years fail to implement any of the grand ambitions management had in their heads. We wanted code review, pull requests, build…

> because they will on paper be producing more features for less financial cost. And from a business perspective, that is the correct choice. So make a better business case. Inform them that after investing Y hours on refactoring X, future development is expected to happen M% faster with N% less bugs. New features can be expected to be developed, tested, and shipped to production in S% less time. But be realistic. Do…

You're making this sound simpler than it is, I think. For the following discussion assume we're talking about management that is smart and wants the dev team(s) to succeed but is racing hard to hit various external deadlines and does not have a technical background.

    Inform them that after investing Y hours on 
    refactoring X, future development is expected 
    to happen M% faster with N% less bugs. 
I've tried variations of this to sporadic effect. My elevator pitch is/was essentially, "let's devote 10% of our developer resources to making the other 90% more productive, rather than having 100% of our developers suffer these slowdowns and problems."

(I chose 10% because we had 30 developers at the time and generally had teams of 3 developers. So, one dedicated DX team...)

Do you have any articles, case studies, etc of how to express this to management that is generally oblivious to the day-to-day, in-the-trenches, experiences and pain points of developers?

What you're saying sounds great to me, who is a developer, but how would you come up with halfway realistic numbers for Y and X?

The best thing I could think to do is have the team minutely log all lost minutes productivity caused by delays and inefficiencies that the proposed fixes could address.

But even that's tricky. For example, at one of my previous positions, the build pipeline could take hours and could randomly fail.

The only way to maintain any semblance of productivity would be to juggle 3-4 tickets at once. This was incredibly challenging, and productivity took a massive hit due to the frustration and context switching.

However, even if I had logged those experiences down to the minute, there weren't any literal downtime minutes. It was more a matter of juggling five tickets at once that should have taken one hour each, but instead they took five hours each because I was context switching faster than the Linux kernel itself.

    New features can be expected to be developed, 
    tested, and shipped to production in S% less time.
This sounds good to me, a developer but again, I'm not sure how to express this to management. It's not like "one feature" is some standard unit of measurement - the time to shipping "one feature" varies by orders of magnitude.

Scrum and its much-maligned "story points" are a possible solution here, as far as management is concerned, assuming both developers and management have bought into that concept and are using it correctly.

Re: How learned helplessness happens in engineering teams

#210

Earlier quoted context omitted.

>The only times I've seen developer pain-points successfully addressed in a sustainable way, it's because there was a dedicated team allocated to that sort of thing: a "developer experience" team, or some equivalent. I came to this conclusion after watching the place I work at for 2 and a half years fail to implement any of the grand ambitions management had in their heads. We wanted code review, pull requests, build…

I think they key is to find people who have put effort into figuring out what good is, and are frustrated and care enough to enact change. Similarly to your org not having a dedicated DX team being the reason, dedicated teams will happily dissapear into a void of non-delivery as their purist vision, unconnected with reality, will simply never apply to your stack, and thus you'll never use it. End of the day, differen…

     dedicated teams will happily dissapear 
     into a void of non-delivery as their purist vision
I've sort of seen that happen, but of all the issues being discussed, that seems the easiest to avoid.

1. Rotate team members onto and off of the DX team, so they don't lose touch with reality.

and/or

2. Have the rest of developers vote (or otherwise have direct input on) on the DX team's priorities and products. The other developers are the stakeholders here.

Post reply on HN