Ask HN: In a difficult situation at work. Need advice

56 points by helplessdev ↗ HN
Exceeded text limit, posted on Pastebin here: http://pastebin.com/raw/g0kQfuYW

I'll include the TL;DR here:

TL;DR: Project in a very messy situation, I'm under tremendous pressure to deliver while all responsible parties are on vacation, my performance rating from 2.5 months ago was lowered after the fact, and a promotion I was told to be given was withdrawn. Advice? And are they even allowed to do that?

71 comments

[ 1.8 ms ] story [ 176 ms ] thread
You seem quite young. Did you email your AWS IAM contact and ask if that job offer is still on the table?
+1 on this. If AWS wanted to hire you then, likely as not they probably want to hire you just as much now.
Personally I wouldn't want to work for an employer who'd retroactively change my performance reviews.

On the other hand, working for AWS is hardly any sort of panacea. Initially it'll feel good to be out of your current situation, but there's a reason why Amazon burns through so many people - and as a Seattleite, I've heard lots of bad stories. I suggest you consider other options assuming you can hold things together until hiring starts again Jan/Feb.

(comment deleted)
It's confusingly worded, but the OP turned down an AWS offer; they don't work at Amazon.
Just get the fuck out of there--the company has shown it'll lie about your performance, that it doesn't know what the hell it is doing to develop software, and that it'll allow malicious and incompetent people free reign.

When, not if, that project craters, K will probably throw your ass under the bus. Get out.

> When, not if, that project craters, K will probably throw your ass under the bus.

Looks like that's already happened.

(comment deleted)
Do your best at the job you have, and start looking for new jobs. Sounds like the current place is a mess, and there's nothing you can do to fix it; you've raised your concerns, and that's all you can do. You can re-iterate that professionally in your exit interview.
Out of curiosity, when you say "do your best" do you mean go all the way and pull all nighters and weekends or does it mean do your best within the work hour ranges?
By 'do your best' I mean to work professionally, which doesn't entail all-nighters or weekends except in exceptional cases.

Show up at 8, have a nice lunch, leave at 5 and work like a professional during that time.

