This is a touchy subject, and that might be a lack of awareness or empathy from my part. But trust that it comes from a genuine willingness of making things better for everyone.
We all work with people who we find "not as good", have different ways or work ethics. After being told for decades that this is usually a problem with communication or point of view, I had somewhat internalized the idea. And it is often true, but what I've realized as of late, is that there's a category of people who are not just working a different way, but are - to put it bluntly - plainly not smart.
What I'm talking about is people below average when it comes to understanding concepts, or conceptualizing altogether. Their intuition is always twisted and wrong. Completely lack critical feedback. Work needs to be decomposed for them in extremely precise steps if you want anything to happen. The type of person where you know anything assigned to them will be badly done. When you open a document or code written by them, you do it with the anticipation that it's gonna be bad in novel ways. And despite all of your efforts to try and coach them, seem to make no progress (where the same coach/coaching on others works).
And I know there might be other causes for that, maybe something that happens in their life, lack of interest in the task or motivation overall. But I think I can make a clear distinction between someone who doesn't give a crap, and someone who does but is not equipped to achieve the task at hand.
Some of them are direct colleagues whom I can provide feedback about - but then what do you tell them/their manager? "It's very hard to explain you concepts, you should work on conceptualization"?
Some of them are transverse. I don't even know what to do about these people. An "experienced" PM who systematically gives you hot garbage, apart from pointing the lack of research and the absence of evidence-based reasoning, how do you tell someone "what you gave me is plain dumb, and that's not just a difference of opinion in how we should approach this product/feature, it's inconsistent and pure shit"?
I'm not in a management position, I can't "just fire them". Plus I don't want to go and tell them "you're just not equipped for your job you should find another". It's quite disheartening, does anyone have techniques they've used? Am I just missing something?
The smarter someone is, the more they will be used to working alongside people less intelligent, and still work together effectively, and not make others feel bad about it. Particularly smart people can find it shocking when someone else belittles or ridicules another for not understanding something, because they are used to always understanding more than everyone around them their whole lives, but usually keeping it to themselves to not make others angry or feel bad about it. They're not going to be angry or upset when other people struggle or don't understand as well as them, as it is the norm, and something they've almost never not experienced.
Lastly, in a leadership position, look to figure out where peoples strengths do lie, and give them that part of the project. If they have no strengths or abilities consistent with the job at hand, that might not be possible, but seems like a major failure of the hiring process in the first place, and shouldn't be possible- it isn't the fault of the person that was hired inappropriately.
If you feel like you're the smartest person in the room, it's time to change the room. There is absolutely no way for someone average in grasping complex concepts to suddenly become smarter. The problem seems to be that someone at your company hired these people and assigned them to roles they don't fit. You should consider moving to a better company — one that has higher standards and employs better specialists. There's no other solution to this.
The next time they ask I'm simply going to point them to the existing documentation and give them a very terse reply of the highlights of how it should be done. If they continue to ask follow-up questions, because they want basically someone else to do it for them, I will ignore them for longer and longer stretches of time. I will also keep notes on the times that I've discussed these things with this person just in case my manager comes back and acts as if I'm not being a team play. This way I can have a very frank discussion with my manager about the times that I have helped them out and I can also speak to my own workload and then ask them what my current priorities are. Should I be prioritizing my own workload or should I be prioritizing continual re-education and retraining of this person. That way my manager is now deciding how my time gets allocated because there's only so many hours in the day.
This allows the manager to actually see what's going on and the amount of time these people are taking away from those who are more productive or need less guidance. In the companies I've worked for the manager usually realizes this and when the person who keeps trying to engage someone smarter to do their work realizes that tactic is not working anymore they will either step up their game and become productive or they will be let go.
But it is quite critical when your manager is involved in this that you not be seen as being critical or talking down or shaming the other person. You have to keep notes and keep records and documentation of how you've helped and how you've assisted them but also managing your current work duties. This way you always approach it as a time management problem rather than you being frustrated with someone you're having to carry and not being a team player. Because you want to be a team player and you want to help the other person but you also have your own priorities and your own duties to account for. Until the manager adjust your priorities you must take care of your priorities first before you can assist someone else.
It pays to have empathy and just get on with it. People can be smart in their own ways
If asked for feedback, you tell their manager that the employee's performance is subpar and you provide very specific examples of that. Leave it up to that person to manage their performance -- that's what they are paid to do.
In terms of you working with this "not so smart" person, suck it up and remember that it's just a job.
In this case, I'd suggest accepting that it's just your job as a relatively senior engineer to coach more junior people, even if it's the wrong thing for the company and its customers in the long term. And in this case, it's just your job to decompose work in extremely fine detail. But make sure you're rewarded for it.
It's your manager's job to decide whether this effort is worth it, or whether to cut the other person loose.
Talk about this stuff in your performance review and in 1:1s with your manager. Don't be a dick about it, and don't put others down. But talk about how you lead the team, how you do a lot of design work and work breakdowns. And how you also write a lot of code.
If you don't get rewarded for it, be open about that. Ask for the space to focus on technical work. And if that still doesn't work, find another job.
The people who are "transverse" are a bit trickier to deal with. If you're in a large enough company, you might have the ability to move around a bit (but it might require a bit of agitating). It's not easy, but try to position yourself away from these "experienced PMs".
That (familiar vocabulary in unfamiliar context) is one kind of question I've found LLMs to be able to be helpful. I tried in sonar (useless) and llama 70b (unhelpful, only offered ideas I'd considered), and then remembered I'd been meaning to try Claude. It surprised me. It offered a decent guess I hadn't considered ("lateral thinker") but that was clearly wrong in this context -- which it requested alongside the guess. With context, it immediately deduced the French speaker option, explaining transverse was quite ordinary business language in French, with a meaning along the lines of interdepartmental, cross-functional, or matrix reporting.
It later pointed at sixish other bits of phrasing that supported the idea (e.g. "systematically" where "consistently" would be more natural, where "systématiquement" in French would be natural), while readily cautioning that it was still just a guess.
Just curious if it was insightful or off the mark.
Don't make it personal / use generalizations ("you always", "you never"...) like "It's very hard to explain you concepts, you should work on conceptualization"... just explain the thing clearly, with point to an example/documentation, mention the steps involved and timeframe expectation, tell them they can ask questions for anything that's not clear. Then, they'll either take it on board, or they wont.
As you allude to, some people are just not motivated, checked out... maybe they have a side project or personal problems or whatever. You can't make anyone motivated, all you can do is provide clear information and stay professional. If you're an employee, accept that you don't own the organization, choose coworkers or define the product direction, so you kind of have to get along with things that you'd do differently if it were all up to you.
The first and best solution is to help these people improve, obviously. You've tried that, but it's not working quickly enough. (People can always be coached; some are just more coachable than others. When I hear that someone "isn't learning," that always reads to me as someone who's "learning more slowly than I have patience for.")
Then, the second-best solution is for management to move people around to other teams, or out of the company. Unfortunately, that's difficult and slow - and sometimes impossible, depending on the company culture or regulations.
Then, the third-best solution: move yourself to an environment with "better" people in it. This also may not be possible or desirable; job changes are difficult and can be risky.
So, the fourth-best (but most common) solution: make your peace with the situation by finding ways to become comfortable with the gap between your expectations of your colleagues and their actual performance.
Some strategies:
- Remind yourself that "the company pays me well to put up with this." (And if the company doesn't pay you well enough to make it worth it, then yes, absolutely leave. I assume Microsoft pays you well though.)
- Dig deep to find out what frustrates you about working with these people, and address those concerns instead. Are you frustrated because these people increase your workload? Are you worried that their lack of quality work will reflect poorly on you? Do you worry that they will compromise work that you care about? These are all insecurities that can be addressed.
- Remember that intelligence is not linear; nobody is strictly smarter than somebody else in every aspect of life. These people may be good at parts of their jobs that you don't see, in which case your expectations of these people may be what needs to change.
It took a while to realize that what happened is that person was a pure "packer" in the mappers/packers sense.[1] Packers NEVER check concepts or instructions for consistency, and don't build mental models of how things work, they just are really, really good and memorizing things and following instructions precisely. However... any deviation and you're in a world of hurt, like a language without error handling.
I reconsidered the instructions I provided, and edited them to include any exceptions that might happen (files not present, etc) and included ways to deal with each. We became quite supportive of each other after that change. They never had another problem using the computer for their work after that.
I suspect it's not the case for you... but it's a non-zero probability this applies.
I'm not saying you give up on work! But rather I think a lesson I would certainly give my younger self is to accept the quirks of work, one of which is putting up with people who are slow or plain not very good. They are your coworkers for some reason - maybe they are liked, maybe they are sleeping with your boss, maybe they are actually somehow good at their work in ways you can't see. Either way you won't change it, so accept it and work around it.
That's not to say you feed mediocrity, either. Make it clear where you are doing good work and someone else isn't, without making it look like you're belittling them. Take pleasure in doing your work well, or in things you do outside of work. If you really can't put up with it, look to move, but likely you're swapping one set of quirks for another. That's not a terrible thing either, sometimes you get tired of one kind of crazy, and need a different one for your own sanity.
In short, accept you can't do much about not-good-coworkers and try to be at peace with it. My $0.02
Allow things that are not within your boundary to fail, and the people who are responsible for those things to also fail.
Document everything. Have a conversation with someone? Send an email with meeting notes to those involved.
Take a deep breath and realize that you cannot short circuit the learning process you're in with other people, even though the lesson is obvious to you.
I’ve managed groups and divisions of companies with up to about a thousand people. There’s always going to be an IQ and EQ bell curve and scale in people’s motivation. That said, I’ve found that everyone has some quality that got them to where they are.
Make an honest effort to determine what that is, and optimize for that.
If you don’t, that’s cool… but you’ll be surprised to learn one day that someone thinks you’re just a narrow focused engineer capable of limited tasks.
I found myself in a position where I clashed with a dude out into a technical leadership role way over his head. We were peers, in different areas, and my emotional reaction was “this guy is an idiot”. Reality was he’s a pretty mediocre tech talent, but a savant about understanding the bigger picture and managing up. Once we figured each other out, we got along and became friends, we have lunch every once in awhile years later.
There is one Balkan joke which illustrate this:
Two Bosnian workers in Germany were taking a break when their boss approached them.
“Why isn’t the work done yet? Are you being lazy?” the boss asked.
One of the Bosnians replied, “Oh no, boss! The Montenegrins are the lazy ones; we’re the stupid ones! We need more instructions
——
In your case, it’s crucial to explain management with specifics rather than generalizations: detail exactly what you communicated—“I told this person X, Y, and Z”—and then describe the specific actions they took in response.
This gives me hope that there are non-bright developers and I should just apply :]
My only advice is to try to pair program with him. First you take the screen, then you let him handle it. Build his knowledge and confidence.
Our best engineer is so clever it becomes intimidating sometime. He regularly takes some time to explain what he's doing and why, create then present new abstractions to make our job easier. That helped, understanding why some design decisions were made, and knowing our tools better.
The second best engineer of the team building me up in the beginning also helped me a lot, my previous job was a grind where I lost all my motivation and a lot of love for programming. Having someone that good using his time for me helped.
I'm now middling and not as much of a dead weight I used to be, but some subjects I tend to still have issues with. I like teaching though, so I took it upon myself to help new team members with a lot of pair programming (or I stay in our daily conversation with my screen shared and respond to any questions new members have until lunch)
If more is expected of you than your conditions allow, estimate accordingly, and if it's a real problem, start looking elsewhere. It's a huge mistake to burden yourself mentally with things you can't change but feel you should be able to.
If you're in a position of delegation but not authority, then it's important to simply figure out how to navigate that; some people simply aren't 'curious' or have much in the way of complex thoughts, they can't carry a conversation, they're just dull, and to a person who's the opposite, it's very frustrating. Some of those people though are very good at getting some rote mechanical work done, or extremely narrowly scoped stuff. You don't want to be trying to micromanage them or anything, but give them low-risk work and gradually ask more of them in a way that helps you build trust.
Many people put minimal effort because they chose the wrong career, they don't have love for the profession, or plainly have bigger interests in life besides work, which they see only as a means to an actually worthy goal.
That being said, unless you're far from the average, there will be people smarter and dumber than you. They might be a genius reading office politics, making carpentry, fixing a motorcycle, math, etc., but they're not as smart as you at your job, and they probably don't desire to.
The best you can do is not depend on them if you can, and if you can't, cover your back, have everything in writing, don't let their mistakes tarnish your professional reputation. Don't forget to be kind, you're doing what's best for you, not destroying them.
Also don't buy into the gaslighting answers being given here that smart people should put up with this crap and just learn to "communicate better". You can't fix stupid. It's not your fault. Every time they pull this one out it's just blame shifting. It's true nobody will ever have the same strengths, but I know what you're talking about in your question, and these gaps are massive lately.
Anyway, I think the answer to this really depends on what your relationship to the incompetent coworker is. What has worked for me is to not lose cool and document everything you're asked to do so you're always ready to shut down the blame game. Show evidence you're doing these tasks according to requirements with detailed commit messages that link back to your assigned tasks. When asked why higher level outcomes aren't being met you can rattle off as many details as you need until they're tired of hearing about it. Assuming your own branch of management is still competent and hasn't been entirely hollowed out they should be able to go to bat for you.
If not, yeah sorry life isn't always fair and you probably want to find another job. This is a huge growth moment for people currently working and I have faith overall this too shall pass and we'll all be better at our jobs at the end of this. Not everyone will make the cut and good riddance. I'm sure you'll be fine since you're smart enough to ask this, but at least know that we're all stressed out and you're not alone.
Sounds like you are playing below your level - why are you still there ?
- There is someone else that is better at X than you are
- The person not so good at X is probably better than you at Y
About 50% of people in your specialization are below average in that specialization.
You are likely below average in many respects, also.
"Fake it until you make it" is the war cry of the newly graduated. Who are we talking about here?
If someone is faking it, and not making it, then there will be negative outcomes causing the company or customers/clients money. And lost money (or time) does have consequences.
> "I'm not in a management position, I can't 'just fire them'."
It's times like this when you need to be clear about what your role is. What are your tasks and objectives? Don't let others distract you from what you need to do. If your work is effected leading you to negative outcomes then you are obligated to inform your manager. It's their job to make the hard decisions and support you.
Then it's just a matter of keeping at your work and waiting until those negative outcomes do their work. Either the incompetent co-workers will be let go, or you will discover your manager is not supportive of your needs and you should consider leaving for a better company or group (if your company is large enough).
Sometimes those negative outcomes don't ever materialize and then you realize it's just your misperceptions.
Otherwise, this is it. You've made the big time. All that negative crap is _part_ of the job at the nexus of your own skill, experience, company, economy, etc. You have a J-O-B that someone gives you money for. Keep at it. Go home. Rinse. Repeat.
Consider that the statement "their intuition is always twisted and wrong" is itself probably wrong. Their intuition is based on their professional and personal experiences. Two different people with different experience are not going to have the same intuition and that's okay. It's not productive to turn that into a personal judgement ("this person arrived at a different conclusion than I did - let's figure out why" is very different from "this person is an unteachable idiot")
Personally, I'd consider this an opportunity to help develop somebody's talent. I happen to find mentoring to be a very fulfilling part of the job though, so I lean into it a bit more than is strictly necessary. I'd probably start approaching this as a teaching problem, rather than a collaboration problem. If _telling_ this person something doesn't work, _show_ them. If that doesn't work, get some hands-on time by pairing with them on some tasks (in whatever configuration works -- try letting them navigate or drive, and you fill the other role).
If all of those things fail, go to your manager with something along these lines:
"I've been working with so-and-so on some things that they got stuck on. It has impacted the time that I have available for the work that is assigned to me. I'm happy to continue doing that if you're okay with the time investment (roughly x hours over the past month)."
If it's really impacting your work, they'll probably ask why it's taking so much time, so follow up with something like:
"In pairing with them, I've identified some knowledge gaps around x, y, and z -- the time spent is not just on the task at hand, but also in mentoring/teaching to get them up to speed in those areas. If it's too much time, we could consider investing in some training on those topics to get them up to speed independently. Once that foundation is laid, I think our pairing sessions could go much faster (or potentially be eliminated altogether). Alternatively, we could try pairing them with somebody else on the team -- it's possible that I'm not explaining things in a way that works for them."
Give them a lot of grace and focus on leveling up the team as a whole, rather than remedying your personal situation. You'll likely get more engagement from your manager that way, since your manager ostensibly _also_ wants to level up the team as a whole.
In general, the way to succeed and grow is to focus on what you can control, build relationships and collaboration with the highest performers you can find. Don't waste your time hand-wringing about lost causes. Talk is cheap, anyone can criticize, and there are always plenty of mentally weak people ready to join in a pity party about how fucked everything is. Do NOT let yourself develop a victim mentality. Instead figure out how to do the biggest and best things you can, and if your current environment doesn't support that, then go find a new one.
Perhaps it's your explanatory+empowering skills that are not quite good.