Hard to work with
lethain.com
lethain.com
Because of that manager's trust and belief in me even in the face of irrefutable evidence that I was doing poorly, I immediately became fiercely loyal to that manager and the organization, and I wanted to work harder for them.
I'm no 10x engineer, but any time I get frustrated with someone else's poor output, I think about this.
Ideally you want to be able to keep your head on straight and obviously it's easier to work harder for someone who 'believes in you' ... but that's a bit emotive. Just do a good job, be professional, expect the same knowing you're not always going to get it and that's that.
Instead of someone 'going to bat' you really want someone who's just communicating and helping you create the outcomes necessary.
Easy as that, huh?
I think the comment was about what to do when you aren't able to 'just' do a good job for whatever reason, which could happen to anyone. They posted about how to handle a problem and your response was 'just don't have problems'.
There's a reason this profession has the issues it does because the most drama heavy people are always those who think they're perfectly rational automatons.
Yet that's short-sighted. Teams and expertise are built over time. It may not be ideal for people like the author of this article who believe themselves to be high performers who shouldn't have to ever put up with low performers. However, the real high performers are the ones who can accept that no team is perfect and nobody starts out as a superstar. They make the effort to work with people, mentor, and lead by example.
This is the crux of the issue: The definition of "causing problems for other people" isn't as well defined as it may seem.
Someone who is constantly driving the team further apart than together, struggling to work with other members of the team, and being openly dismissive of others would fit the definition of "causing problems for other people".
From another perspective, it would also fit the definition of the "hard to work with" person in this article. That's the point: Even when someone is falling behind, as an employee you must find a way to at least try to work with them and lead by example.
One pattern that I saw quite a bit was one team member being a bit more technical (rather than business focused), so they tended to cop a lot of the internal questions that caused them to context switch a lot. It increases their frustration levels and drops their performance. One effective way to solve that is to acknowledge what is happening, and put in some boundaries so the other team members know that (for example) Tuesdays-Thursdays you need to really be stuck before you bug XXX about your problem. It makes XXX feel better about the situation because not only has it been acknowledged they are a key team member, it also makes sure they get some quiet time to really get stuff done at their own pace without having to switch jobs all the time.
The other team members, knowing there are a few boundaries now, tend to become more self sufficient so you end up with a better performing team overall, and one that isn't so dependent on a single person.
Obviously there are other patterns that end up creating "hard to work with" people, but the example came up so often I think it's worth writing about.
If you're too busy thinking what an amazing worker you are and everyone else is dragging you down, there's a good chance you feel vindicated in behaving in a way that makes your coworkers' jobs harder. Why should you help them out? They're not even trying to do things right and they're making you look bad.
When you fire someone. You tax HR and yourself with the process both of letting someone go and finding their replacement. You have to pay their salary 3-6 months going forward as well as all the paid vacation they may have saved up. Most importantly you tax your team with the added resource drain of covering the tasks as well as integrating the replacement. You also risk damaging morale, and worse, you risk increasing employee anxiety as even the best employee can have inferiority issues.
That being said, the basic mantra in management should always be that you can get rid of anyone, it’s just a matter of cost. So if you need to fire someone, then you need to fire someone.
Personally I prefer building people to the point where they will leave you themselves, but, that’s a style or management that isn’t present in a lot of companies because it takes a corporate culture that is very hard to maintain in large organisations and require quite a lot of management talent in small organisations. It’s also something that is incredibly hard to do as a single manager if the culture is against you.
In the U.S - where you generally don't have to pay as long a severance pay if at all.
on edit: as in most things 'in the U.S' this varies on state by state basis.
You clearly haven't met Austrian management. It's nearly at will employment (in theory it's not, but in some domains many companies know and do skirt around the law to get rid of employees quickly without getting sued).
Once the management decides they don't like you anymore, you're given your standard one to three months notice, then you're gone. I asked a lawyer, and they said the employer can fire your without any reason as long as they give you your contractual notice period.
My favorite example is them using Jira velocity charts to fire the one with the slowest curve. You get a warning (p.i.p.) telling you your velocity needs to catch up, then after two sprints you get your notice handed to you.
OTOH, there are other EU countries where firing people is really difficult. Here it's just a rubber stamp thanks to decades of pro-business politicians elected in power who eroded workers' rghts.
Does Denmark not have constructive dismissal laws? Making changes that force someone out is an easily winnable unfair dismissal at an employment tribunal, at least for the UK. And that costs more than just firing them for bad performance.
Well, that’s time (or deferred pay) they’ve contractually and morally earned, so that part’s entirely fair.
If someone really should be fired but isn't, that also damages morale.
In many English-speaking countries is not difficult to convince an employee to quit.
My read on the article was more on a mis-alignment of values and what is considered success. High bar / low "performance"(which is a subjective thing and can vary based on external factors) are those who want to learn because they know they aren't at that bar now but they want to be.
"Low bar" / high or low performance means that you have different goals and different measures of "success". If you don't resolve those first then that leads to the friction and the pattern the author outlines.
This can be in a bunch of different areas(security, performance, maintainability) and sometimes if you have two people who hold velocity and architecture separately as their highest bar it can appear that they don't value each other's bar since they are in direct conflict. It's been my experience that if you can ground it in why people hold certain bars and that the goals are actually aligned then the sum of the team that hold a high bar in different areas is greater than the parts.
This is not how I read it. You have to do your best as a manager to train your employees and live up to what Andy Grove said in High Output Management. You must set a high standard and it is your job to get your reports to that standard the best you possibly can.
But when your reports cannot or will not get to that standard despite a huge investment in training and clear direction, you have to move on.
Emphasis mine.
Let's imagine there is a problem that requires to need to implement 100 classes to deal with 100 different types.
A 18th century person would say: I have 100 classes, 5 workers, I am going to give 20 classes for each worker to implement.
A person that actually knows what's going on would simply write template <typename T> class FuckYou, done.
In the wrong hands, software is misery.
function FuckYou(T) {
return class {
// something with T
};
}
Because you can return classes from a function.Mentoring and leading by example are great things to do, but they do nothing to solve the actual scenarios that Will gave as examples in the OP. There are some situations that you can’t resolve by being a good colleague, and the manager needs to step in.
Managing peers is not their job - the author tried to spin the lack of action by manager as poor management, but what if the manager has more context and good reasons for maintaining the status quo? IMO, this is management equivalent of tech debt, and hr is demanding that it gets addressed immediately without caring about other consequences outside their own narrow window into the org.
Here we have an excellent example of the straw man, nice to see still practiced these days.
In his shoes, I’d be thrilled if the response was “you’re right, we’re going to coach this other person to improve, because they’re valuable in a lot of ways, but need improvement there so we can succeed.”
In the other situations an employee is performing poorly, not recognizing it, and neither is the organization.
I stayed in that role longer than I should have and cost myself a lot of growth and money by not switching jobs every 2 to 3 years like I do now.
I just start to get going 1 year in. That's when I've learned enough to start having instincts for what is going on.
How do companies survive with that sort of turn over?
Unsure, but it's a conscious and calculated decision not to pay market rate for current employees.
I don't like it, but it's the case that if you're not moving every couple of years then your wage will deflate compared to peers, and I've never worked anywhere that gave more than a 2% pay increase (and that's with good performance) without a promotion.
You were quite fortunate to have a manager that believed in you and it's good that you're paying it forward
This is so true! If only we were consistent and picked one or the other all the time! The world would be a better place.
Did you improve? Did you provide the results needed by the organization? Did you work better (not simply harder)?
Forgive me if this seems like an overly familiar set of questions, I'm not quite sure how else to frame them.
It's great to be loyal; it helps both parties make long term investments, engenders trust, and ensures stability.
But loyalty to a bad manager is no good. Similarly, loyalty to a report who is over their head and continues to be unable to improve at the speed needed is not good.
Source: I have both been over my head and had reports in over their head.
Unfortunately, sometimes you can trust and it still doesn't work out.
It took me a long time to realize I wasn't a great fit for every job. Now I try to lean into my strengths and acknowledge my weaknesses. For instance, please never hire me for my design sense (see my personal blog at https://www.mooreds.com/wordpress/ for proof of that).
It's really hard to acknowledge weaknesses, especially when employment/$$$ are at stake. But it is important to do so.
Did you end up succeeding at the job because of the trust offered by your manager?
Some in the comments suggested a differentiator about my performance gap was my self awareness that I was doing poorly - I certainly had an anxiety problem in general that was getting in the way beyond work too, but knowing my manager really had my back went very far. I knew of course that I could still get fired, but it meant a lot to me that no one was jumping at the chance.
Basically the idea is you can really disempower others if you constantly do the work yourself to rescue them from their own mistakes. And the other person can take the role of victim in the relationship, in need of rescuing instead of being responsible the consequences themselves. Or persecutor - blaming and casting out against others.
I’d take someone that’s not that good at their job but has a lot of humility and is willing to learn over arrogant masters (arrogance is the sign of a false master) pretty much any day. The single exception is probably cases where stuff really does just need to happen and happen quickly without mistakes, but ideally you’re managing projects in such a way that you’re not in that situation to begin with (though of course it can happen).
This leads to a highly-agreeable, low-performance team.
However, I agree with you that it is also possible for a bunch of high performing individuals to have toxic personalities and to form a totally dysfunctional team.
If you hire even one person with a big ego communication breaks down and you are in for a really bad time. Pretty much every high performance team knows this and put a lot of effort at weeding these people out.
A lot of it is also setting a good example once you've made the hire through your team and company culture. Hopefully when someone joins the team they will see how others communicate and carry themselves and it will rub off on them. Everyone should have enough respect and trust in everyone else not to have a huge ego even if they might have had one at their previous job where people treated one another poorly.
> It is possible to be disagreeable in a constructive way, combined with a “disagree-and-commit” attitude where the team’s success is the priority.
Disagreement is absolutely key to making a team work. Disagreeing with humility, and trusting others to take disagreement without having their egos involved, is what is needed. Being overly agreeable happens when you don't trust the other person to take your disagreement without ego.
Sounds like the effects when a company is blessed with good business for a long time but fails to adapt to upcoming required changed. I have experienced such places and it's real horror to change this situation.
Seems like the cause for decadence.
Quite difficult to achieve, unfortunately: many people that want to be in a position of power do that to satisfy their ego.
Other times, though, arrogancy is more of a moat that saves time and resources by warding off bikeshedding or harmful suggestions coming from insufficient expertise, it is intended to be broken through if you have an actual point and underneath the personality is open to new ideas and cares about delivering the best outcome. (Moreover, if all you have is expertise, and a clueless but very politically adept team member suggests a Very Bad Idea, you may not just lose time fighting but lose the actual fight—so you’d rather put it down before it grows.)
There’re also all the individual ways of expression where a person may seem arrogant or rude just from their choice of words, whereas in fact it is a sign of friendliness & means of reducing social distance in their world.
Interpreting conflict as ego is exactly the kind of reframing the article talks about and runs the risk of leaving the problem unaddressed.
For example, I'm currently dealing with a situation at work where we need a system up and running for a hard deadline next week. This was just dropped on us.
There's a pre-existing, battle-hardened system that meets 90% of requirements and would require a day's worth of minor tweaks for it to work, so my position is that we simply take that route. Everyone else has for some reason convinced themselves that, no, we need to rebuild everything from the ground up. Rebuilding it is apparently my job, even though it just...isn't. At all. The guy whose job it actually is, is, conveniently, the one who is advocating that it be rebuilt, and also pushing for me to do it.
Any sane third party would A) see that I'm right, that we should just re-purpose the old reliable system, and B) the other guy just wants a new shiny toy and wants someone else to deal with the hard work of getting it up and running...a week before it's needed. To be clear, I don't disagree that the old system should be replaced...eventually. Just not literally a week before it's needed. That is madness.
I am (I would hope understandably) annoyed, and haven't exactly kept that a secret. I haven't been a dick, but I've been curt and straight-forward that I think this is direction is just asking for disaster. This has been interpreted as ego, slacking off, etc. The other guy plays other people's emotions with shit ripped right out of How To Win Friends And Influence People. It's absolutely transparent to me and yet it still captures everyone else.
Fuck me for wanting to work smart and not hard, not do someone else's job, standing up for myself, and being honest rather than kissing ass.
I just want to work with adults who can actually put ego aside and do things that make sense. Instead it's just constant manipulation, and pointing it out is the quickest ticket to being accused of doing precisely what you're trying to combat.
Shit like this just makes me want to move to the woods.
It is quite hard to find the line between performance issue and relationship issue. I ran into this myself when I had a new manager who wanted to institute policies that to the tech leads seemed nonsense, and I chose to not do what they asked. They took it as a performance issue to the +1 but the +1 turned it into a relationship issue and this was the right call. The problem is that by that time we were both so set in our view that the other was obstructing the way forward that we couldn’t find a middle, and eventually it came down to a hard choice which I “won” by pushing them out of the company. In hindsight I could have made more of an effort to build a personal rapport and get on good enough terms to find a middle ground.
I'm shocked this manager didn't have you fired. I would never tolerate someone doing what they want instead of what I instructed them to do. When the leader says follow, you don't choose a different path, even if the leader is wrong. Eventually, if they genuinely are incorrect, they'll be dismissed due to poor decisions and performance.
I tell you this as an older person because you won't be able to push out everyone. You'll make this mistake with someone, somewhere, in another company, and they'll fuck you six ways from Sunday for it. I had to learn this lesson the hard way. I lost one of most enjoyable jobs I ever had by doing not only what I wanted to do, but what I knew was correct. I was even proven correct, but I ignored my boss and in doing so sealed my fate.
You're definitely correct to have put "won" in quotes, because what actually happened was you got lucky.
I have a family to support, and saying "OK" to bad decisions from on high has never threatened my livelihood.
This doesn't necessarily work out in practice. When bad decisions have consequences many people will look for scapegoats, and blindly following orders can still make you a scapegoat.
Wish I got this advice much earlier in my career
Though on the flip side, don't sit and eat shit from your company when you have extremely high value in the fastest growing industry in the world.
Choose your battles though, not every opinion/issue is precious.
All of the worst organizations I’ve worked in have been chock full of people who had this mindset. It’s good for job stability, not so good for actually doing good work. Maybe that doesn’t matter. Personally I hate having my fate assigned to the whims of incompetent management. I think the culture of treading the line between making bad leaders feel like they’re being listened to and doing what is actually effective for getting work done is actually much more common than you’d expect.
Disobedience is one of the most important civil and moral duties. Maybe it should even be regularly trained... The people you call for, the Yes-Men, are superb for demonstrating the Milgram experiment and what it stands for.
So NO.
As GP says, some bosses avoid direct orders; Robert E. Lee was famous for vague orders with lots of room for "discretion".
Unless you are a junior, then any decent boss will expect you to give him advice - maybe strongly-phrased. If the decision is delegated, you don't have to discuss it with the boss anyway. But if you do discuss it with the boss, and his reply is "Do as I say", and you don't comply, then for sure you are "hard to work with", and also insubordinate. Time to polish your resume.
In addition to other sibling replies here, so much middle management is "fire and forget" - they really don't care much what you do as long as you don't make them look bad, and not doing what you're told isn't relevant. They can report up that they "took care of it" and in our transactional world if something bad comes as a result, they'll start fresh with another tack (or sometimes the same one) and then can report they took care of double the number of issues. Big raise.
I've also had bosses that gave orders, so I'm not saying it's always that way, just that it's not always black and white.
You seem to think it is the job of a manager to instruct people what to do.
Moreover, you seem to think that if a manager manages someone, that person is automatically a subordinate.
This is not always the case, especially for more senior positions or in organizations such as certain tech companies where engineering has most of the power and may well be at the same level as the manager.
Managers and bosses are not the same thing.
Moreover, some people are unwilling to do bad work, even if they are told to do so. Sometimes these people are harder to replace than a manager, especially one who defaults to trying to fire people that don’t do what they say.
I'm not saying it doesn't happen, but I've never seen it happen. Managers don't tend to get fired for making the people under them miserable, unless it's causing problems for the company's bottom line.
And even then, I've seen such managers who are excellent at blaming the people under them.
You have to ask yourself, "Is this worth getting fired over?" Sometimes the answer is, "yes."
A manager is not a boss. If a new manager isn't able to get a team to do what they ask, either the team is horribly incompetent, or the manager isn't very good.
Furthermore, if a new manager suddenly wants to fire people from the team, it looks very bad. (Unless the team has a reputation for underperforming.)
In the OP's case, I suspect that the +1 had a lot of respect for the team and its past accomplishments; or that the OP had a good reputation with the +1. In some organizations, underperformers are left to simmer in hopes that they leave voluntarily; I suspect that the "interpersonal conflict" approach was a way to nudge the bad manager out the door.
I'm shocked this sir-yes-sir mentality still lingers around in 2022
doing what you're told is for robots, most of the managers I had should thank me that I did not do exactly what they asked and saved their stupid asses .
If I did what they wanted, they would be the ones to be fired for giving stupid directives that failed miserably.
This is a joke right? Poor leaders get into their positions by blaming everyone they work with, they will just blame their poor performance on you.
> I was even proven correct, but I ignored my boss and in doing so sealed my fate.
Your boss was a bad leader, firing you for making the right call doesn't make them a good leader. You have picked up their bad leadership and taken it with you.
Why? If the non technical person is injecting them selves into technical areas so they can spew nonsense then the middle ground is still a bad out come for the whole, it just makes that idiot feel better about themselves.
I've managed many smart people and it is common for Person A to complain about Person B's performance and to be wrong about it.
Another situation is that if a manager's only evidence of a performance problem is the word of another teammate, it's hard to distinguish between performance problems and collaboration problems.
Examples:
If the underperformer is a developer, the complainer should be able to pull up examples of bad pull requests. Another way would be for the manager and complainer to plan to look at the next pull request together; or for the team to suddenly decide to pick a few pull requests to review in meetings.
If the underperformer was a support person, the complainer should be able to show emails, tickets, ect, where mistakes are made.
---
Do you have reasonable documented processes, and train newcomers in these? (IE, information to collect when interacting with customers, coding style guides, ect.) Audit the underperformer (and a few others) to see how close they are to the processes. If they diverge, hold an open discussion with the team (all stakeholders) about how reasonable the processes are. Assuming they are all reasonable, now you have your evidence.
Then you can decide if you like the answers. For me personally, an answer like “performance is evaluated on (X objective criteria). Poor performers are given 3 months to demonstrate improvement on said criteria and then managed out” is good.
A refusal to answer, or waffling about how much we believe in our people, how our process ensures we don’t hire bad performers, how we develop people, etc. is bad.
(I'll also note that this query will lead to the interviewers wondering things like "Are they trying to figure out if they can game the system? Or are they going to try and get people they disagree with fired? Are they trying to play any games in general?" etc...)
It isn’t necessarily, like if you are about to be employee #1. But even then you want to hear that the person (presumably cofounder) you’re talking to has considered it and will move useless ppl on.
It’s not black and white. You would be looking for a better answer from a more established team.
Consider Netflix famous presentation where it states right in there what they will do, because “it’s a sports team not a family” and they understand the massive collateral damage a single bad performer can have.
> Are they trying to figure out if they can game the system?
Yes it’s possible but a senior person at a company that does in fact have high-performing management probably won’t think that, especially if you ask it tactfully and with context. (“I have had some previous experiences where a single poor performer really dragged down the performance and morale of the whole team, how would you handle something like that here?”)
"It’s a truism that you always want to hire folks with very high standards, but I’ve seen a staggering number of folks fail in an organization primarily because they want to hold others to a higher standard than their organization’s management is willing to enforce"
Throughout the article the author talks about underperformers but whose standards are they underperforming by? The company/management's or the authors? If the "underperformers" are in fact performing adequately by management's standards, just not by the author's then it is in fact a relationship problem because it's the author forcing their view of performance on others. If they want to have higher standards for themselves fair enough, but other people didn't sign up or agree to those standards. You can encourage them to do so but it's completely unreasonable to expect them to meet your standards (rather than the companies) and then complain to their manager when they don't.
I'm not saying this is the case in all of these situations. But author openly states they're a workaholic who has higher standards for those around them than the organization does. And that's very much a problem of their own creation, not a problem caused by those around them.
If going in you believe your definition of high competence is aligned with your managers’, and then discover your manager actually meant “destroys more value than they create” as “highly competent”, I think it’s reasonable to place the blame for the misunderstanding with the manager. It’s true this isn’t necessarily the value-destroying person’s fault, but it is the fault of the manager in avoiding dealing with the fact that they have a report who hurts their team.
However as the article points out, once you realize this dynamic you can use your energy to work around the problem rather than spend effort that goes to /dev/null.
Within any large company, an internal move is fairly simple stuff and an external move will always be more lucrative in terms of compensation.
I used to not worry about higher level leadership in large companies because I thought I was too low level to really be impacted by them. I no longer think that way, and I look into as much of the leadership as I can before accepting a role.
"It’s a truism that you always want to hire folks with very high standards, but I’ve seen a staggering number of folks fail in an organization primarily because they want to hold others to a higher standard than their organization’s management is willing to enforce."
Happened to me in one of my positions in the last ten years. Never was able to sum it up exactly this well.
Peers have not delivered and disappointed me this past year. When even a hint of my disappointment leaks out it's immediately met with suggestions for more relationship building or communications process changes.
No, just no, people didn't do what they said you were going to do. I have genuine affection for some of these people. Somehow "I love you, but you didn't execute" is perceived as hostile and heated.
I also agree with the the authors sentiment about how to fix and I've also learned it's better to steer peers towards constructive ends in a positive way, than confront or express displeasure about performance.
Like idk, I do buy that managers might sometimes taper over what are “really” performance issues as if they’re relational, but I feel like you should spend some time addressing the seemingly obvious possibility of “are your managers right and this is a relationship issue”?
Again, a lot of this stuff is subtle and I hesitate to paint with too broad a brush, but the real flag for me is not having the awareness to be like “look I know how this sounds but I really do think I was in the right”.
And then we wonder why large companies simply cannot innovate or execute on broader change initiatives?
Maybe it's a cycle to stop expanding human groups in excess?
It's just the way of things, apparently. I try hard to not worry about it too much and instead side-step it as best I can.
And the solutions are, obviously, you either magically make something out of nothing and upend the pro/con balance in your favor, or you leave what is obviously a disadvantageous position.
If you're interviewing for some role and the hiring manager mentions that they need you to tame some chronic problem, run! There's a good chance that the problem is chronic because internal incentives are sustaining its existence.
You can always leave, but that's the difference between consultants and leaders. That's totally fine, but should at least be aware the tradeoff is being made. Being able to manage & lead isn't easy!
First I realized that perhaps I had misjudged my own peers.
Then I started focusing on providing more context and cognitive bias (behavioral economics) training to my teams.
It’s too easy to just think your boss isn’t holding someone accountable.
One example: There was an infrastructure team with one person just not doing their work. At the end for nearly three years This led to good people from the team leaving as the additional work of these "slackers" had to be done by someone.
Neither the direct team lead, nor the manager above them, nor HR after learning from the reasons for people leaving through exit talks did anything.
And I also saw situations that was framed as similar, but the situation was very different once the context became known.
There was a person seemingly slacking. And objectively that was true. Not visible was the fact that this person was bullied by a coworker, was mentally abused. They tried their best to still deliver, but were just not able and sabotaged as well.
Solving this solution was a mess for the people involved.
Basically it isn't always as it seems. But also that there sometimes are people slacking.
In hindsight, IMO a way to handle this situation is to have a 1-1 with the underperformer, and clearly explain your expectations. Bring notes. Don't be afraid to "explain common sense." You might need to have repeat meetings every 2-3 weeks.
Give periodic summaries to your supervisor, occasional summaries to your +1. Reiterate that this isn't an interpersonal conflict situation, but that the other person truly isn't doing their part of the job. If you're generally happy with your job, wait out the situation. Otherwise, this might be the que that it's time to seek greener pastures.
Furthermore: When someone isn't pulling their weight, it will show with other people. Feel out your other teammates to see what they think of the other person. If they aren't happy, make sure that they express that to their manager and +1.
Remember: All companies make bad hires from time-to-time; and good management is hard. It's okay to tolerate a few management mistakes when, overall you're happy with your job.
Although it's not exactly what you're looking for, "The E-Myth Revisited" might help you understand some of the thinking that's needed for dealing with underperformers: https://www.amazon.com/Myth-Revisited-Small-Businesses-About...
The book is targeted to someone running a small business that needs to hire in order to grow. Think of a restaurant, RV rental business, flower shop. The mantra is to write down how you do everything, and then train everyone. If "how you do your job" changes, then you need to update the process and re-train everyone.
This is what I meant by "clearly explain your expectations" and "Don't be afraid to 'explain common sense.'" You're giving the underperformer a chance to improve, working on your "interpersonal conflict" issues, and building a set of objectives expectations that can be used to measure performance.
(In my case, the underperformer quit the day after I explained all of my expectations; and the replacement that was hired was AWESOME.)
..just so simple and elegant, particularly given the rise in hindsight and purely principle focussed cultures, that are developing in tech.
If I really think about it (or frame it as such), A LOT of my stress in work AND life is from wishing that non-existent paths existed.
I guess I would try and rephrase as "you want to work way X and your manager wants you to work way Y." I think you have three basic options: say yes, say yes with reservations, say no and quit/get a different manager.
There are all kinds of culs-de sac this odd formulation leads us down: who's right, is this a subjective relationship problem or an objective performance/personality problem, etc.
I guess I would add that, if you're a manager and something like this happens to your team members, try and take care of everyone? There isn't always a solution that does that, but the article outright says only the team member pushing for higher performance should lump it. It feels better to make everyone lump it equally haha.
Any suggestions?
Having said that, can You describe what kind of direction You are talking about? What type of change do You want to see and why do You thing there is pushback?
The team is criminally prone to overengineering. Feels like they read GoF and Uncle Bob's stuff, stopped there and concluded that engineering is a solved problem, with no tradeoffs involved. They're writing 2003-style Java in a language that's not particularly conducive to OOP (Javascript). Any time I solve something by writing a plain old function, my MRs are brigaded with kind suggestions that have an undertone of condescension. "Do you think this would be better solved by implementing the [Strategy pattern]?", "This hashmap seems a little out of place, have you considered adding some encapsulation here?" etc.
The signal to noise ratio in the codebase is woeful and finding out how anything works requires a JetBrains IDE and spelunking gear. I don't mind that, I love brownfield projects. The problem is that we keep moving in this direction and that I'm being forced, or at least firmly suggested, to keep producing more "brown".
The lead agrees that the codebase could be improved, but believes the churn (a couple of longstanding members with a revolving door of people) is on par with the rest of the industry and since the company is happy with us why fix what isn't broken. The team lead also don't code pretty much at all, so it's hard for them to perceive it as a priority. And the company is happy with us because the specific work we're doing is incredibly valuable -- we could be doing half as good. and still blow every other team out of the water because of the intrinsic value of our work. As long as our production doesn't go down every other day, we're the starchildren :\
There is of course second possibility - are You sure that the problem is not You ? Are there other team members that also complain? OOP style of programming takes a lot of time to get used to, but sometimes it can work if programmers are familiar enough with it. The use of strategy pattern can be good if there is enough variability in parts of algorithm that is being implemented.
Personally I hate this style but its because I lack imagination (which is necessary to select proper patterns and create proper abstractions). I can only create them as an afterthought (by extracting them from existing codebase). But I know that there are people that can do it up front and hit the right spot enough times (and refactor if not).
The author arrives at a valuable conclusion in a somewhat roundabout way: The real solution to most problems, including low performing peers, is to step up and lead with a positive example.
Years ago I would have agreed that the authors' dismissal of "hard to work with" is unfair and inaccurate. None of us wants to believe that we are the one who is hard to work with. Everybody else is wrong! I'm not the problem, it's my coworkers who aren't doing exactly what I want them to do!
Yet as a manager, I've learned that the realities of hiring and managing people are very different than my overly idealistic standards when I was a junior IC. In retrospect, my ideas that it was my manager's job to ruthlessly punish or remove anyone I didn't feel was performing up to par or that I shouldn't be forced to navigate difficult social situations were unreasonable.
> It’s a truism that you always want to hire folks with very high standards, but I’ve seen a staggering number of folks fail in an organization primarily because they want to hold others to a higher standard than their organization’s management is willing to enforce.
Having high aspirations for yourself is great. Helping raise the bar through leading by example and mentoring your peers is great.
Running to your manager every time you feel dissatisfied with someone else's performance and arriving with only complaints is, however, not great.
No team is perfect. Hiring is hard. Nobody starts out as a superstar. People learn and grow at different rates. If you want to contribute, lead by example and help people out when they fall behind. As a manager I'm actually well aware of who's delivering and who's struggling, but we don't fire people the second they fall behind. We also notice who's helping the team reach the next level and who's simply in it for themselves.
If your only solution to every problem is to run to your manager and demand that they do something because a peer didn't do exactly what you wanted or expected, I'm first going to ask what you did to help move the situation forward on your own. The first question is usually "How did it go when you talked to them about?" The first answer of the difficult to work with people is "Well... I didn't talk to them about it".
- Peer is a complete non-contributor, but keeps their job through lying and social manipulation
- Complainer blames everyone else for their problems
Telling the difference requires either intimate knowledge of the team, or a pattern of behavior.
If on 3 teams in a row, you were grouped with someone who was "hard to work with" the odds are that you're the one who is hard to work with.
This is also why standard interviewing advice is to never blame your previous team or boss for why you are looking for a new job; 9/10 times someone says that, it actually means that they are the real problem, and nobody wants to make that bet when hiring.
[Edit]
After reflection, I like this article even more, because it will allow people prima-donnas who are hard to work with to become easier to work with despite lacking the self-awareness that they are the problem.
True, it would be better for them to develop more self awareness, but anything that makes it less painful for their coworkers in the mean time is a win in my book.
> Running to your manager every time you feel dissatisfied with someone else's performance and arriving with only complaints is, however, not great.
There's a problem with this framing. The two are not exclusive. Complaining to your manager doesn't mean you are not leading by example and mentoring. The other problem is assuming the person complaining to the manager fits this profile:
"Running to your manager every time you feel dissatisfied"
While I'm sure such folks exist, most people who complain do so rarely, and lumping the two together equates to dismissing legitimate concerns.
There are no clear cut rules on what the right answer is. I believe that each person should set standards for work, and stick to them. If a problem arises, there are 3 choices:
1. Try to solve the problem (ideally in a positive manner).
2. Change jobs.
3. Make a compromise and live with it.
In my experience, most people choose 3, and it inevitably just means lowering your standards over and over again. These are the people who complain most about their jobs yet do nothing about it, and will have a lengthy narrative about why that is.
Choice 1 is the highest risk, highest reward scenario. It takes a lot of skill (social, political, etc), so be prepared to learn those skills. But if you succeed, that experience gets you very far and those skills are valuable.
Choice 2 is usually low risk, with medium reward. I've never regretted leaving. Every time I intended to leave, I was told I should suck it up, toughen my skin, and it will be crap everywhere. I always ended up at a better place. Also, see https://xkcd.com/1768/
From the comments here, I think people are projecting a bit too much. Take some real examples:
You work in a SW team, and a peer who has many more years of experience than you is the lead for a particular project. He doesn't want you making branches for different experiments, as "branches complicates things". Instead, there will be only one development branch and you have to make command line arguments with switches in the code for all the various experiments you need to do.
The customer (also a SW person) was in the meeting and politely points out to the team lead that he thinks SW development would be much easier with branches than with lots of command line options, and the code would be cleaner. The team lead disagrees.
What do you do?
In this case, I didn't complain. But leading by example wouldn't solve the problem as he's the tech lead. Instead, I engaged in some politics to get myself off the project. I was the lead in some other projects and I put my efforts there. Better to work on projects where you can contribute 100% than work on ones where you're hampered.
In a team I was once in, there were a number of "problematic" people, but one of them was particularly a pain - interfered with lots of projects he was not involved in, enforced solutions in those projects without understanding the problem domain, etc. Within a year I could see from the manager's interactions that he very clearly was not willing to address any behavioral issues of any person. And it was evident without me even bringing this up to him.
Folks: Don't lead by example in those situations. The best option is to leave. Such a manager becomes a magnet for problematic people. If you have enough clout, you can go to senior management, but if you're a junior person like me, you won't have that clout, and those who stay long enough to have that clout clearly are OK with the status quo.
Some years after I left the team a former coworker who's still there is having serious issues to the person, and it's becoming borderline harassment. While I didn't witness clear harassment in my time there, I did have the foresight to document everyone's poor behavior - so I got the word out to the former coworker that if he wants to take formal HR action, I can supply them with what I've witnessed.
He did complain to the manager, and as expected, the manager is treating it as merely a relationship issue. The point? Managers who are unwilling to address these issues have a higher chance of getting seriously problematic team members who will exploit the reluctance to their advantage.
It would not be my first choice, but committing on master and having feature flags can potentially be a good fit if you run tons of experiments. A company I used to work at did this and it ran very well.
If you have 6 flags, you now have 2^6 = 64 different possible inputs to the program, and your code better handle it well.
And these are all temporary. Once an experiment is over, you have to remove the flag and related if conditions.
You certainly can design it well this way and abstract out the complexity, but that takes skill, and if the tech lead can't handle branches in version control, it's a good guess they won't be able to handle the abstraction needed to make it a good design either.
There's a limited amount of time I have on this Earth, and the less time my brain spends on managing unnecessary complexity, the more time it has to do more useful things.
I haven't found a team that's perfect, so there are always some compromises. I treat them as temporary compromises, though. Just because I put up with weird X behavior in a prior job and it worked out doesn't mean I should/would put up with it in future jobs.
The superstar is a dictator with a strong halo effect. Think of any superstar developer and look into how they achieved that status. It's almost a certainty they were left alone to their own devices for great lengths of time. Which neatly coincides with...
> We also notice who's helping the team reach the next level and who's simply in it for themselves.
Capitalism relies on a contradictory stance: that the best employees are actually socialists that believe they are capitalists. Which is to say that a company wants employees that believe in the greater good (i.e. the team) but the employees need to feel like they are participants in capitalism through their efforts at their job. Otherwise they will realize they are simply being screwed (and probably demand real socialism, or a seat at the big boy table of capital). Adam Smith's self-interest is an inconvenience for the company. We even talk about such people with disdainful language such as "ladder climbers" or "sociopaths". We feel cheated when we see someone get a promotion by not playing by the established rules of the commune. Which is pretty much how all promotions happen. Similarly, few people get hired by going in the front door.
Businesses abhor competition. They get the government to rig their markets and carry their losses. They desire monopoly. So you have the socialist employee aspiring to be a participant in capitalism while the capitalist corporation aspires to socialism.
But let's cut to the chase: what this entire topic is fundamentally about is how to make your labor more predictable. More uniform. More interchangeable. And, ultimately, replaceable. Because, if labor was treated less like cattle and more like creative, responsible, independent adults we would not be having this discussion. The discussion we are having now is about how to babysit. That's literally why management exists. To manage. Human resources. Managers don't want employees messing up the production schedule and HR doesn't want employees messing up their legal standing. In addition, managers concern themselves with threats to their job.
Corporations want labor that is stupid enough to play along but smart enough to get their job done within the specified parameters. The illusion falls apart once labor realizes it and is powerless to change it (manifested as burnout, apathy, or rebellion). Then the stick comes out.
The absolute worst managers I've had were in the service industry. There, the stick comes out faster because it's much harder to convince someone they are getting a fair deal making $6 an hour. We, in the IT heavens high above Metropolis, don't often feel that type of oppression. But the dynamic is the same.
If I had other people to support then I would probably be dealing with whatever job I could keep that really paid the bills, regardless of what idiot peers or bosses I had to deal with.
This is a great post; it hit home and I expect it'll come to mind many times in the future for me. It highlights an interesting problem very well.
Will, if you’re listening, there are two follow-up posts that I’d love to see – how (and how long) to execute the “be positive and generate excitement” strategy as the main character, and how this problem can affect companies and what leaders should do about it.
My experience is that if the EM tried to draft a better product roadmap than the PM had made, it would dramatically worsen the relationship (for example). Being "extra positive" while "leading by example" can come across as being a fake, competitive show-off who doesn't know how to lead by uplifting (especially for someone who is more talented than some of their peers). Not saying the advice is bad necessarily, just that it can be really hard to do well (or that perhaps I don't understand it), and I'd like more advice on the execution.
Even still, if one did this really well, it would mean good things for the main character's career at the company - no question. Stay positive, stay in your lane, do the best you can with the people around you, don't rock the boat, be inspirational - there's no question that'll help you thrive within a company (based on my observations, but counter to the intuition of a young programmer).
However, sometimes this goes from a few isolated problems to a growing culture of mediocrity that punishes pursuit of excellence, and it can be harmful for talented people to stay in those environments for long, as it saps them of their passion for quality that is both hugely valuable in the right context and drives meaning and purpose in their life’s work. How long should the main character stay in a context where good ideas lose out to bad ideas, and mediocrity rules?
Of course, allowing mediocrity to flourish is probably very bad for a company, especially when it pushes the best people down (and ultimately out). This post didn’t touch on how (and why) leaders should handle the avoidant managers in question, and I’d love to see one that does – getting the very best out of one's organization is one of the most important jobs of a leader.
Needless to say, I'd love pointers to extant pieces that address these questions!
Absolutely. But "to lead by example" the EM could ask the PM to sit down and improve the existing one until it's acceptable for the team (or for the EM).
But let's look at the exact scenario that the blog post mentions:
> Both are pushed to “collaborate better” but the team’s impact remains poor
How are they measuring team impact? Why is it important?
Again, leading by example, if impact is important for the EM, then they should find a job where they have that. Our world is changing fast, most people have a status quo bias, tech sector are even crazier, putting all of that together it's no surprise that almost everybody in tech is not exactly where they would like to be. Dealing with this discrepancy is hard (and even that's quite the understatement), but the only true ways are internal change (acceptance, eg. changing with the environment) or taking action. (See also https://en.wikipedia.org/wiki/Acceptance_and_commitment_ther...)
> can come across as being a fake
It's very important to find the environment where you can be authentic. Including being a beginner, doing something that you're not 100% sure of. (IT/tech is again an extreme outlier in this regard, because it's full of people with self-esteem & confidence issues. Needless to say these issues can manifest in different ways, and both kinds are of course bad: impostor syndrome and the arrogant know-it-all.)
> How long should the main character stay in a context where good ideas lose out to bad ideas, and mediocrity rules?
It depends. If the main character finds passion outside work (let's say side business, family, whatever) and can just treat work like a means to many ends, then it doesn't really matter. If they cannot, because they want their work to be meaningful, impactful, they want to have professional pride in their work, etc... then they usually need to move :)
CEO doesn’t want the original CTO to lose face, so there’s a bit of an awkward period while the new manager on boards. Not an ideal situation but life isn’t always ideal, definitely a surmountable situation though.
How to work with me https://news.ycombinator.com/item?id=30841486
whats the alternative. consulting?
1. No one said you _had_ to do that job for that client. You don't have that flexibility as an employee.
2. Don't feel like putting up with all the bullshit? Keep raising your rates until a) it's worth your while (I personally can put up with a lot of BS for $400/hour) or b) until they decide you're too expensive and let you go. This is not an option when dealing with your employer.
3. Having downtime as a consultant in between clients is seen as normal. Between employers, it can be a death knell.
Knowing, and willingly to execute, these options gives you a completely different perspective than being an employee. Which means you handle the situtations differently (better?).
For example, coordinating between team A and team B, because they are unable to (or refuse to) communicate effectively; or submitting a convincing report to management with data/conclusions/proposal that some team in their company effectively had already a year ago, but were unable to get the management to implement the proposals because they cost a lot of money and they wouldn't believe their own people unless outside consultants said that this really needs to be done.
And of course there's sales. And pre-sales, and post-sales followup that's effectively sales for the next, much bigger projects... No, consulting is definitely not a way to escape politics.