So, I am senior software engineer, got hired into this company. I was tasked by my manager/tech lead to work with another senior software engineer.
Overtime I realized that this engineer did not have the proper background in this field. I asked him and I asked my tech lead, and confirmed he did not have background in this field. This guy just roped into this project and stayed.
I sent him articles, tutorials, and even documentations that say so and so is so and so, but he refused to believe it and said it was just my opinion. I even offered to work on these problems instead of him. But we ended up getting into heated arguments. I talked to my tech lead and my VP and they just brushed me off. It got so bad that I asked to be transferred to a different team.
I also realized later that my tech lead was not as technically competent as I hoped to be, so that's why he couldn't make a decision.
Anyway, I asked Reddit and TeamBlind how to best deal with this kind of situation. (In those forums I actually described exactly what were the problems)
To my surprise, a lot of them, 99% of the answers go along these lines "Who the fuck cares man, just get your paycheck and go home, what an idiot". These are highly paid FAANG engineers.
So, that was my wake up call. They were right. Who the fuck cares. Just get my paycheck and go home, and work on other stuffs, work on side projects, side hustle, and go Leetcode.
I was 8 years too late into the industry to know that this should be my default attitude when working.
Now I am in "Who The Fuck Cares" club.
* programmer that worked maybe 2h/day, but was otherwise very important to one of the oursourced projects, so he got away with it and was publicly laughing about it without ever getting reprimanded
* devops guy that insisted on using his magic copy-pasted shitty shell scripts instead of any popular config management tool at the time, simply to make it harder for anyone else to take his duties, also no monitoring, just call him when something breaks
* junior dev, that routinely spent 2-3 days on a simple bugfix, that later had to be reassigned to a senior that fixed it in 15 minutes without any context from the junior dev, that situation was apparently okay for the company, because a clueless client paid by hour and had no idea it keeps happening all the time
* tester, who after half a year figured out that his manual testing isn't quantifiable at all, as long as he claims that everything is working to make management happy, so he found a second job
So, I'm in the WTFC camp since, I guess, a month of working in IT.
What I noticed when I checked out at work is that it also makes me check out in my personal life (PL). It bleeds in. Generally, in my personal life I'm not checked out. That bleeds into work.
So work bleeds into PL and PL into work. I found that it was painful for work to bleed into my PL like that since I'm switched on and I just had this hint of "ah... whatever who gives a fuck."
I give a fuck.
I give a fuck because it's my life. I do it for myself. I don't do it for my boss or my colleagues. I do it for me.
I've found that this attitude is way more helpful to me as two things happen:
1. I'm more productive at work so I don't have to cover my ass at all. When I was in the "Who The Fuck Cares" club, I needed to cover my ass once per month (read: I didn't do anything for like 3 days and people were expecting results on day 4).
2. Since it's in service for my personal life, I don't go too far. The moment I notice that work encroaches too much upon personal life, my instinct comes back immediately and I pay my visit to the "Who The Fuck Cares" club, and party as long as I want to.
That's the balance I'm currently taking.
Let me get this right, you discovered your team was mediocre, you then asked the clinically cynical folks at Reddit for advice, people you don't even know and people who certainly don't know you, and the conclusion you walked away with was that it wasn't worth caring because there's cynics on the internet?
If you're adopting a "Who the Fuck Cares" attitude, the highest form of it you can reach is not giving a flying fuck about what anons on the internet say.
Now, as an anon, I won't bother to give you advice, but I'll tell you what works for me. I found a team that is intelligent and passionate and enjoys their work, and a startup with talented founders that I respect, and I am far happier than I would ever be working at a mediocre company or team. I feel better as a person, I learn better, challenge myself more, and feel more accomplished by surrounding myself with other highly competent people.
The things that are broken at that company, which are the things people keep reacting to in this thread as "why is service X so bad?"... they're going to stay broken. It's still not caring.
At this point you're better off working on your own thing because the company is usually, always with few exceptions mind you, a dishonest actor that is openly hostile.
The elites can't blame the state of the world on workers when they've created out hellscape of treadmills to delusion and abandonment.
If you care enough to leave, you actually do care about the quality of your work. No, you can't fix other people, but you can change your environment.
We're just human parts of some weird business-metaphysical Plinko board—and we ain't the ones dropping the chip or winning the prizes. Truly, who could possibly maintain any amount of giving-a-shit after years and years of that? All that's left is pretending, which is, transparently, the same thing "leadership" does.
I am in a proper place now, but I regret not getting a second job in my previous fintech job.
I wonder whether, by refusing to Leetcode as an IC, if you weed-out proportionally more companies of careerist people just going through the motions.
(Compared to companies of people who care about what they're doing, not just about jumping through hoops and receiving money.)
The OP here, basically has a simple (and common!) 3-way collaboration/communication problem:
- OP did not get along with 1 single fellow coworker that he was assigned to work with; this coworker reportedly does not listen to reason, does not read the research or background info that OP shared, etc.
- OP tried to seek help from a manager/lead type person, but that person was also not useful (i.e. not able to force a course-correction towards better collaboration).
Note: OP did not actually indict his entire team, or the entire eng organization, as all being hopelessly useless. OP said he had a problem with 2 specific people, and asked for tips to deal with that (small!) scenario. But instead of giving "small" advice for a "small" (and again, common and usually fixable/at-least-improvable) problem, both the toxic hive-mind as well as the HN commentators here have completely avoided trying to solve the actual root issue (which isn't nearly the impossibly-large-turnaround effort that everyone's making it out to be)... What we have here, is fundamentally an XY problem (https://xyproblem.info/), in that OP asked for help with X, but got advice about Y.
EDIT: Okay so I guess I should offer some concrete advice to OP for what I'm calling his "small" original problem -- usually there are 2 categories of options from this point: either escalate again, or try to resolve interpersonally without escalation.
- Escalation route: OP tried the 1st manager/tech-lead, who couldn't bring a resolution... that's... pretty common actually! So escalate 1 more level, calmly and professionally. Whether it's a skip-level director/VP, or a project manager, or whichever stakeholder is appropriate in OP's context -- explain politely what steps you have tried to solve the problem so far, why the counter-proposal / alternative is bad or won't work, and emphasize that you are still happy to collaborate further, but you are currently at an impasse and need a more senior person to weigh in. Then, OP needs to be prepared to "disagree and commit", if the decision doesn't go his way. NOTE: if the decision doesn't go his way, it could mean 1 of 2 things: a more senior person brought in extra context or expertise that OP did not know about and hence made a better decision that OP can learn to appreciate, OR it could mean everyone is an idiot and OP is the only sane person in the company... there's no reason to jump to the most negative conclusion as the only one, but certainly I acknowledge it's possible (I just don't think it's good advice to assume the worst, without even trying a simple +1 extra round of escalation... OP could at least try 1 more time).
- Non-escalation interpersonal route: OP can find a professional way to say to the problematic coworker, "frankly, I still disagree with your approach, and it's my job to document my disagreement with our manager(s), but at the end of the day, if you insist on doing it your way, then go ahead". Sometimes, the only/best way to learn, is to let someone else try and fail. This isn't callousness or retribution, this is actually a common lesson for mentors who might otherwise struggle to try and protect their mentees from ever possibly making a mistake or being wrong about something... an overbearing/overprotective mentor would need to learn how/when to take a step back, to let a mentee try and fail and learn-how-to-learn from their failures. Of course, OP is not this coworker's mentor, and does not need to feel obligated to assume that role, but I am simply pointing out that letting someone go off and do something you disagree with, can actually be an act of caring (rather than a form of not-giving-a-fuck).
An essential part of "the job" is to get done what the company wants you to do. Even when that's stupid. Fair. But toxic jobs are still toxic to us, and staying is still our decision. Pending finding another better job - but sometimes even before having found the better job because sanity matters.
Yes, I am saying you should be cleaning the decks of the Titanic with all the care you can muster but without being obsessive or neurotic about it. Don't do it for the Titanic, don't do it for all the people who are about to die. Just do it for you.
One company lied, I completed the leetcode-style portion of the technical interview, and politely declined their offer (with an explanation that I don’t like being lied to, and beyond that, I don’t want to work for a company that believes leetcode is a useful skill indicator for regular development work).
So far every company that I’ve worked for doesn’t do leetcode bs, and end up being great companies to work for (genuinely caring about employees, good salary/benefits, actual CoL adjustments in addition to merit-based raises, equity, etc). Small sample size, I know. I also know that every one of my tech friends who has worked at a leetcode-interview company has had some kind of issue with colleagues, management, company structure, or something along those lines (not necessarily at every company, but each person has encountered those sorts of things at at least one company).
To me, avoiding leetcode is a very good way to select for “actual good” companies to work for.
Companies, for the past 50 years at least, have greatly incentivized little worker bees over revolutionaries. They don't want someone to fix things or tell them they're wrong. They don't want superstars, they want drones, they want yes men, they want useful idiots. And, well, they got it.
They gave you terrible advice. Vote with your feet. Don't enable posers. Find a better team or a better company. It takes time but it's possible. And when the new place drifts, vote with your feet again.
But remember to keep quiet about it. If all the competent people did this, natural selection would do its magic.
No one will tell you during recruitment process about shit show they have or crazy manager. Or even if there was a nice team you've been interviewed to, after onboarding you could be reassigned to the toxic team to fix legacy code.
(To be fair and for background, Google did not invent this - but perhaps pushed it much further than it was before. For example some variations of this at Wall Street firms in the 70s?)