Highly recommend getting out of there and looking for a new job. Depending on your financial situation I'd either get out this very moment or try to hold on another paycheck or two while sending out resumes and taking phone screens. Judging based on your pastebin I'd say that K is incompetent both on a technical (busy work and response times of backend calls) and on a people level (highly political, doesn't bother with proper requirements/communications). You can't change K and it might be a long time before she will get herself in trouble and eventually fired. So, waiting this one out is not an option, good luck finding something new, ping me if you need some leads.
I definitely do need some leads. The situation is getting increasingly taxing on me both mentally and technically despite my attempts to keep calm. How do I reach out to you?
follow me on twitter @zinssmeister and send me a DM
My 2 cents: Get an offer elsewhere and give your notice. Don't bring this up to you future employer and find a generic excuse for leaving.
From what I've read, I'd say that you seem a bit too soft for a team lead. That's something you can improve though, but it looks like it's a bit late for this project.

A team lead's role's spread across several areas: ensuring the project is set up in a healthy way to optimize quality/speed ratio, mentoring team members, and working with product managers (if applicable) to solve problems/remove obstacles which can harm the project.

From your narrative, you seem to cover first and maybe second point, but be completely off the loop on the third one. When faced with a defective team member as K seems to be in your story, you have to solve the issue. Start with talking one-to-one with the problematic element to see if things can be settled, and if not, go up the management chain without hesitation, explaining clearly why K's behavior is harmful and proposing some actions.

You say that you're 'not invited' to their meetings, and that's an issue because you mustn't rely on 'being invited', you should be the one who drives the thing and invite the others. If you don't rise up and speak for yourself, nobody will, and the blame will fall on you. A lead is not passive.

One important thing is putting each of your action in the perspective of the project. You're not 'pointing finger' at a coworker, you're stating that the project can't move on and is at great risk because of some missing parts, and you're willing to work with the responsible of those parts to have them done.

Same thing for your reviews, you're a lead, you shouldn't be given a paper to sign and vague excuses. Firmly request detailed explanations, and if not provided refuse to sign anything.

If after taking enough actions, things don't resolve as they should, start looking elsewhere for work. A company which fails to take the good advice doesn't deserve talented devs, and there is more opportunities for talented devs than talented devs to fill them up.

But on your end, don't accept tasks as lead if you're not prepared to assume the 'lead' part of them.

[edit: formatting]

There may be some truth in this, but I think it's overstated. The OP did speak up about major issues with the project, even suggesting moving people from the front end team to the back end team, which was done.

I don't think there's much one can do about an co-worker at one's own level, who is successfully blaming everyone else for the project's problems, accumulating influence, and driving away competent subordinates. You just have to get out. Eventually management may figure out the real problem, but if they don't get it yet, you can't wait around for them to get a clue.

From what I read, OP did speak up at the beginning to say that backend was late, but never directly put K's methods as the center issue, to avoid 'pointing fingers'.

Even when transferred team members complained, before leaving, OP didn't state in the text that anything was brought up to management.

There are orgs where managers 'above' the team lead level are completely clueless about the technical side, and OP's company seems to be of this type if K's getting away with her behavior, meaning that she can bullshit her way through this if nobody on the same level rises the issue.

Still, I'd agree with getting out of this type of org anyway, but upon reading I just feel like OP didn't 'fight' properly. There are several levels of action that one can take in this situation: trying to influence the coworker's behavior, face to face discussion, documented report of what's wrong to management, asking for an assessment of project state by another experimented tech lead... And these actions have to be taken early on, quitting being the last resort.

Note that I'm bringing this up because I haven't seen these mentioned explicitly in OP's writeup, so I assume that none of these strategies have been tried, but I may be wrong.

1. Yes, they are allowed to do that, assuming you're an at will employee with no contract that specifies otherwise.

2. I'd give notice, citing the change in performance review and withdrawal of the promotion/raise as the cause. It's one thing to work in what appear to be horrific conditions, it's another to then be retroactively denied compensation.

The main X factor is when you give notice, and that's up to you: personally, I'd probably give notice immediately and see if the company counters with an offer to reinstate what you were promised. Otherwise, start looking for another job and give notice as soon as you get an offer.

This will certainly come up during your next job interview, so you don't want to burn any bridges or get too emotional about this (even though you have the right to, for sure):

- Be calm and factual when explaining why you're giving notice, to prevent poisoning the reference: your performance review was changed after the fact, and you were denied compensation and an advancement opportunity you were previously promised. In any situation, this is a reasonable and justified reason to leave a job.

- Do not give K as your reference. Give one of your other superiors.

- When explaining why you left your previous company during interviews, you don't want to throw them under the bus. Explain that you were looking to advance and grow as a developer, but those opportunities were not available at the previous company.

This. Quitting is the right option. Very easy to explain to future employers too (you've only been there a few months, mistakes happen).

What you're experiencing is a great learning experience. Reflect on it and you'll come out stronger.

For future: when you're a lead you should be focus on setting boundaries, expectations, systems, plannings etc. You'll probably only code for 1/3rd of your time, if you're lucky.

Don't feel comfortable with that? Then don't apply for those positions :)

I don't agree with giving notice without giving K's boss a chance to prove they can right this thing, and that can be done at no cost to the OP and potentially has a huge upside.
The cost to OP is all the opportunities they don't take in the mean time and whatever mental cost they're paying by persisting in a horrible environment.

It might be worth it if they had an awesome relationship with their boss, a lot of trust built up, but it doesn't sound like that's the case. If they'd a decent relationship, and decent managers, the situation would never have reached this point in the first place. Add to that the fact that the company went back on their word...

They're either liars or stunningly incompetent. Neither's worth counting with.

Sounds like you have a choice — you can run from the political shitstorm that is around the corner (look for another job), engage with K and HR and her manager frankly and honestly (not easy), or just keep your head low and wait for everything to blow over. The choice is definitely up to you. You seem like a good communicator. Perhaps try succinctly voicing your concerns to someone else who can help advise or assist within the organization?

You could also start more carefully by asking direct questions about whose mistake it was to tell you about promotions and bonuses before the decisions were completely finalized, and what specifically the mistake in your performance evaluation was. When in doubt, always get more information first.

Any action that involves engaging with HR is a mistake, pure and simple. They're there to protect the company even when it's acting through managerial malfeasance.
HR is not there for you. HR is there for the company.

I've made the mistake of thinking that HR would solve malfeasance and Bad Political Shit done to me by managers. Won't make that mistake again.

I don't completely agree and have experienced otherwise, but it also depends on whether the manager is going against company culture and policy.
Let's just say that making a manager's girlfriend mad at me (she was a cow-orker of mine, he was a manager in the same group) and thinking that HR would fix anything forced me into one of the best career choices I ever made (srlsly!)
Any company which is OK with manager-subordinate romance is not worth working for, IMO.
Company was okay. That group, not so much . . .
Fair enough, although this seems like something which is ideally a company-wide policy from very early on. FWIW, I regretted typing that after re-reading it later. There are most certainly exceptions.
Of course HR is the company rep, and sometimes one who is happy to forget things which aren't in writing. If you want someone advising your interests, pay a lawyer.

Engaging with HR is still a good idea. Ensuring a fair and reasonable process for evaluations and promotions and bonuses is very much in HR's domain. When there are problems of the sort OP talks about, HR should at least be aware of it.

Put in notice, your life will be so much better.
Other posters are giving good advice. I agree with finding a better place to work. However, reading between the lines, I have some more general advice which you can follow or not, as you see fit.

As one of the other posters mentioned, you seem to be young. I say that not because you say anything in particular that gives it away, but that most of us old guys have gone through what you're going through many times before. Team lead is usually as much a political position as it is a technical position. Knowing how to deal with these issues and how to surf the chaos that can happen at the programmer/manager interface is a big part of the job.

I don't want to kick you while you're down, but it's important to realize that you have not succeeded in the political side of your job. It may very well be the case that you could not succeed, no matter what you did. That happens. However, you need to be quicker on the draw to either solve the problem or get out. It's way too late now (which is why the advice here is uniformly telling you to get out). In fact, understanding when not to take a team lead position is very important for your career.

When you have a failed project like this (and from your description, you can feel free to mentally label this project with a big red "failed" stamp), it is quite important to reflect upon what you could have done to save it. It's easy to say, "It was K's fault" or "Nobody listened to me", but if you were to save the project, it is entirely possible that it will require you to influence K in a certain way. Or perhaps you need to get more influence with people higher up in the project. The fact that your performance report was downgraded indicates a certain souring of the relationship with those above you. Rather than worrying about whether they can do this, you should be wondering, "Where did I screw up that relationship?"

My advice to you is to find a position with a very strong lead developer. When interviewing for a new position, make sure to seek out the lead you will be working for and choose a group where you will learn the skills that will enable you to be successful the next time you are in that role. I would advise you to avoid another lead position until you find that strong mentor (unless you are hard headed and don't mind the trial and error approach -- which is fine, but a bit taxing stress-wise ;-) ).

Good luck!

> Rather than worrying about whether they can do this, you should be wondering, "Where did I screw up that relationship?"

Yeah, well, the OP might have screwed it up, or K might have successfully backstabbed the OP.

Offering the back end team one's own team members is a selfless act. I'll wager it's not the only way that the OP has demonstrated a commitment to the success of the project. A healthy organization recognizes such a commitment and rewards it with increased influence at the very least (ideally, with increased compensation as well).

This is not a healthy organization, and the OP can't fix it. It's time to leave.

That may be true, but self-reflection is a win/win scenario. You can always make a situation better, even if you can't fix it. OP should definitely leave the job, but the GP is correct in that he shouldn't just say "It's K's fault" and leave it at that. The question to ask yourself is: if I ever get into this situation again, what will I do differently to effect a different outcome?
So true. I find this to be the case with all bad experiences in life, not just professional ones. It's easy to place blame and rationalize how it's not your fault. Playing through scenarios of how you could have single handedly altered the course is a great learning exercise. It's too late for this project and it is time to set it down as gracefully as possible and walk away, but it's never to late to learn how to do better in the future.
Thank you. I agree. There is not a doubt in my mind that I could have done certain things better, and I certainly do not deny that. I still have a lot to learn.
Playing the devil's advocate a bit and getting into K's shoes, I could argue that:

"those front-end devs that were 'forcefully' assigned to me didn't climb the learning curve fast enough and have wasted a lot of time getting up to speed on the backend technology, while pushing bad commits that initial backend team had to fix. You know, as I already stated and as I know from experience, and you should have listened to me, throwing more people in on a late software project only adds delay.

So, in fact, it wasn't a selfless act, front-end lacked work to do and just pushed their devs onto us to swallow our billable hours without touching theirs, that was sabotage, if not just incompetence." etc.

Note, that's not at all what I think, but if I was playing a politics game, and if I was a malicious recognized team lead with several successes in my track record, that's what (or some variation) I could tell management to get out and put the blame on OP, the young team lead which has everything to prove.

Sure, an org with clueless management unable to assess the situation may not be worth staying in, but things must be kept in perspective, and here we have only one narrative to get an idea of what really happened.

That's an excellent analysis of what happened.

> you have not succeeded

He failed [at political part of his job]. Why soften the blow?

> Where did I screw up that relationship?

Exactly - that should be the focus.

Change what you can change and do not focus to much on things that you can not change.

> find a position with a very strong lead developer

It's good to have a strong leader, but:

1) How do you recognize a strong leader?

2) In order to become a good leader yourself you still need practicing it. Just observing leadership in action is not enough.

