3 ms·
I disagree. If you have problems, you should try to escalate them. It's better for the company... it's better for your coworkers (they're probably also having t
by icedchai 2y ago
I disagree. If you have problems, you should try to escalate them. It's better for the company... it's better for your coworkers (they're probably also having these problems!) If you escalate them and nothing is changed, then it's time to go. If you're going to leave anyway, you may as well try to change things for the better first.
- josephg 2y agoYep. I’ve heard this talked about as Voice and Exit. They’re two strategies you almost always have available: essentially, speak up or leave. If all the people who care about a problem leave, it becomes harder for the organisation to solve the problem. This is one form of organisational rot. Most of us are good at one and bad at the other. Eg, my instinctive response has been to quit my job when I’m not enjoying it. And that’s fine, but some of the situations were almost certainly salvageable. And I could have helped. Some people try to fix a workplace indefinitely, even to their own detriment, and even when the situation is probably impossible to fix and they should just get out of there. I think it’s really important to learn both skills. And remind myself when I’m stressed that they’re both options.
- tmoertel 2y agoThat model comes from Hirschman's treatise on Exit, Voice, and Loyalty. https://en.wikipedia.org/wiki/Exit,_Voice,_and_Loyalty https://en.wikipedia.org/wiki/Exit,_Voice,_and_Loyalty
- TeMPOraL 2y agoFeels a bit like a false dichotomy, in that there's at least one other option: wait it out. If you believe things will improve, the lapse is temporary, then doing nothing is a good move, and that's neither Voice nor Exit.
- josephg 2y agoTotally right - it’s not a dichotomy. Those are just two strategies that happen to be broadly applicable. There are almost always other strategies available too, depending on the specific problem you’re facing. (Maybe you can fire the people involved. Maybe there’s a technical solution. Maybe you can ask for help. Etc etc.)
- 999900000999 2y agoOr. Hear me out. You're going to then publicly embarrass another co worker. Not a good idea. I need to clarify though, there's a difference between functional code that could have been written better, and code which does nothing at all . I was at a company where three or four people literally were writing code that did nothing but was appearing to function correctly. Imagine an API that checks the status of another service, and you just code it to always return 200. Instead of trying to save an organization from itself, you can just go somewhere else. I did so and I got like a $30,000 raise.
- icedchai 2y agoNot necessarily. You can escalate things to your boss. Or then their boss. They talk to the coworker about it. It doesn't have to (and shouldn't be) a public inquisition. Maybe you do some one-on-one sessions / mentoring to try to help them. Maybe you're not patient enough to try this. It's certainly easier to leave most of the time. The code aspect is all shades of gray. I've seen code that "functions" but has such unacceptable levels of performance, quality, duplication, security problems, etc. that it would barely qualify as "working" and certainly not maintainable. You can't polish a turd.
- 999900000999 2y agoI didn't have that experience, I was basically told that I should shut up and get used to working with code that doesn't functionally do anything . Then when I complain later my manager was like, even though the code doesn't do anything it makes our metrics look better. Imagine seeing function1(){ ApiCall("1") } function2(){ ApiCall("2) } Over and over again.
- icedchai 2y agoI'd tell them I am not shutting up and this is a major problem affecting the quality of the product. I would then speak to the boss's boss about it and start complaining about the boss doing a poor job, encouraging fake, meaningless metrics to game the system. Maybe they'll get get fed up and tell you to GTFO. Probably not though. The thing about broken organizations is that they take forever to fire anyone, so use that to your advantage while you look for other jobs.
- lolinder 2y agoIt really depends on the context. The important thing to realize is that bad developers who are kept around tend to survive because they're well liked by people who make the decisions. If you raise concerns about their performance then you're picking a fight that you can very quickly lose. I've seen people get hung out to dry when they escalate concerns about people like that, and even if they were right it still leaves them in a much worse position for their next job hunt. In most cases I'd tend to agree with OP that the right move for an employee in that situation is to lay low and start looking. If the situation isn't yet completely unbearable there's no need to just hand in your two weeks' notice, but it's worth looking for the exits.
- icedchai 2y agoI agree it is context dependent, but I was trying to show that it's not a binary choice between escalating or leaving. You can do both. If you lose the battle, at least you tried. I've left some jobs too early and regretted it. I could've done more and I should have done more. Probably, I would've failed anyway. Corporate politics and company culture is such a strong force. The reality is many direct managers have little visibility into their reports day-to-day work because they are not hands-on enough. They should be checking the work product. Example: They should at least be looking at PRs and even participating in code reviews themselves. If you proposed this to some "engineering managers" I am familiar with, they would say this is not their job and you are crazy for even mentioning it. (I'd tell them I disagree about that, too.) This is why coworkers need to escalate performance problems: because many of the people making decisions do not know what is going on.