A conflict with a manager ended with me being disallowed to work at Spotify
banned-for-life.com
banned-for-life.com
> "We're almost finished with X, so only days left there. Y will take a few weeks, but I cannot estimate Z. It's something we have never done before and without exploration time I don't even know the scope of the work."
> "I need the time anyway. Provide it in a spreadsheet by end of day."
I feel your pain man, that's one I've had a few times before. Just a complete failure by the manager to take the point on board, followed by a demand to just do it. That's a total morale and productivity killer.
I'd offer a time that's 4-5x as long as a reasonable ballpark. If they take that time, it gives you some slack. If they balk at it, you can explain that the estimate takes into account all of the unknown variables, and that if they'd like to shorten the time, they'll need to invest a little bit of time into discovery to get a breakdown of the timeline. Once managers start being faced with the real costs of their decisions, they start to be reasonable. But you have to do this in a calm and reasonable manner, not passive aggressively. If you do it just to get back at a manager, it will backfire on you.
"Six months! How could it take that long?"
"It's a low quality estimate as I explained, personally I wouldn't rely on it for anything, it isn't any better than a guess. I don't have any data to base it off of."
- I am in the middle of developing X right now
- I am also handling some bug requests related to unmentioned, previously delivered projects A and B
- I am in the planning stage for project Y, and working with client and analysts to pull some requirements together
- I'm vaguely aware of how project Z roughly works, but there are a few big unknowns with the project that need to be cleared up which could be the difference between re-using much of project W or writing everything from scratch.
I can give a vague t-shirt sized estimate, or I can maybe say "4-8 weeks" but that doesn't satisfy the request because I'm actually being asked for a number that gets plugged into a field that accepts discrete time durations not fuzzy English descriptions or ranges. And I won't have time to investigate the unknowns in Z until I've mostly delivered X, it's nearing production release and I've resolved the bug reports for A and B.
That doesn't happen often, but when it does it can be hard to convince someone even if you're saying very directly "I will need to take time and effort away from priority tasks to analyse the project, eliminate some unknowns so that I can provide an estimate other than the vague 4-8 weeks". If you're suggesting "just give the upper estimate" then fine ... now you're going to be asked to break down exactly why you think it's as high as 8 weeks, "wait, why isn't it about the same as project W which we already completed...?" and you're back at explaining that you to dedicate time to the task before providing a breakdown.
Basically - if someone demands an estimate when you're not ready for it, in some environments it can be quite stressful. I actually believe the author was correct in going above the manager to establish whether a very vague finger-in-the-air estimate was sufficient, rather than throwing out a known-inaccurate number.
> I am in the middle of developing X right now
That one you can estimate likely. It is a task that you can complete on your own without the rest of the organization. As a individual contributor you should be able to give a time frame for a task like this.
> I am also handling some bug requests related to unmentioned, previously delivered projects A and B
Software is going to have bugs, but I've never worked at a org that labeled bugs correctly. In my experience about half the time a so called bug is a specification miss or a feature request (a management problem), the other half need to be prioritized (again, management problem). If they want you to work on a bug over a project, deadlines are going to slip, and that is a management problem to solve. Your estimate of two weeks doesn't include washing the CEO's car or whatever other random task they want to pull you off to do, two weeks is two weeks and they gave you less than two weeks so of course it isn't done.
> I am in the planning stage for project Y, and working with client and analysts to pull some requirements together
So far you have been responsible for resource management to a large degree. You have to know in advance how many defects your software is going to have, how long it's going to take for a pull request to get reviewed, when the other team is going to get you what you need to complete the work, how often you will get pulled off to work on other tasks, etc. Now you are writing the requirements? What exactly is the management team doing if it isn't managing the product or the people building the product?
Resourcing isn't a individual contributors problem, if it will take you a couple days to get a estimate, and they choose to prioritize that. Fine. If they don't want to give you the time, refuse to speculate, if they keep pushing, tell them it will take a year or some other large number that you could do it 2 - 3 times over in. If they say it won't take that long, ask them how they know since the project isn't defined.
I've had my fair share of curve ball estimates over the years, if push came to shove I'd just give a ballpark estimate. Example: 3-6 months. If pushed for a specific time I'd go with the longer one - 6 months. If the manager wanted a shorter timeframe then just tell them what they want to hear. End of the day a bad estimate shouldn't get you in trouble with the company - if it does then that's not the sort of company I'd want to work with.
I don’t know what companies you have worked for, but I’ve never worked for any where the ‘vague estimate that we are absolutely not going to hold you to’, is not seen as the word of god.
It’s not that you get fired if you fail to live up to it, but the constant “why isn’t this done yet” gets fairly annoying really quickly.
“Why isn’t this done yet?” Answer: It was a ballpark estimate. Now we know more information we can revise the schedule.
That’s all you can do as a non-manager. If the company culture makes your employment unenjoyable I would start looking for a better workplace, or find a coping mechanism to deal with the resulting poor management.
What's the point of giving an estimate in the first place then?
I've absolutely had management insist on putting overly optimistic stretch goals into schedules but, at the end of the day, they haven't been totally outside the envelope of reality.
Otherwise if they won’t budge on time and features and resources, all you can do is put it in writing that you expect x-y time, and optimistically z might be possible.
Ultimately half the manager’s job is to account for that uncertainty with buffers, and they’ll probably double it anyways before presenting it upwards/outwards. If they don’t add their own buffer… they’ll probably run into trouble anyways
It’s not the normal behaviour I’ve seen with most managers I’ve dealt with.
It's something I've struggled to find any good solution for too, particularly if you're looking at work that might take weeks or months because then you're often estimating based off an 'aspirational' and ever-changing specification
"failure by the manager to take the point on board" is not relevant really when you think of the manager's perspective. From their perspective they have a contractor refusing to do what they are asked.
This might come down to a cultural difference or difference in communication styles. As an IC, I'd consider it to be much more honest on my part to be upfront about unknown timelines instead of providing a (quite frankly, useless) estimate just because it's what my manager wants to hear.
At the end of the day, the work will take as long as it takes (managerial interference aside), and I believe in underpromising and overdelivering, precisely to avoid situations where someone's on the hook for an estimate that didn't pan out.
If I wanted my business to be making accurate projections, I'd have been a quant.
we had some vague plannings, but those where in tshirt sizes or we just assigned numbers relative to other unknown tasks, so in long run management could roughly estimate project in months and manage risks
Now it's on them to do their job and evaluate priorities instead of sneakily offloading this to the developer.
You can only really get it if you've been in the room, but if you have you will not be disappointed!
I also think that you made mountains out of mole hills in some situations. The time estimation "catastrophe" wouldn't even phase me. I'd just say some very high number (3-4 months) and if they weren't happy, I'd just reply "when we start working on it we'll do our best to pull it in". Yes it sucks that you have to do that, but you should really learn to play the game, at least a little bit.
[0] https://madned.substack.com/p/an-old-hackers-tips-on-staying...
When I was working in an office environment, not from home, I often could ask around for advice, get a hint about approaches to different people. It was more of a challenge when remote only.
They don't even sound that shitty to me. Managers like everyone else in the world have to work within the constraints of the system in place. Like Scrum vs Kanban. Maybe the manager couldn't care less but their director is the biggest Scrum cheerleader ever. And maybe they're getting hounded for the estimate and just need a number. And maybe skipping the internship program looks bad for the manager. And so on.
Even if it's all the Manager's fault there's far worse sins in the world than dictating a methodology or asking for an estimate.
Its only significance seem to be that this might be one of reason why manager did not liked op, which yes, can happen with some personalities. But, op does not provide any part of story that would show that.
Yeah. If it's something I have some familiarity with, I can usually throw out an upper bound. And do as you suggest and/or say "If you want me to spend next week digging into the details a bit more deeply I can, but it means I won't be spending much time on my current project. Your call." (And perhaps the estimate is important because of a product launch etc. Or maybe it's just a number on someone's status report.)
The reality—if you give me an estimate, I am probably going to fatten it up even further when I pass it up the chain, not because I don’t trust your estimate, but because something always happens outside of your and my control.
The appropriate response to the (obviously) unhealthy manager in the situations described is to tactfully de-escalate while beginning the process of switching teams. Instead, the author seems fixated on “winning” every disagreement. If you think you can undermine your manager and backseat drive their processes, however flawed they may be, you are not going to produce positive outcomes for yourself or the team as described in the article.
A common misunderstanding of less mature employees is that only one person can be in the wrong in an interaction. The author writes as if the manager’s wrongdoings are a free pass for them to respond however they felt like, but the described responses come off as petty and unprofessional. Both parties can be in the wrong in interpersonal conflict situations, and these writings are a good example of what that looks like.
Going so far as to create a website publicly defending one’s behavior while seemingly oblivious to the fact that the described behavior is not a good look is an immature move. If I found this person’s resume in our application queue I would be extremely hesitant to hire them anywhere except maybe under the close guidance of a very strong manager who could mentor them closely and who wouldn’t hesitate to remove them from the company if they started demonstrating signs of combativeness or being a disgruntled employee. Advertising your “disgruntled fired employee” status online is not a good look, especially when you describe your own unprofessional behaviors in the process.
They weren't equals organizationally. The manager was failing at his job, and the contractor was calling attention to it. While it can be argued this is unprofessional, the question is what is best for the company? Professionalism in this case would amount to coddling an incompetent manager, and creating more damage down the line.
The actions of the manager shows someone incompetent with a fragile ego feeling threatened and lashing out. The actions of the contractor shows someone guarding himself, searching for higher ground, and some teasing.
They are both failing in professionalism but there is a significant difference in magnitude of their failures.
I’m under the impression they’re writing that the actions they took weren’t great either.
I find it really interesting that the perspective on HN seem to be so split. There seems to be a group of people trying to defend the author, and a group of people that seem to come down on him for being unprofessional.
But then why post the company name publicly and not conclude with summary of what went wrong? The way it's written and ended, it felt more like a bash at Spotify with minor introspection instead of a honest story of a bad situation.
Actually, it is worse as he was a contractor, not an employee. Even though he mostly behaved as one. I think this was his key mistake.
Being viewed unfavorably by potential workplaces because of telling this story is a great fear, I admit.
When technical decisions come up with no obvious correct answer, the manager saying it's up to the team while also disagreeing is just bad. The team provides input and offers their view on best direction but it's up to the manager and product manager to be technical enough to understand the team and then balance business needs (which may be unknowns to the team) and make a final decision. The team then should accept it.
The push back of using a parallel kanban board is just dumb on the managers part too. Management and teams often need different tracking and reporting styles to get work done. Your direct manager should be familiar with both. If they are not or refuse to be, just run.
Managers enable teams by empowering, deciding and then getting out of the way. Bully managers use passive aggressive non-sense like you had to deal with.
For Spotify to not recognize and isolate this person is a problem all the way up there chain.... And again, assuming your version is correct.
Write a formal letter and pass it up the chain appropriately (without this petty retaliation baked in), transfer teams, find a new job, etc... Fighting the manager directly and consistently does not provide any business value, social value or goodwill. It's simply the wrong play.
In an ideal world, pushing for what you think is correct is noble and moral, however it is not an ideal world. Rallying against (minor) wrongs is not always valuable or appropriate. Business magnifies that, and pushing back against (minor) wrongs becomes ever more subtly complex.
Business environments require tact and that is absent here.
Now we can take it a step further and assume that the author is making themselves appear less complicit than they are (we all do this to some level when writing about ourselves). The chance of that pushes this story from "innocent but socially immature dev against big bad manager" to a whole variety of stories where it's a troublesome developer and a manager trying their best (even if moderately poorly) to manage it.
Unless I'm misreading this blog and its tone then this blog serves as a red flag for working with this person.
Last thing on the list that I, as a developer providing contract services, should do: Create a website to specifically bad mouth my customer, and make myself look bad in the process
OP was definitely mistreated, but the mature and correct thing to do is to move on and find other work. Use it as a story for the "conflict at work" question in an interview, but otherwise, put it behind you.
They presumably think so as well since they seem to be in therapy.
he may be capable and probably is, but it doesn’t appear like the dev knows how to deal with less than stellar people.
managing sub par people both up and down is an important skill.
a)both the Product Manager and team were surprised,
b)another person from another team reached out pretty soon to try to take OP on their team (having worked with op in the past)
And c) recruiters who kept reaching out, AND op kept passing interviews till the HR part
Which doesn't mean much. I try to avoid privately siding against anyone in my company, too. It's entirely possible that his colleagues did the same and he interpreted it as siding with him. They might also haven't known the full details of the conflict.
> b)another person from another team reached out pretty soon to try to take OP on their team (having worked with op in the past)
Who most likely did not know about the conflict, either.
> c) recruiters who kept reaching out, AND op kept passing interviews till the HR part
Passing interviews is a skill not necessarily related to job performance, as discussed here quite often.
On the other hand, we know for a fact that he clearly did not handle this conflict well, and that Spotify decided not to hire him again (which might be unfair or might be due to their side of the story being different - we don't know). We also only have his impression of the impression of his colleagues for work performance and the fact that he choose to publicly post this & name the company, despite clearly not being perfectly in the right.
Not an ideal candidate in my view, but, as they say, you need to fit to the company culture - so feel free to hire him :)
Edit: I kinda see your point, my c point is more of 1 than 2 points in that sense
"I made a website to complain to the world about Spotify's management, and Spotify somehow held that against me."
I also felt the urge to denounce their unprofessional behavior online, hoping that someone else would not end up in the same position as me, or make their customers aware of how bad their behavior is towards employees. But the truth is, it would not change anything and just paint me in a bad light.
After reflecting on my experiences, I found that we were just not a fit. Their way of working was not aligned with mine. Instead of changing myself to fit in or them to accommodate me, we clashed and it ended badly. Both are at fault, I take the loss and move on to the next gig.
Found my happy workplace now and I'm using these experiences to spot potential red flags early.
This scenario is my biggest fear as a people leader - that ICs are being mismanaged and I won’t be able to see it or intervene before it is too late.
Some would take this as being very manipulative, but I find it to be great advice when working at large companies. I recommend reading "The 48 Laws of Power" for similar "immoral" advice if you can stomach the implications and use them only in self-defense.
OP’s advice is 100% on the mark. Hiring manager is the face of company. And you won’t see anyone higher if HM hates you
As ever, your role as the employee (triply so as a contractor!) is to stay professional and follow directions. Yes, you and your manager had very different styles, but we are in a very fortunate position that if you dislike your employer you can just leave.
What you shouldn't do, is tell your obviously unstable manager to go read a book on managing, created sarcastic backlog items to mock his micro-managing and directly went against his orders publicly?
Your manager was bad, but you should have done your job and politely swapped teams. Instead you're portraying yourself as a poor contractor who only slightly mocked his manager, then blasted the company on a custom built blog.
Giving in to shit management will just reinforce it. Changing teams isn't a solution if your enjoy the team. Standing up for yourself and the team is.
Could he have gone about things better? Probably. But your job isn't just to follow directions, especially as a senior engineer.
That’s not what anyone is saying. The parent comment specifically said that the OP needed to work on changing teams, not going to war with his own manager.
As a manager of managers, it’s not that hard to see when a manager’s own team doesn’t like them. Getting multiple requests from people on a team who want to escape it is a huge warning sign that warrants further investigation.
However, if I instead get reports that a team member is combative and fighting with their manager at every turn, I have to approach it as interpersonal conflict. Some times (like this story), both parties can be in the wrong. If the situation as written is accurate and honest, I’d be moving toward heavy mentorship for both parties involved but they’d both be up for removal if they couldn’t improve.
One person behaving badly doesn’t give a free license for the other person in the conflict to also behave badly. “But he started it first” isn’t even a valid excuse in elementary school and it’s not valid in the workplace either.
Managers are expected to be held up to a higher standard because they were presumed to be better at interpersonal relationships as a reason for moving into the role.
Yes, it's certainly not great when an IC is unprofessional but they're expected to be maturing over time and the range of issues that could provoke an IC to be unprofessional is vast and could conceivably never reoccur. Managers have less excuse, they're the ones placing the people on their team and they're the ones responsible for dealing with issues within their team.
Your role as a manager of managers is just to do what works. By pretending there's some external force that binds you from reaching the right decision is a way of externalizing responsibility so you can enact a decision you secretly want to but are unwilling to morally admit to yourself.
Everyone has to be mature and professional at work. Yes, management might be held to slightly higher standards, but being combative and fighting with your manager at every turn is below the standard for anyone.
a) They made up wholly out of thin air just so they could drop their "have to" line
and b) If an IC "is combative and fighting with their manager at every turn.", then holy hell, is it not an interpersonal conflict, it's even more of a management failure. The manager was the one who put the person on the team, how did they evaluate this person? Why did they not pick up on the warning signs? What stopped them from letting them go even faster?
The IC is 100% fired in this scenario but the responsibility is also 100% on the manager that this should have never happened in the first place.
An interpersonal conflict is when there is genuine differences of opinion that come from honest differences in values. Not when one or both sides are clearly wrong.
A lot of this entire thread sounds like "perfect victim" blaming. Only the perfect victims are allowed to point out abuse in the system, if you have some prior criminal history or you've made some sexual missteps in the past, then you "deserve" the police brutality/sexual harassment that was put upon you.
Standards are made wholly out of whole cloth over who gets to be the perfect victim and if you fail at any minor point of decorum, then we "have to" disregard your critique of the system because you "weren't professional enough" to have suffered management abuse.
> As a manager of managers, it’s not that hard to see when a manager’s own team doesn’t like them. Getting multiple requests from people on a team who want to escape it is a huge warning sign that warrants further investigation.
This means that situation was very bad and escalated for months. This means that the team is well beyond the "own team doesn’t like them" situation. This is why it is impossible to change or fix bad managers before the team is decomposed and people suffered. If your only feedback about leadership quality and attitudes is "multiple people are escaping", then it means you are not checking on leadership quality at all.
> However, if I instead get reports that a team member is combative and fighting with their manager at every turn, I have to approach it as interpersonal conflict. If the situation as written is accurate and honest, I’d be moving toward heavy mentorship for both parties involved but they’d both be up for removal if they couldn’t improve.
This enables bully managers big time. This could be unclear competences, this could be professional disagreement, this could be manager picking on employee, mismatch of ideas about roles and it could be employee being entirely in the wrong. You start assuming interpersonal conflict, which means that if there actual causes for issues wont ever get fixed.
> if the situation as written is accurate and honest
Gotta love this assumption given that especially middle management selects for people who are neither accurate nor honest. Now, engineers are not better people in principle, but when engineers lie, it is faster to find out. Meanwhile, your rules have no "check whether the manager is telling the truth" moment.
Doing a good job of identifying teams who don't like their manager means discovering it before you have multiple people trying to transfer away from that team. By the time you've reached that point you've already failed in your job as the manager's manager.
> The parent comment specifically said that the OP needed to work on changing teams
I don't have any further thoughts, but changing teams to avoid a poor manager seems precisely like 'sucking it up'.
If you want to change something, you have to demonstrate that you’re acting in good faith and trying to work with the system rather than against it. Asking to change teams is working with the system. Getting into personal fights with your manager and escalating the battle at every opportunity is working against it.
People who work with the system and behave professionally are going to improve the overall health of a company. People who escalate every battle and want to fight every conflict until one party loses (in this case this backfired on the OP and they became the loser) generally only make the system worse.
The thing to keep in mind is that the company doesn’t have to choose which person is “right”. A manager and employee blowing up conflicts can both be wrong and can both be removed.
False dichotomy. Asking to change teams is being complacent and making it someone else's problem. "escalating the battle at every opportunity" isn't an accurate summary of OPs actions.
So? Not every battle needs to be your battle--especially those where common sense says you're going to lose. You're under no obligation to try to work things out at a given job.
Is the problem that the company you’re working for has bad managers? Is your goal to ensure that there are absolutely no bad managers in a company the size of Spotify? Because that sounds like a Sisyphean task on a good day.
If that isn’t the goal then why is switching managers not a perfectly adequate solution?
And about making it someone else’s problem, potentially that person may get on better with the manager and they may both be more effective. Alternatively, when there is a second person who also chooses to change, that would lead to either the manager reconsidering their approach or the manager’s manager wondering why no one sticks under them.
If the company has a decent HR policy they will allow for anonymous feedback on the manager and when it gets similar feedback from multiple people they can work on improving the managers training and/or get rid of them.
Sort of, but the person whose problem it becomes is the person who can and should deal with it.
A manager’s manager should notice if the manager’s team has a bunch of attrition. Certainly the best path is to work with your manager but if your manager is not amenable to that then changing teams is a signal to the rest of the org that the manager has issues.
He could have tried to talk with the managers manager, talked with HR, or done anything except behaving as a passive aggressive child...
It always was someone else's problem. If your manager wants the benefit of your insight and perspective, it is their responsibility to create a team culture which enables you to share it.
I had the misfortune to completely misinterpret my manager once. Turns out our relationship wasn't equal (go figure) - when I challenged my managers decision it backfired to the point of nuclear-escalation from management. Even though it happened in the right forum and from a professional viewpoint. Even though I hadn't done anything wrong, everything was perceived in ill faith.
Department management wanted to talk to me in a meeting. They did not want to disclose the agenda.
Fortunately, I was in a union. So when I asked for them to include my union representative in the meeting they backtracked HARD. After having discussed the case with my union representative we came to the conclusion that I hadn't done anything wrong, and that they were most likely abusing their powers - and that there was a prior history of this in this particular department.
With my union representative present, management moderated themselves immensely. They had started something without thinking that I would include my my union.
In the meeting, we ended up exchanging pleasantries. Some action items were made, applicable for all involved parties to avoid - so that we could avoid these kind of misunderstanding in the future.
The meeting ended with me having the moral high ground, but I knew that my days in the company was coming to an end. I felt like a marked employee.
I spent a couple of months rebuilding my image. Just conforming to everything they told me to do. After a while, I turned in my resignation and am now working elsewhere.
Doing the same, but less work for much higher pay and for a company that cares a little more about their employees well-being.
Absolutely, I hope most people would. And if that was all he did then that would have been great. However once you switch from "making an argument" to mocking and bullying and passive aggressive bullshit you have obviously crossed a line and lost the high ground.
Part of being an employee or contractor is accepting that often you don't have the final decision. Once you have presented all your arguments as best you can to all the relevant people you have to be prepared that they will turn around and say "I've heard your arguments and taken them into consideration, however we are still going to do it my way". And once you have reached that point you have to either accept their decision or say that as a professional you cannot accept that decision and feel you have to step away from the project.
If you want to be the one making the final call, apply for the job as the person who gets to make the final call.
I wish someone had explained this to me when I began my career. It would have saved 5 years of my professional life, a lot of frustration, and losing out on a really good job other than disagreements with my manager.
Trust me, I've been there. At one point, I ended up going to my manager's manager--who I knew well--and basically said transfer me somewhere else or I quit. Which he did and I did some legacy work for a while and it was fine.
Nothing gets solved with sarcastic passive aggression either.
I've been told I have a 'healthy disdain for authority' from a boss before, yet we still got along and were able to work well together.
That's a naïve way to look at it. As a contractor he should have STFU and done his job. His job is to do the work he's told to do. Now, if the manager hadn't been an asshole, none of this would have been an issue. But when you're dealing with an asshole (in a position of power over you), the last thing you want to do is continue to piss him off.
I've been there, done that and when I there was mutual respect and trust between the manager and I, I would push back on things that could be done better. When the manager was an asshole, I just stayed in my lane. My job wasn't to fix the org's problems, my job was to build software and (from my perspective) my primary concern was staying employed.
If he wanted to stay at Spotify he just should have kept quiet and switched teams.
The manager was affecting his ability to do his job.
I don't think it's fair for anyone to have to put up with shitty managers just because they're contractors. The thoughts and feelings of a contractor are just as valid. It shouldn't just be "put up or shut up". It should be Spotify ensuring their managers aren't assholes.
Nobody is saying that. You’ve been misconstruing people’s responses throughout this thread.
The bottom line is that both people can be in the wrong in a situation like this. The employee is not entitled to behave poorly because they have a bad manager and the manager is not entitled to behave badly simply because they’re a manager. However, the fact that neither party could do anything other than escalate the situation and even continue fighting battles after being fired is unprofessional behavior.
This blog post IMHO makes the author unemployable, they publicly demonstrated they are a high-friction person and even tacked their name on it. Being able to handle social conflict gracefully without escalation is a virtue and they don't have it.
or, told another way: dance monkey, dance.
If companies or managers just want to do the infinite monkeys typing shakespeare approach with 0 critical thought, don't hire / contract senior people.
Someone who doesn't push back on giving an estimate for something they have never seen is useless in a senior role. Sure, the kanban stuff might be a little out there, but if a manager is doing a shit job of blocking tasks mid sprint, again it is better they try and suggest something to help their co workers.
Senior people should know how to read the situation and either A) figure out how to persuade management to their way of thinking and failing that (repeatedly) B) STFU and do as your told.
I'm not opposed to making suggestions/recommendations, but some people don't want to hear it, for whatever reason. As a contractor I'm not going to upset if you don't take my recommendations and it takes longer (after all, contractors are usually hourly...more money, more money). If you're unable to "STFU and do as you're told", bide your time and find another position on your own terms.
That's the lesson this person needs to take away from this.
See def. contractor.
If you want them to do sprint planning / estimations / train interns it is a lot closer to a traditional employee than a "we pay $XXX a day for 7.5hrs of coding" contractor
How do you go about doing this? A direct confrontation? Or by asking for documentation for their request (like a JIRA ticket), and then replying in the ticket with your suggestion? etc
> If everyone just sucks it up then nothing gets solved
Fight Twice. On Record; push back against something you disagree with (Be it Style or design decision) Twice. If the other side (especially if they are above you in the food chain) still persists - Suck it up and do the work.
If you can't live with that situation - look into moving on (while sucking it up). Continuing to push a beleaguered point (even if you're "Right") will inevitably lead to nothing good.
You aren't there to solve their problems. You're there to make them happy. While related (and sometimes intersecting), fundamentally these are vastly different things.
And at the end of the day, "making them happy" is what takes precedence. Even if it means holding your nose while you wade through that big giant mess of legacy code that could have been made into a much smaller mess by the time you got around, "if only, if only". And learning, finally, to STFU until it's time to GTFO. Rather than waste your breath (figuratively or literally) telling them things they don't want to hear, and wouldn't be able to grasp the import of anyway.
It took me forever and a day and then some to figure this out. Granted, it shouldn't be this way, and sometimes we actually do get to work with who are fully functional adults, who know their limitations and can handle disagreement have, you know, empathy. And who have not completely lost themselves in the game that is their "role" to the point that they are incapable of dealing with their organizational underlings as people, let alone as equals.
Alas, these situations are few and far between. Most of the time, it's pretty much as I described up above. Not that we shouldn't at least try to make a difference. Of course we should. But when we get the sense that our efforts are going against the grain -- they're going against the grain.
And all we can do is step back, breathe, and say to ourselves "OK, this isn't my problem". And remember why we're there in the first place.
Lolwut
> As ever, your role as the employee (triply so as a contractor!) is to stay professional and follow directions.
That hasn't been true in many companies for a while now - especially if someone is in as a senior equivalent
> then blasted the company on a custom built blog.
I mean, the company blasted him with no right of reply on an internal system, not sure what the "custom built blog" has to do with anything
This reads like either a: the OPs manager who was in waaayy over his head, and lashed out or b: another manager who is in over their head and just want the smelly developers to do what they are told, and act like mindless cogs for them.
I would say yes, and that the author failed to do that here. I would also say the manager was clearly very weak, and that Spotify's bureaucracy may be producing suboptimal outcomes.
I think it is less of a part of the role for a senior engineer - Principal and over it is pretty much a core of your role - but it is something you should be doing.
The groundwork for doing it effectively comes from both sides however, and everyone sucks here for that.
I don't think we should expect miracles. But, based on this article, it seems to me that author was nowhere near that line. The mocking jira ticked seems like open hostility. You can be immature in reactions and still better then that.
Contractors are there to provide value for the company, not to please some managers personal feelings. Their benefit to both, meaning to them and the company, is that they do not need to play politics, and a relevant part of their value stems from this (= being an third party opinion that can say things that employees may not want to due to aforementioned politics).
It naturally isn't a black and white thing, but IMO their job shouldn't always be to dance as told from a manager, whom often don't even know how to give that close "dance directions" to pull that puppeteering off.
The writer had already done a successful contract at the company and produced tooling still in use by multiple teams there, and still got called out after this whole affair, so I think we can see it as established that they can be useful and provide value to the company and that the teams they worked with weren't exactly unhappy with the personality and/or work ethic, otherwise getting the second contract quite probably wouldn't have happened in the first place. On the other hand there's a new manager and a black hole of higher ups, one doesn't get much info here about any reasoning of their behavior, but if we can trust in at least a basic level of objectivity (i.e., the rough edges of the story are as told) it's hard to see the full blame at the contractor.
Don't get me wrong companies can certainly do this and this is just describing the smaller safety net contractors have, weighting against their bigger flexibility, bigger pay, but no guarantee in stability of that. That said, it still feels a bit odd for the company to react this way, certainly off-putting, albeit that's not meaning much as I never planned to work there, nor in other such "big-HR" places, as contractor nor as developer anytime soon for completely unrelated reasons. The creating an extra side to this story has IMO a bit of oddity too, but domains are cheap and in the end it's not much practical difference compared to hosting it at an existing site.
From the sound of it, Spotify was treating them like employees - most places would definitely not have contractors do hack time, or put code monkey contractors in the path of major feature estimations
But the entire idea of contract + senior/architect is somewhat bizarre, given how much of the latter's jobs are consensus, relationship-based, and political.
Going forward I would probably avoid contract work with those responsibilities.
On the other hand, call me a consultant, hire me from a higher level sponsor, and at least I have a clear remit.
Literally nobody is arguing against this.
What people are arguing against is how he went about doing this. By his own words, he comes across as immature, overly emotional and unprofessional.
Also, “Legendary Software Developer” is his title on LinkedIn. I know some people that wouldn’t hire him for that alone.
Then I read this: > Also, “Legendary Software Developer” is his title on LinkedIn.
And know I would have never hired him in the first place so problem would have been solved before it occurred.
I'm genuinely surprised that people like you and OP's manager exist. You'd want to get rid of someone because they gave a book recommendation that you disliked? Jesus. I get how the book recommendation was a bad move, but holy crap, it's nowhere near bad enough to "choose to not to renew his contract".
Maybe you’re having difficulty imagining someone else’s perspective?
Are you a software engineer? Imagine you demonstrated your new code to the team, it didn’t go well and afterward your manager took you aside and recommended you read Chapter 6 of “Coding for Dummies”?
I’ve been in software engineering for decades and I can tell you a rounding error of 100% of every software engineer I’ve ever worked with would spend the rest of their day looking for alternative employment after that.
I think maybe the other thing you’re doing is skipping over all the other immature and unprofessional things the OP said he did. Did you read where he created a user story explicitly for the purposes of mocking his manager to the team? There’s a lot to unpack in this train wreck.
I've been in that situation more than once, and none of those situations made me want to fire anyone. For example, last fall I was in a project where I implemented some frontend features without considering accessibility. A designer in the project told me what I did wrong, and recommended to me that I should take an "introduction to accessibility on the web" course. I thought it was a good idea. I took the course, I learned a lot of things, wrote down notes, and still refer to those notes every now and then. At no point did I feel like I need to fire someone for recommending I take a course on something that - frankly - I was supposed to know how to do in the first place.
> I’ve been in software engineering for decades and I can tell you a rounding error of 100% of every software engineer I’ve ever worked with would spend the rest of their day looking for alternative employment after that.
Ok, well after this discussion you will hopefully adjust that percentage down a few points from 100%.
> I think maybe the other thing you’re doing is skipping over all the other immature and unprofessional things the OP said he did. Did you read where he created a user story explicitly for the purposes of mocking his manager to the team? There’s a lot to unpack in this train wreck.
No I didn't skip over those. I read OP. But I wasn't commeting on OP here. I was responding to a comment made by kcplate. According to his comment, just the book recommendation alone was sufficient grounds to not renew the contract. That's the comment I was arguing against. Not the totality of OP.
Been there, done that, and it’s just not worth it. The needs of the many outweigh the needs of the one.
One organization I worked for about 15 years ago, us leaders and managers had the flexibility by the owner to immediately remove any person we deemed as poison or problematic: employee or contractor. We would deal with any legal fallout after because it was understood that removing the poison was ultimately better and less costly for the organization than any legal fallout related to a termination.
I'm glad you looked me up on LinkedIn! I have received zero value from that site so my profile there is not serious :)
That pretty much falls squarely into titles and bios that are going to make me turn the virtual page very quickly.
Not really. Your job is to advance the business of your employer/client. While staying professional, of course. Moreso, because by being a duche it's pretty hard to convince anyone, so it's a prerequisit for doing your job of advancing the business. (Unless you're so good/so much in demand that they will manage around it.)
But in general caring about the business interest of whoever pays you, means the exact opposite of following orders. Now, if you're not unfortunate it doesn't mean fighting around management styles, but something more related to your direct area of expertise.
I had a client once who listened but declined every single suggestion to improve things - including the most basic "Perhaps stop sharing the same root password to all servers and each developer has their unique login?"
It's rare but some businesses just don't want to change if their current legacy processes have made them so wealthy.
Yes, sometimes clients don't listen. That may even be the default for a new relationship. But as a first attempt you should, I think, try to convince them. I'm definitely against the "I told them, they didn't listen, but after all, it's their decision/their problem" approach. But sometimes even that doesn't work. In those cases I think one should lay out the options (including the one the client wants to go with), enumerate all the pros and cons of each, make a suggestion again ("based on this I would go with....") but then let the client make the final call. Just be sure that they really understand the compromises and then evaluate the consequences when it's time. That can work wonders.
After being "right" a few times ("well, it turns out that you were right and we should have done this instead of that") they will listen by default. Better yet, pick up and learn the thought process. Now I quoted right, because it's not even necessarily true: just because their approach failed (or seems to have failed) doesn't mean that yours would have worked better ;). But, of course, since you are the professional, it's more likely and the lesson really is just that.
Besides that, everything this person said is correct. I’m inclined to say the manager is in the wrong here.
> to go read a book on managing
To go read a book on why adding more people to a late project makes it later.
If your manager cannot understand you when you try to summarize, and is not willing to take your word for it, what are you left with?
Either way, this should never have escalated to HR. And certainly not to a lifelong ban, that sounds like a broken process to me.
I would put most of the responsibility on the manager - he is supposed to handle these situations, and get the most of people, including difficult contractors.
But the contractor should have been smarter about the reality of being a contractor. You can’t afford to be this annoying if you don’t have job stability.
Everyone seems to be in the wrong here. Hopefully both sides learned and grew from this.
The company is your employer, not the manager. If you see that the orders you get are harmful, it's your responsibility to raise an alarm.
And I don't see the things the manager says as directions. He's trying to make his wishes sound as if the team and the post author decided to do it themselves. Total coward.
EDIT: The employee can't be responsible for disobeying orders if he got no orders.
Unfortunately, the way this guy went about it, airing dirty laundry for the world to see (and potential employers) basically made him unemployable. There are plenty of good people out there that don't bring that kind of baggage.
What is up with all these whipped people in this comment section who don't understand that quality people respect others for sticking up to bullies? This attitude is enabling abuse by defending keeping it private.
Nobody who knew about this episode would ever hire that guy. Too much baggage, too high maintenance. He'd never make it through a simple HR screening if that popped up. I mean I'm sure someone would eventually hire him for something, but he's definitely on people's radar now I suspect. Most people want to get work done and not deal with this type of bullshit, plain and simple.
>What is up with all these whipped people in this comment section who don't understand that quality people respect others for sticking up to bullies? This attitude is enabling abuse by defending keeping it private.
Both seemed like bullies to me. Corporations hire people to solve problems and save money. They don't care about personal crusades.
Though I agree that there could've been a better way to handle it (OP states it), your tone sounds almost like you’re that bad manager. As a manager you’re as much a cog as anyone else, and you need to be accountable downwards and upwards. A good company understands that.
Ideally it should’ve been that OP just quietly switched teams or found another job.
But I’m glad that this got posted. I don’t want to work at a company that I don’t have an opportunity to criticize their internal structures with valid rational reasoning. Being fired is ok, but being marked as bad cultural fit is clearly a retaliatory move, which is not just bitter from the company but also from the HR department at Spotify, especially that no one asked OP’s colleagues.
This seems like a thing in Swedish medium/big tech companies, at least from what we read about Klarna last month.
Maybe I should have beeen more obvious, but the way I phrased OP's actions was to show how the Manager saw it, and sold it to HR. The crux of this is that the dev was enjoying the benefits of being a contractor but wanted the perks of being an employee. A contractor is meant to be a simple resource for a company (although it's is absolutely Spotify's fault for abusing the contractor position with things like teaching Interns as a contractor (which I think is illegal in some countries?)).
To be more clear, my stance is that the employee would make a great employee, but is a bad contractor which is why Spotify blacklisted them (although it'd be interesting to know if they could apply as an employee now).
Ultimately yes, but a manager who takes decisions without considering the input of their subordinates is shortsighted and oblivious to their challenges.
Saying that it's a "team decision" while no one else in the team was even aware of that decision and the process behind it is dishonest at best.
In my opinion, that shows that the manager was doing a poor communication job with his subordinates and ensure that the decision process was understood, and that led to frustration on both sides.
If they were an employee, that's a very different story! Though all this is from a US perspective, so take that with a grain of salt.
But at the end of the day the "mature" person in the interaction ought to have been the manager. This looks much worse for Spotify than it does for OP.
Haha. Isn’t them reading a book how we all got into this mess in the first place.
Rarely see this sort of thing from managers who worked up from individual contributors.
The only question is whether you get sacked or leave in time. The clock's ticking.
Otherwise this lame manager continues uninterrupted.
FTA: "I made another mistake in creating a parody ticket to the ones he created. I think I called it something like "Scalability", without any description, like his tickets. He sent me a private message asking about it. I realized I had gone too far and explained that I wanted to illustrate the vagueness but that I had done it in an unhelpful way. I apologized to him. "Apology accepted" he replied."
That doesn't seem great but also isn't particularly harsh.
I mean, to illustrate the point, if you call any general contractor in your area and ask how long a new kitchen cabinet build takes, you'll probably get a price range and a time range, depending on several factors. They probably won't say "I literally cannot even fathom an answer to your question until I inspect the condition of the dry wall, wood prices and availability, etc.". This is because the people who want the thing built will use time and price etc as an input to decide if ironing out the little details is worth it.
And in following dialog manager shows surprise, but then ends up with "just put something in". To which op responds "I cannot stand for an estimate of something I don't know. Can't you then just put something in".
The manager clearly wasn't the best, but none of the scenarios were unworkable or unreasonable. If anything it's your fault for being unreasonably focused on churning code when the business needed an experienced head to help guide things. Refusing interns because it's be a distraction, refusing to properly estimate, basically refusing anything but focused coding time has is place in some job roles but clearly they're not senior ones.
OP said an intern couldn't be handled in parallel to the existing work, which could be postponed. OP refused to waste the intern's time by not having the time to help them.
OP said they aren't in a position to be able to deliver an estimate, yet. That never happens to you? And the PM needing the feature was okay with that, why is it a problem for you and the shit manager?
OP was unhappy wasting time with repeated meaningless updates, which was also unproductive. They didn't refuse to provide them nonetheless.
I'm sorry you went through all that stress, and I agree it's a smart move to remove your last name from the blog so it's not the first thing future hiring-manager's find.
Only thing OP could have done was recognise the toxic nature of manager and leave first. But that is a lesson usually learned the hard way
He tried to do his job and the manager was trying to do his job too... You clearly didn't read it.
Having said that, based on this description: yes, the manager seems weak, but as the OP themselves state, these were annoyances. Couple of pointless chat messages, badly run meetings. Annoying, but it doesn't sound like such a big deal. Esp. in a fully remote setting, where you don't have to sit next to an annoying person all day..
Also, towards the end it turns out the manager was new at the company (first 6 months), so they were probably figuring out whatever upward reporting culture Spotify has, and maybe that's why they were asking seemingly pointless estimation questions?
In any case, openly challenging the other person in a group setting and making fun of them [with a ticket], which is what happened here, is not the right thing to do (whether a peer or a manager).
Good options are: (i) have a separate 1v1 where you talk it over with the person (ii) put up with it for a while and/or (iii) switch teams (iv) switch companies, if it's that annoying.
On the flipside, firing a person for what is described in the OP seems like an overreaction. But, judging based on one side of the story is not a good idea.
Overall, I personally cannot draw any conclusions about Spotify based on this, nor do I want do :)
Also, I'm questioning whether it's a good idea to write a blog post like this. I assume the contract had NDA / other clauses that prohibit this. In many cases, those clauses are a good idea. Eg. imagine if now Spotify, with all its marketing power, were to reply to this person's claims and represent their side of the story. That would probably suck for the author here. Fortunately that will not happen.
I agree with you that we shouldn't draw conclusions about Spotify as a whole here. It's a big company with lots of different approaches within it.
What I disagree with is that firing me was an overreaction. I think it was sensible, since we both knew at that point we could not work together.
Even not-so-new managers often want to be able to answer questions about what their team has been working on and what's coming next and when.
My major takeaways from this:
* Spotify doesn't have good oversight of their managers
* Spotify doesn't value their individual contributors enough to provide them with a clear problem resolution path for this situation
* Spotify has an HR shadowban procedure
* The author doesn't have (or didn't have) great coping skills when presented with a corporate political problem outside of the usual contextNot sure about Sweden (where I assume this situation took place), but it’s common in the US to have “Ineligible for rehire” flags that can be placed place on a terminated employee’s file that effectively blacklists the employee from working for the company again.
I can envision a situation where a person is terminated, another manager sought to hire the termed employee and HR stops the process because they employee doesn’t have rehire eligibility.
Prospective future employers of the employee can contact the other companies the employee worked for and most HR departments will confirm employment, confirm salary, confirm hire/end dates, and will confirm rehire eligibility status.
It’s why it’s really important to try and avoid getting termed for cause in the US…while it’s not a “blacklist”, it certainly can follow you.
It’s clear they were having problems which were impacting the team.
Where I work we don’t have “engineering managers” our line managers are other engineers in different squads as I think it is great!
In a previous company we did have an over zealous manager and the team feedback through the correct channels and the issues where resolved. This was also a team made up mostly of contractors who all had strong opinions.
I thinks it’s important to remember that it was a really tough time for a lot of people during the lockdowns so maybe that factored into these issues.
But the underlying problem here is an organization that's supposed to give autonomy to developers, with a manager that is actively working against that. The manager, by looking at their actions, seems to want the team to take responsibility for their work, yet wants also to command and control the team. Often hiding behind indirect threats and "guidance".
Sure, if a manager is bullying you like this, eventually anyone will buckle under the pressure at some point. Now, if you come from an organization that is built for command and control, then also as a developer you are able to shift the responsibility to your manager and never do anything unless the manager explicitly tells you to do so. However, here the manager tries to have their cake and eat it too. They want you to do as told, yet take the blame if something goes south. This is extremely common: pretend that developers have autonomy, but still use control in subtle ways. If problems arise, you can blame the developers and the manager can wash their hands, because "it's the teams decision".
It's a recipe for disaster, and when this eventually blows up, it's very nitpicky to blame the developer for making mistakes in such an environment that's set up for failure.
Also, see the difference between the manager and the developer when they make mistakes. The developer promptly realizes going too far and apologizes. Meanwhile the manager shifts blame, denies their subtle control and keeps gaslighting the developers into thinking its all their fault.
Another huge red flag is the backchannel communication and vague reasoning behind the firing. If a manager cannot have a direct conversation with all affected parties present, they are very likely to be hiding something. Firing someone without an open discussion first is just insane.
It's not clear to me where this contractor was. Sweden? Even as a contractor, knowing what I do about how large companies work, a manager can't typically just fire somebody. There is an HR process that needs to be followed.
For people saying he should leave and/or put his head down and do his work, that seems to be part of the problem: the constant interruptions. I've had this situation before. In some cases I've had some success with "you've just asked me to do Y when I'm doing X. What do you want me to do: X or Y?" For decent to good managers they understand this is a prioritization issue.
But for other managers this is viewed as insubordination.
Managers have to be held to a higher standard by the company because a bad manager can do an awful lot of damage to the career of their reports. Unjustifiably low ratings, subpar ratings that may make team transfers impossible, even PIPs for really no good reason.
Companies should be hypersensitive to bad managers but so often they just aren't.
Bad managers will shift blame for their own failings and it can be extremely hard not to be collateral damage before you realize what's going on.
As for Spotify not hiring this person back, that's just standard HR policy BS. There's probably not much you can do about that.
I think author of the blog could prevented escalation with manager he was reporting to, some words he was choosing when communicating were quite ... edgy. And it seems he is picking up his lessons, good that he sees there is something he could have done better.
UPD: please don't downvote me, I am on spectrum
We do not like, and eventually will not tolerate, people who do not contribute a certain amount to the tribe. Members of the tribe that could not, or would not, contribute we banished to exile to die in the wilderness.
This is why Communism in any form cannot and will not work. There has never been, and will never be, a perfectly equal distribution of work amongst the people in a tribe, a village, a town, a city, a state, a nation. You cannot distribute equal resources for unequal effort and expect cohesion.
But I agree that it's of course strange, for example, why would the builder of the house get the part of profits of the house after it's built? It's also a bit not fair
"I am writing tickets for you and don't want to add overhead."
I hope the Spotify CEO reads this and takes action.
In many companies though the CEO is in on the game (e.g., in the scientific Python space this sort of thing is quite common).
Without hearing the other side of the conflict, this whole thing could mean multiple things. It's possible that the manager himself was a bad culture fit, for example. If the manager wasn't actually a bad culture fit and his managing clashed with the author of this blog, then the author is actually a bad culture fit for Spotify.
This is exactly the sort of problem I can easily see brewing with remote-only development. Conflicts escalating in DMs, opinions stewing on both sides because if limited interaction, and no good way to get body language across that might help add understanding to the situation.
Telling your manager to go read a book on managing seems like a terrible idea. I don't know in what mindset this is acceptable. Using sarcasm and mocking someone remotely is also a terrible way to get your point across.
Then there's the Kanban board thing. It's great that you communicated the problems you've been having in the sprint system. It's great that you came up with a working solution. What's not great is implementing this behind the manager's back. You can't go "oh yeah we changed the way we do this" to your manager and get defensive even if the team agrees with you, you should've taken his opinion into consideration before you even came up with a solution.
Questions like "how long do you expect x to take" seem pretty normal to me. As a developer it's obvious that there's no real answer to this that will satisfy everyone, but companies need long term strategies and predictions to shift resources around. Dealing with this uncertainty is a manager's problem but asking for an estimate is hardly the unacceptable crime against dev teams that this blog makes it out to be.
Reading through the emotional descriptions of what happened, it seems to me like both parties were heavily affected by covid, lockdowns, and forced remote work, but neither side seemed to get much of an understanding from the other.
I think it's unfair to blame either party for this. I don't think there's anything wrong with publishing your experience per se, but come on, put it up on a blog somewhere, don't dedicate an entire website to the story of how you got fired. That just seems petty.
For the firing / termination of contract? Sure, everyone sucked.
For termination tagged with a reason that meant that the OP was blacklisted, and interfering with them being hired by another team? HR and the manager definitely are to blame, and should be called out for it.
If I sent you a reference to appropriate data structures for trees and graphs would you get mad?
Or would it be context dependent? One thing to smart off about it and another thing to suggest a source of information.
Peopleware is a fantastic resource for managing and most people probabably wouldnt take offense to a suggestion to check it out.
But if the author was rude about it or their relationship had already deteriorated to the point the manager was defensive about any feedback then it was a lost cause anyway.
But to think someone would / should be offended by the suggestion to review a valid source of good information... no that is not healthy.
But if you get angry and defensive every time people point out your shortcomings you will never improve.
Nothing is more irritating than having a direct report start bickering nonstop.
And by bickering I mean: Constantly turning every small discussion into an open ended micro argument.
This is not “push back,” or “feedback,” or “input.” This feels like they are deliberately creating friction on every single decision to prevent productivity. It is a sort of strategy to avoid being managed and avoid doing work.
It is also a nonstop questioning of your authority and it erodes your ability to manage them in a really sinister manner.
Reading this story, it felt like the engineer was doing that.
If you have never experienced it yourself, it is hard to stare just how irritating it is.
Example: “ok, can you fill in the spreadsheet. I have to show something on Monday.”
Them: “why are we using spreadsheets and not JIRA. Spreadsheets are not scalable.”
Repeat this process across every single decision and it becomes completely intolerable.
But I really get the author, some managers are just impossible to work with. And their strategy to protect themselves is to blame their employees. They have the ability to present the slightest mistakes as enormous problems to higher ups. They are just tricking and blinding their higher ups and stay in business for years. And everybody below them is just suffering.
I have never trusted HR, managers and alike.
I would have simply left, no worth it discussing with a manager that clearly was no fit for that role.
Also, the role of an engineering manager is simple: facilitate their reports work, support them, care for their career growth, clear any roadblock. The priority number one for them should be their team.
After reading this story, I am not sure I will ever consider working at Spotify.
But: this shit should stay offline, man... recalling an anecdote or two is one thing; buying a domain just to go on for several pages, with detailed descriptions of months of interaction with somebody who could be deanonymized fairly easily, is borderline libel. This won't get you back a job at Spotify, that ship has sailed. Put this effort into finding new clients - a task that won't be helped by having googleable proof that you can be "hard to work with", which is what this is.
This is absolutely the case.
That said, you're probably not going to get fired over your politics unless you're either (a) seen as a union supporter (or, worse, organizer), or (b) so far right you've already been cancelled and are now a PR liability. If you're in the middle, they usually don't really care who you vote for, at least not enough to punish you for it.
> Maybe the intern can learn the ropes
This is what I hate about work environments that pretend to be all caring and non-hierarchical. Like the author, I worked in Sweden and I've seen examples of it. They avoid specifying clear rules for where one's responsibilities end, and who gives orders to whom, because that would be oppressive — and oh, we're too nice for that and we don't want people to feel bad. But the hierarchies and oppression don't go away if you pretend they don't exist. They're still there, they just take a new, less explicit form and give freedom for abusers to play around the grey areas.
What I see the manager doing here is trying to push for some decisions without making it explicit and taking responsibility for it. I find it cowardly and harmful. People who are not interested or are unable to play with this niceness game are the ones who will lose in it.
In a healthy system, a manager could just say, “we use product X, that's my decision” or “no, I decided we're not spending money on that” — optionally, motivating the decision. And later be held accountable for it. In a system too focused on being nice and not making people feel bad, a manager does not want to look oppressive and will have to make it look like this was everyone's idea, or choose a phrasing that will not directly say what the quotes say, but kind of imply that (“What do you think? Should we use product X? It's team's decision”. “Maybe we can go without spending money on that”).
> it is also the Spotify convention of the right way to do things
Another thing people of this sort do is insisting on their opinion by saying things with a tone of a convincing argument but with words that don't really address the point (“Didn't we agree on this already?”). If the other side is less experienced in fiddling with politeness, they may feel like they are being too persistent and mean objecting for 5th time. Telling this sort of abusive manager they are talking nonsense would sound mean (sometimes this would be the right thing to say though), and playing on their level is doomed to lose.
Direct confrontation is normal, giving orders is normal, telling people they are/were wrong is normal. These should be acknowledged and regulated, not ignored.
Take some ownership of your life.
that part of the story was really a microcosm of the gap that exists between individual contributor vs manager; the former 'does the work' whilst the latter needs to report the progress of that work 'upstairs', an archaic yet persistent organisation of labour
Engineering team will always have items that are very hard to estimate without doing background work.
A good manager would have said "what do we need to do to figure out times?" and then "Can we timebox that research to a sprint / two sprints / etc?" are reported the horizon one timescale up.
"Tell me when it's needed to be done!"
Sometimes contracts don't work out, you fire them or they fire you, and you all move on. If this was authored by an employee then I'd get it and say maybe it sits somewhere around unfair dismissal, but as a contractor this is kind the gig - right? You work to keep a professional relationship where they pay you and you deliver the work and that's it. You get the benefits that come along with all the tax efficiencies and not having to participate in the corporate games as much, and they get a flexible worker who they can get rid of if things aren't working out.
I think my work-related superpower is that stupid things that happen in the work doesn't bother me at all. I would just give an estimate at the same conversation when the manager insisted. Sure, I would phrase it in a way to explain how weak was that estimate. Something like "It's new to me, I have yet to study the scope, it's subject to change in scope until then, and other tasks getting prioritized. That said, I would guess two months". And then I wouldn't think about that at all once the conversation was over.
If those "two months" is used against me later on, I would explain the reasons why the initial estimation was off again. If I am still blamed for a delay, I would probably start looking for another place to work.
Also, I would never try to "trap" my manager into a conversation with the Product Manager just to show them how right I was and how silly they were to ask a precise estimate.
EDIT: I wrote a long reply to someone who has now deleted their comment asking how one can learn to not care. I took some time thinking about it, so to not waste that time, I will add my reply to the deleted comment here.
Ha! There is a reason I framed it as "superpower". Seriously though, I had that conversation with my wife a few times. I just don't care about a lot of stuff, but she does. My advice to her "not care" is useless. Worse, harmful depending on the tone I use. But I do have some reasoning about how I developed that. No idea if it works as advice for other people though.
First, I am 42 years old. I always kind of didn't care for a lot of stuff, but getting older makes it even easier. I think this usually happens to everyone. This is what I would call "wisdow". Learn about what not to care (and what to care more about, like community, time with good friends and family).
Second point, check your ego. You feel offended if something hurts your ego. If you make knowledge about good software development practices a point of pride, your self-identity, your self-value, it will be hard to let it go if someone just don't get it. Or go actively against what you believe to be true. For example, I doubt that if the manager instead insisted in the author giving a precise number for tomorrow's temperature, that they would be that bothered. That it would have "ruined their weekend". They would just think that their manager is silly, that they don't understand how weather works, take look at weather.com and tell them whatever number showed up there. And that's it.
Third point, understand that people take time to learn new things. Don't fight with all your forces against someone's opinion at the moment you learn about them. Learn to accept that you can voice your disagreement, explain your reasons, and they will remain thinking exactly the same at that moment. But if you are really right, with time, they might see it. In this case, give the estimate they wanted. Then, make a note to, when you get to that task, you will be studying the scope better and update the manager about a new estimate. Then, while you are working on that, make a point to make it clear that some urgent tasks or a bug, delayed the work, and pass the new estimate. Hopefully, when the task is done, they will understand better how that initial estimate was imprecise. And proabably didn't help anyone at all by having being created. OR... be open to learn that the manager, for some reason you didn't understand at the time, actually needed a number.
I think that leads to my last point. Remember that you could always be wrong. Consider that there is a chance (even if you put that chance at 0.0001%) that the thing is not actually stupid. It just look stupid to you. It might be odd, or stupid but not that stupid, or stupid but for a reason, or not stupid at all and you were being stupid thinking it was stupid. If you always consider that there is a chance you are wrong, stupid things bother less.
Being able to separate work and personal life isn’t even a superpower. It’s table stakes for having a healthy personal life.
It’s natural to take pride in your work and to be upset when things don’t go your way, but we all need to be able to let it go and get on with our lives.
The author of this article has done the opposite: These events appear to have happened some time ago, but the author has become so obsessed with what happened that he’s reliving and re-narrating the battle long after his adversary (the manager he fought with) was later removed from the company.
If the manager was asking in good faith, he'd have explained why he was asking for the estimate and what decisions would be made based on it, and give the employee allowances to give timeframes that no one would he held to... but it doesn't seem like he was that kind of person.
If problems like this start to develop then it can be scary, and you may need to defend yourself. But as you say, the way to do that isn't by trapping people.
My advice for people who fear they are about to be embroiled in interpersonal work issues:
1. Keep a work diary. Keep a journal of what you've done, what the other person has done (try to keep this part matter of fact) and also how you perceive any issues and how they affect the team.
2. Raise concerns with your line manager. If they are the person you're having issues with, gently escalate to their line manager or someone else who has the authority to actually do something. Make sure you get agreement from someone that you are having issues and that those issues need resolving. If you can't get someone to agree that there is even an issue then that is a major red flag about the company culture more widely. (Or it's a major red flag that they think you are the sole problem, but if that is the case then stick even harder to matter of fact and prepare to leave.)
3. Try to document and predictions you have on the effects of decisions you don't agree with. You will either have good evidence that disagreements are causing issues or you may be surprised that decisions are less impactful than you think and can grow to learn to accept them.
4. Try to picture what an end goal / resolution looks like that isn't just "X is fired and replaced by a better co-worker".
Interpersonal conflict at work is scary, and bad relationships can doom projects or even make it untenable for both parties to continue working somewhere. Which is why it's important to iron out any issues before they get to that point.
It's very understandable that the manager wanted an estimate. And given that Z was probably neither developing nuclear fusion, nor some complex task involving dozens of teams and complex machinery with unpredictable lead times, a back of the envelope rough cut doesn't seem unreasonable. And if the manager didn't like the answer, you just repeat that it's your best estimate absent scoping the project out in more detail.
I've been there for probably more complex non-software projects. And also had my estimate cut (and had it come in pretty much just where I said it would be in the first place).
It's weird, but usually I get in response something, that make me really understand well what to reply to them.
Would that be OK to directly propose that? Something like, “I think you're wrong. Let's take this to our superiors or get a third opinion.”
Huge corps with a lot of middlemen tend to become authoritarian, competent people who kickstarted the whole affair are being replaced with yes men^Wpersons all the time because at larger company sizes loyalty is much more preferable than hard skills (I'm not implying that I was competent, that's for others to decide, but I wasn't only one who got the pointy end of the boot though).
I deeply sympathise with the guy, but there's time to enjoy and there's time to move on. Holding grudges against some kronenbergian bureaucratic machine ain't good for your mental health.
If you feel you're in a team managed inefficiently, raise the flag, talk to the manager (once), if that does not work, resign on your own and let the manager's manager know why you take that decision.
> “ Do you want to own product X?"
> "It is a low maintenance system so it takes very little of our time. It's not expensive to own it."
> The manager was displeased.
Of course the manager was. They asked a straightforward question and didn’t receive a straightforward response. Multiple times. Once again:
> Do you really think product X aligns with our team's mission?"
> "Historically I can see why we own it. It sounds to me that maybe you don't want us to own it?"
The response, again, does not answer what the manager asked.
Employee goes on to write parody tickets.
Employee goes on to grandstand in front of other manager, instead of taking it “offline”.
Employee goes on to demand witnesses to simple meeting.
Manager has had enough of employee’s nonsense, terminated.
I don’t see how anyone could say it so authoritatively that the manager was wrong and employee was right. Unless you are just trying to coddle them, which if so, carry on.
This case obviously wasn't one and I'm sad to hear it. However, as a young and aspiring start-up founder, these stories are a great help and inspiration on how to structure my own company to avoid, or rather, minimise such clashes. Thanks for sharing!
If you don't, it is likely that the temporary satisfaction of publicly shaming the company will be less than the nagging feeling of forever doubting if you didn't get a job because someone read your previous post and thought you'd be "difficult" to work with.
I've gotten fired, I've also gotten dumped. I can't hate on women for dumping me, they don't owe me anything, just accept the dump and move on. Sometimes it's better not to question it much, second-guessing the woman, it's over that's it, next. Well there's times not, like if the employer created the expectation of long-term employment, that's a debt. If he enters debt, that's a debt. If he cheats you of wages, that's a debt. Gotta collect. I have taken them to court, that's the whole point of a contract, enforcing contracts. Some people said that's violent but in fact it's the exact contrary, the only anti-violent resolution.
If he just says, hey this isn't working out, in good faith, like doesn't extend a contract, fine.
What needs to happen is it be more viable to do your own thing, be an entrepreneur. That was the case in the 19th century in America, after the Civil War, men just went and did their own shit. A farmer is an entrepreneur. Panning for gold is entrepreneurship (open even to slaves in the case of Brasil, you could earn your freedom in less time than the voyage). Bitcoin mining is entrepreneurship. And of course all the businesses in the Long Depression (which was not a modern-style depression like the current depression, but rather an industrialization process where everything kept getting cheaper, deflation through industry).
Working for a manager who has strong but opaque opinions/thought processes is the worst. It’s like they think they are a grand master of chess moving pieces around the board and don’t want any of the pawns to know the grand strategy.
I worked for a guy that insisted on having the hour++ long sprint retros every 2 weeks in which we’d get the same feedback from devs that he would argue against within the meeting. Sometimes he would complain its the same feedback, other times he would decide to have an argument over it. But always he would insist that the retro is super important to get devs feedback as part of the process so we need to keep having them. We would use physical post-it notes on a white board even though it was out in an open floor plan so other teams could watch/see, and we had 1-2 other offices dialed in via someones cell phone on speaker. It was insane. “Hey so we got some stickies that say x,y,z here.. what do you guys have??”
Some managers I have found are like someone who is incapable of being an author but are very good editors. Unfortunately some of these are also incapable of coaching their feedback in constructive ways to get you to the best edited version of you work. This inevitably turns into repetitive games of “guess the number in my head”.. to which the answer is.. blue!
Sometimes these situations are because your manager is at the end of their own rope politically and on their way out. Also could just be their first real manager gig. Other times its because they have something going in their personal life..
I think it would be good to reach some kind of consensus. Is it okay for the manager to be rude and not listening to needs of developer?
OP should have left the team at first opportunity.
If the customer doesn't care about it, you're not going to be able to make them.
If the customer cares more about some inanity (such as the processes they follow) than the problem you're there to solve, that's just how it is.
If you don't like it, then find another contract.
Looks like OP learned a lot from this, that's good to see. I had a similar snarky, snidely-playful, and unfiltered attitude and approach early in my career and it did me no favors. I made a lot of adversaries, had pay raises blocked, had promotions blocked, and had to bounce around a lot as a result. I landed under a few outstanding mentors that showed me that I didn't have to be that way, without sacrificing who I was, and mostly avoiding politics. That changed the trajectory of my career.
Only big point I want to make is that Spotify may have been a startup, but it's now corporate. Many startup signs may still be there, but when Agile is a religion, you've gone corporate. Corporate environments are always going to be about playing politics in addition to whatever your regular job is supposed to be.
You lost a job, just deal with it. Take whatever life lessons you can from it and move on.
Creating a custom domain and setting up a one-off, one-sided story doesn't serve them or anyone else.
Are you expecting this to somehow get you your job back? Or just to make yourself feel better by getting proverbial pats on the back?
What you're actually doing is shooting yourself in the foot for future potential jobs. If you ever want to mention in your CV that you created and maintained a chat integration app for them, then anyone who ever read this thing will immediately connect it with you.
You need to both take down your pity blog and delete this post on HN. Its not going to do you any good in the long run except to hurt your prospects.
In this case your ex-colleagues will leave sooner and later, and middle-management will notice when it's too late.
After the reading the article in its entirety it is clear the author acknowledges their own faults. In the “passive aggressive ticketing instance” the author clearly mentions that it’s a misstep on their end.
The author also concludes with a possible perspective from the manager’s side.
The article is not a rant. Its tone is balanced. It does not bash on Spotify. The author does not portray themselves as gloriously right. Of course it’s a biased article, but that’s to be expected. It reads like someone’s personal blog.
Calling out a manager for bad behaviour shouldn't be vilified like this, especially when they are doing the same up the ladder to you. I think HN is just soaked in "fellow kids" types who are trying to stay hip and trendy and get their startup seen.
This isn't a site for tech junkies, it's a site for managers and they hate hate hate that this describes many of them.
"bad culture fit" sounds like using how they use the "Do not fly list" against political dissidents. I'm really glad I am providing my services independently, free from control, and not have to deal with Corporate Culture. That culture is a poison to the human value of independent thinking.
If this website is for self-healing purposes, then that's fine, but should not and does not need to name the parties involved. (Do I see it clearly that the author even remains anonymous?)
Would love to see/read the story of the manager and the manager's manager who have also left Spotify provide their take. Clearly, with the person identified, the managers were painted in a negative light that similarly, this could be detrimental to their future aspirations.
Lots of Spotify folks here could also attest to the story and perhaps provide their own take. Would clear any doubts and set the record straight.
I think if devs were more desciplined we wouldn't need mediocre managers to tell us how to do our jobs.
I’m kind of aware I need someone to bring me back down to earth once in a while. It’s still annoying when it happens, but necessary. Fortunately right now I have a manager I’m actually quite happy with (like, I feel like we can have a dialogue).
It might be a cultural thing, but you're not part of any 'community' or 'family', it's just a job. And like any other employer they'll fuck you over just as soon as they can.
You are also at fault too.
Was he Indian? I can picture this now.
If you already have a long career with lots of different managers, and 100% of them suck, I'm afraid the problem probably lies with you.
However the country you work in and your industry means that the great:shit manager ratio can vary pretty wildly.
GDPR. You have a right to know all information they have about you on file. You have a right to get the information rectified. You have "the right to be forgotten".
1. Was at a startup in the 2k bubble. I was apparently unofficially made lead of a project. I was in way over my head. The company was about 50 people, most from other countries like Russia and Romania. I didn't even know what my role really meant and I struggled to learn C++ and now I was supposed to code on my own. The CTO wanted a flowchart, which I created together with the project manager, some older but nice guy from Iran. The CTO said it was ok but too detailed. There was a female intern doing flash. Well being an intern she couldn't pull that intro movie off and asked me for help. I had never done anything with flash and had no clue. I suggested she experimented and asked around on forums dedicated to flash movies. One of the Russian developers was a cocky bastard. He was experienced and had created a prototype in like 2 weeks. I felt useless, because that's what I was. Why was I made lead for this project? Because I said that we'd get it done, despite other devs, country native, said it was hard. But I thought being optimistic was good, you can't start something and believing it won't ever get done. Well I had an issue with my title and the Russian guy delivering and snoozing with the project manager. I felt left out, the Russian didn't respect my position and I started yelling at the morning and noon breaks. I got mental and called in sick. A few weeks later I got fired. It was my 1st job in the IT industry, early 2000 bubble. The company was a disaster. Open bureau with 4 people sitting on round tables 4 PCs. Wifi, computer electrosmog, no privacy, some young guy listening to loud music irritating everyone. The "ship" had three upper etage, owner, the middle, crew, and the underground, admin hell.
All admins ever did was say no to requests for hardware and play games and chat all day. It was funded by a prominent TV moderator's brother. In the end they spent too much on booking Reamon so they couldn't pay the bills anymore. Funny thing when it all went downhill the "sail" outside went loose and the rats (employees like me) were leaving the sinking ship. The investors got the hardware, the boss and his wife fled to a nearby country and sold the product to a prominent telco cashing in big time. We sued because we didn't get our pay. We got nothing and were forced to drop the charges or else pay a big sum for the justice system. Anyhow I was really mad at that cocky Russian guy, so that was my "manager" part in this story.
The other story is I was a contractor fixing some database import script in PHP. In PHP warnings aren't errors. I fixed the script but when ran it returned a warning, however doing its job. I sent in the script and got yelled at by some guy 10 years younger than me. WTF! Ok I did a file pointer check and did add a @ to suppress the warning. Sent in the script and never worked for this house again. I don't need to take abuse and that's where I draw the line. Sure he was right to criticize the warning but he stepped over the line by yelling and being rude. I didn't respond in the same way he did, but I was close to, because I don't take shit from anyone however I'm professional enough to remain civil.
The way I read this case is you both did wrong but you're a contractor and it's the way it is, you have "no rights", even if you do. You get paid way more than the employees and you're free to go if you don't like it. You're not part of the family, you're an external asset. It's not your job to fight or change structure. Yes, you're the Russian from my story, more talented. But just do your job and if you can't, quit or talk to the manager you have a problem with. If that leads to no result go higher but do your job. You got cocky while being in a weaker position. And you paid the price.
The truth of the corporate world (we say "corporate America" in the US, but we've exported this disease all over the world) is that, as a subordinate, you exist for one reason: support your manager's career and reputation. Do that, and you can be sub-mediocre and you'll still get promoted. Miss that objective, and it doesn't matter what good you do for the company--you'll only piss people off more if they figure out what you're capable of. Bosses fire first the people who make them look bad and second the people they perceive as costing them time; competence is only a third- or fourth-order tie-breaker.
The story starts off as a typical tale of a shitty manager who knows he can't motivate shit to stink and uses abusive practices ("end of the day" requests for things that aren't actually urgent, insistence on hard estimates that will turn into deadlines) because he thinks it's the only way to get work done. Where it gets disgusting (although, sadly, not surprising) and reaches the point where, in a better world, people would be held physically accountable, is where the disagreement with one manager leads to him being blacklisted within the entire organization. It shouldn't be this way, but unfortunately it is.
I don't see a fix for this problem. A union could guarantee your job, but it'd probably be no more than a severance period insofar as the incentives on other hiring managers to circle the wagons (that is, ghost you upon realizing some other manager had a problem with you) are strong. The union would make it harder to fire you, but you'd never be seen as anything more than a problem by management. I know someone who was able to prove his boss was playing favorites--he got his performance review fixed, and his boss fired--and he still wasn't able to last longer than six months, because of his internal reputation as a "boss killer".
The thing to understand is that corporations would rather be wrong and consistent than risk inconsistency, and they would rather put up a unified front of wrongness than allow anyone at the bottom to divide people higher-up against each other. Managers protect their own, always, even the ones they know are shitty--this is the same problem that exists, in the US, on police forces--and those who aren't willing protect the class get thrown aside. The OP had to be blacklisted in service to corporate consistency; to do otherwise would embarrass his manager and, ultimately, the company decided (as it always will, since to render any decision contrary to preexisting rank would be inconsistent by definition) the manager was more important than he was.
Though my plan was to fire her like this.
On call? Bill. Useless meetings? Bill. Travel time? Bill. Overtime? Bill. Waiting for the IT department to get something done? Bill. Don't have enough work but you booked for a 40 hour week? Bill and work on another clients stuff. Clients infrastructure is a mess and they refuse to take advise? Some combination of bill for the time, fire the client, or suggest additional time to focus on their issues. Don't feel like working today? Don't bill, go walk the dog.
I'm able to estimate my value on the market in near real-time, get cash instead of theoretical optional value, select clients on any metric I choose, and being able to live (virtually) anywhere I want in the world while maintaining a client base wherever I want - it's a pretty awesome gig. If I want to take a summer off? I just offboard clients and turn off inbounds until I'm ready to take on more.
Why do you still FTE? Surely you should be able to fill a book of clients at this point :)
That makes it an easy equation to solve.
Seriously though, Spotify can jump in a lake. Maybe they started out with some sort of "musicians should get paid more" thing (how's that working out for you on Spotify, musicians?), but more recently their model is "we should take a cut of every podcast subscription". I have never installed that app, and never will. I'll listen to Rogan again when they fire him and his RSS feed comes back to life.