I do not see this as you kicking me while I'm down. I appreciate all of the advice in this thread. I've figured I need to leave (bit hard now that's it the holiday season though), but the HN community has always been tremendously insightful and supportive throughout my years here.

I'm certain there are many things I could have done differently for a better outcome, and I may not be able to identify all of them, but even taking to heart a couple of these will help a lot.

Thanks again!

Call in sick to decide and to spam your resume. Once u have interviews lined up give notice.
Sometimes it takes a time to recognize failed middle-management (people can get over-promoted and/or change colours) -- a frank chat with senior management might be mutually beneficial. If you're inclined to try and rescue this, then consider going up two more levels, asking for a lunch to speak with a business owner about the project. Be calm and respectful, emphasizing your mutual interest in a successful project.
I would try to focus on improving the communication and collaboration between the two teams.

I'm on the backend team with only two of us. I'm the sole REST developer. The UI team has three people. I sit with one UI developer to my right, one right behind me, and the UX designer kiddy-corner.

When features come up, ask five us talk about the requirements. The UI guys provide input on how they'd like the API to work. As we build, I ask them questions, they ask me questions. When I think I'm done, I push to a test server where they can hit on it. Sometimes they find I missed something or ask if I can add something.

In short, were referred to in the company as the "app team". UI + API is really one team with the same goal.

I would recommend coming up with ideas that you think would help move the project forward and present those to the management two levels up and try to get buy in from them. You might find yourself in an even better position if you can actually salvage the project rather than just leaving it.

Why haven't you quit yet?

I don't mean the question harshly or sarcastically. I'm suggesting you take a hard look at your motivations for staying even this long. I'm sure some of them are positive: you say the project interests you technically; maybe you have at least one or two co-workers you enjoy working with. But are there any negative motivations? Those could include martyrhood: a feeling that you somehow have to save this project, even though you almost certainly can't. Or, maybe you have some fear around interviewing, or are unsure you can find anything better. Or maybe just plain inertia.

If you thought that the project might somehow succeed and that you would ultimately get credit for that, that would be one thing. But in the extremely unlikely event that it does succeed, it's clear that K will get the credit; she's already moved to sideline you.

There's nothing here for you. Really. Find another job now.

Honestly it matters very little to me who gets credit, and I definitely do have people that I enjoy working with.

Sadly with the direction this project is heading, with K's role in this project, and with the lack of positive change from upper management after so feedback from many parties has really taken its toll/disheartened me. I do agree I need to find another job, it's just a bit hard now during holiday seasons and where I'm located.

Definitely working on it though, thank you.

Sorry to hear about the project heading in the wrong direction beside your attempts. As many suggested sooner or later things are going to blow up and you need to either be prepared to face the storm since you are acting as a team lead, or simply either move to another group in the company or find a new place by sending your resume around. When it is going to blow up, and if you are still there I will advise you to keep track of any emails that you may have sent and shared in larger group with your concerns. Being able to show some accounting of what happened may help you overall.

Personally I will get the hell out of there: it is not worst wasting your time, energy and stress level especially considering what they are doing to your review. Working in a toxic environment is not good in the long term.

Whoever promised an early Jan delivery date for a $700M project is insane.
I searched this page for the string "lawyer" and didn't find it yet. I hope you can see why. I would ask your lawyer about the laws about constructive dismissal in your jurisdiction, and generally what your rights are.

Ideally, you would be able to find a new workplace before suing their asses, and you would get some sort of settlement. Of course it's not a risk everyone would take, have a think about the situation. Perhaps the AWS job is still open?

I would definitely leave though. Having a person who can't code in charge of coding is a bad idea, and it can only get worse with the deadline looming. Coding is not like doing a bunch of slides, where you can suddenly cut the scope and still have something that works. (Why did I bring that up? Because if you're doing a non-coding project, you can often just chop the scope and still have something.) They've broken Brook's Law by adding people near the deadline AND they then lost those people, deservedly.

You're also being positioned for the blame, showing they simply don't know what they're doing. How are they going to deliver anything with you and an intern? The least fair thing that can happen is you and the intern produce a sub-par product, and you then get the blame. Your company loses the contract, or the bosses find some other people to do the work under a different name, and you get the boot. Sorry if I sound cynical, I just don't want you to suffer.

(comment deleted)
Mail the pastebin.com text to the boss of K, and if the result of that is not to your liking hand in your notice. Make it clear that you unconditionally request her removal or you will walk. This likely will result in you leaving the company but give her boss a chance to right the ship. If they don't then the situation is beyond your ability to influence.

If I were K's boss and unaware that this was happening (which I would consider my own failure) I would very much appreciate a heads up and I would make very sure that I'd do what is best for the company. Assuming you are telling the truth there are more than enough hand-holds in your email to verify this. Specifically the time-log and a bunch of other evidence. If your story tallies and hers does not the decision is clear. If it is a toss up you will have to leave, if hers is the one that I find more credible then you'll have to leave too.

Either way, I'd appreciate the notice and I would definitely take it serious, the project is large enough to be taken that serious.

best of luck.

(comment deleted)
Only do this, if you still care about the job and keeping it.

If you don't, do this at the exit interview.