Ask HN: How do you say no to your employer
It's 10 past midnight on a Sunday night and I'm trying to meet a Monday deadline.
This project is under resourced, had zero planning and delivery dates were promised without consulting the devs.
Tempted just leave it where it lies and go to bed. Tempted not to go in on Monday either.
36 comments
[ 4.0 ms ] story [ 98.6 ms ] threadI'm internal the contractors were meant to complete this and I was just going to handle deployment. Changes kept coming and the contractors had other commitments.
Remember not to complain about your current employer ( or girlfriend ) while in the proces. Good luck.
Also, longer hours do not improve productivity for work requiring deep focus.
In a case like this it is fair to reduce the scope of the project and deliver limited functionality if there is business value in delivering the reduced scope project.
I worked on one project that was technically brilliant but had been going in circles for two years before I arrived. There was a meeting that top management was in about the state of the project. I discovered that we'd deliver a huge amount of value if we gave up on adding desired features and shipped what we had.
So we did. One of the best possible customers called us up on the first day it went live to buy it.
My (direct) boss never forgave me for this and it was the beginning of the end. Six months later I shipped the rest of the functionality.
Then I quit.
They called me six months later and said they still hadn't found my replacement. I told them that they'd have to fire my boss if they wanted to retain anyone. I checked his LinkedIn profile the next week and he was out.
I suffered a lot from that job (I started taking antidepressants BEFORE the crisis hit) but I avoided "moral injury" because I did the right thing. Finding the next job was quite an adventure though...
Ultimately, you want to ensure to always have a BATNA - an alternative to what you are doing now that will make it easier for you to walk away any time (https://www.pon.harvard.edu/daily/batna/translate-your-batna...).
It sounds like you're not particularly happy at work. The right and ideal thing to do would be to talk to you manager and utter your dissatisfaction; demand that the org does better than this, and make it clear that you will walk away if the situation persists. Think of it as a reverse PIP.
Of course, that only works if you have a decent BATNA.
The trick is never to commit to any kind of work like that in the first place. Communicate early, in writing, to the stakeholders, that the project will fail in the current setup, and then don't work on the weekends to accomplish it. Demand that either the scope is reduced, or deadline is extended.
Once that's done, find some blockers/people challenges on the list. Put the managers name on them. Let them know that the delay is because of them. When they ask you on Monday, ask them why the blockers are not resolved yet and let them know that the release will be delayed until they fix their end.
Share it with skip and other team members.
Fight sociopathy with their own tools.
On Monday, before you serve yourself up as toast, have a triple shot latte and take a long look at the hollow-eyed face in the mirror. Why is this person about to be spanked? Probably because this is a situation you have landed him/her in.
When someone (most times a moron in at least one respect) asks/tells you to do something, the proper response is not 'Yessir, I will do this or die trying because I am the best of the best of the best, sir!'
No, it is 'Why?! What EXACTLY is required? No, I mean EXACTLY!!! When do you want it? You know that I have this to do? And I have not taken leave for two years? Who is supporting me on this? You do know that it could need double that number of people?' Etc. And report every day about how crap your life is and that you are overworked and underpaid and saddled with unrealistic expectations.
Weirdly, this type of response a) builds respect from your seniors (particularly if you flag up all the failings in their thought processes); b) is ultimately more likely to get you promoted; c) means you will not get kicked like a beachball inch by inch to an early grave of overwork and slave labour.
Not everyone you will work with is a complete idiot, a narcissistic egomaniac or a psychopath, but until they have proven themselves to be otherwise it may be safest to assume that they are.
You're supposed to work with them to balance the needs and set the expectations on both sides. Management is probably so used to this exchange that it may never occur to them to actually inform you that you're expected to push back if needed. They think that when you acquiesce to the request, it means you actually think that it works just fine, not that you think it's not worth arguing or don't know how to. And techies IME, especially younger/less experienced ones, tend toward the dangerous assumption that their managers know how to do their subordinates' jobs[1] and that their dictates are sound. Of course, it doesn't need to be an argument, as such -- as with many things the attitude should be not "my needs versus your demands" but "us together versus the problem of sizing resources for this project". I think it's generally not necessary to get terribly aggro about it, but approaching it as a sort of consultation helps a lot.
(1) They hired you to do your job and your manager is being paid to do a different job, right? And your manager's job description is not "be better than you at your job and also do some paperwork and performance evaluations". Best case scenario, your manager used to do your job but it's been a while. Quite possibly they have never done your job at all. Your manager's job is not a superset of your job, and you know things they don't about your job. This may sound exceedingly obvious but it took me quite a while to fully integrate this concept.
But if you aren't ready to walk away or be fired, you are never going to be able to justify and positions besides just saying yes.
As for your proximate question, I'd go in on Monday and explain why you didn't meet the deadline. Sibling comments mention building out a plan to deliver the functionality. If that is part of your job desc, I'd work on that too.
You also want to think about if this is a one off (possibly driven by a client) or a regular occurrence. If the latter, I'd polish your resume and start looking around, as it's really hard to change that kind of culture at a company unless you are in the leadership team (and difficult even then).
If I get a new product manager, for the first few sprints they join I make sure to stop work at 5PM, and not do any work on weekends. This sets the pace at which I will be doing work.
I probably should do more in pushing back in too much assignment at the beginning of a sprint with new PMs.
As I get to no them more, I might work more hours if needed, but it is hard to get back to the idea of working five eight hour days with no more points than can be covered in that time if it is not set up front.
> save money and set yourself up for financial security so that if this does happen, you can leave
yes
> keep in touch with the dev community and your past co-workers so that you can [more] easily transition to another job.
yes
Last year I worked on a project and because of my mistakes it looked like we weren't going to hit our deadlines. I did not want others to have to suffer because of my mistakes so I made sure to work late (some days as late as 1AM) to make sure that our deadline was hit. Nobody asked me to do that but I didn't want others to suffer. We didn't hit our deadline but weren't too far off and people were overall ok with the situation as we were just headed into beta for the internal users. I'm pulled off that project and put on a new project, which is to work on something that literally made my previous months of effort obsolete. It was the project to completely replace the application that I worked extra on. Fast forward a few months and I am given a project that had a super aggressive timeline, which I didn't think could happen and I was told my estimate wouldn't be communicated out and I worded my estimate poorly thinking I covered my ass when I didn't and my estimate was communicated out. I was pressured hard to work nights but I pushed back and then I got to a point where I relied on another team and I couldn't get any further without them. It turns out nobody had actually verified that the other team had the functionality we needed (it was critical to what I was working on) and the other team hadn't even started working on the functionality that we needed. That was the straw that broke the camel's back, especially since they were wanting me to work the weekend before I brought up the fact that we don't have the pre-reqs even done and nobody from management actually verified we were ready to start. Since then I have pushed back on all attempts to get me to work late hours. I have seen mismanagement from terrible timelines to straight out lying to business people about things that are done when the work hasn't even started. Nothing changes if everybody keeps working late to hit crazy deadlines and management isn't affected at all if we do hit the deadlines as they aren't the ones taking time away from their personal life.
I have worked late a few times since that incident but it was because I lost track of time working because I was just so focused or because the delay was completely on me and I wanted to fix it so others downstream weren't affected
The thing is, those mistakes should be baked in to your 40 hour work week. They are for other professions. Lawyers don’t give free billable hours when a task takes more time than expected. Find a company and management that treats you like a human, and don’t give away free engineering hours.
If engineers don't have representation at the design/product meetings to voice these concerns/costs, that is creating a structural problem that will continually compound/ratchet up the cost of future development as tech debt increases.
I don't join a company unless they clearly understand both of these things.
If attribution goes to bad management, and decisions are made to make the situation better, then you can give them a chance.
If the developer is to blame and seriously it was such a simple project why could you not deliver it faster, then you know you need to go.
B) The other red-flag is in the "under resourced" - if no resources are put on the table, then it certainly is not a big deal if you're late. It's very scary to be late, but what's the actual problem if you are? Will you get fired? Will the company lose M$? Or is it just a product/project manager putting too much pressure on you, and making you do things they should not?
"Hi Boss, sorry but I have some commitments and I can't spend additional time on this project. Thanks."
Also it is not easy to say no especially to a person who pays you. Over years, I learned that nothing happens to developers for missing deadlines. First, we are in such a high demand, we can easily set our terms. But secondly, it is PM or manager's responsibility to make sure they have enough resources to meet deadline. If they didn't do their job, then it is on them. DO NOT TAKE A FALL FOR THEM. I see many junior devs doing that.
And finally, never ever work more than what they are paying you for. If you don't value your time, no one else will.