I’ve worked at Amazon. I made it a few years, but was almost pipped in the first few months. Management dropped a huge project on me, a brand new tier 1 service, with full dns resolution, api, database, distributed system, along with micro services. The deadline was three months. Brand new tech stack. When I was struggling to meet the deadline, we started having “performance conversations”.
I ended up switching teams and had a decent time at the company, but the nightmare situations are very real. You are replaceable and there’s no mercy
A side effect of working for asshole companies like that for years is I’ve slowly developed a zero fucks attitude and an immunity to threats and carrots dangled in front of me.
I can sit there as a project is falling over the edge of a cliff with total inner peace.
My interest stops at the pay cheque and by the clock.
I was lucky enough to experience a 2 year long project in which everything that went wrong was blamed on the developers. Project managers breathing down your neck, feeling so pressured you barely dare take a bathroom break, the whole shebang.
Quit working for them and now I'm a freelance dev.
They asked me to get back on the project and I said fine, that'll be €700/day. After some grumbling they realized they had no other option so they agreed.
The project is still failing due to bad management but I no longer care. I believe to now feel the same sense of calm around chaos and failure like you do.
A lot of developers have real mental scars from bad projects like this, because they get duped into thinking it's a matter of personal pride to see it trough.
It's not. Your primary concern should always be personal health.
Well, cobol is special of course. The more specialized you are... But for a generic c++, java or c# or web dev I would say you can't charge specialist money at all in the EU.
Well it's a negotiation. Those guys succeeded at asking for 2500, but you would start at a number they are guaranteed to say no to, and work your way down.
Like the going rate for a senior here is 900, and a good senior is 1200+. So your starting offer would be at least 1800, probably 2000s to round it up.
Which is the high end of your zone of possible agreement (900-1200) plus 50% for danger money, plus a few hundred to round it up to 2k.
Then you see what happens when you throw out the big number.
It would be the top range (if at all possible) for a developer working as a permanent employee. Usually the only way to make this kind of money is to go self-employed
Heh, as a salaried dev who gets 1700 - 1800 Euros per month (so around 90 Euros per day) after taxes in Latvia, some of the numbers in this thread are pretty sobering, even if you take the costs of being self employed or taxes into account.
If you take the run of the mill Java dev salary here, the net value is somewhere between 900 - 3000 Euros or so, across all levels of seniority [1]. Really makes one consider the benefits of working for companies in other countries, assuming that there are no cultural or time zone issues that cannot be dealt with.
Or, you know, to acquire skills that are high in demand but relatively low in supply.
There are some great remote work opportunities these days. It might be worth starting to look at other European countries who are hiring.
Take Ireland for example. You're not going to be making US level money but I'd say you could easily double what you're making now and there's the potential to go much higher than that.
Yep, and it seems like the pandemic largely showed that there are quite a few jobs out there that can be done remotely with decent success in many environments.
Well, at least as long as the culture fit is there etc., admittedly remote isn't for everyone, but on the flip side, geography/commute being less of an issue for the remainder of people is great!
From the Stackoverflow survey, it would be below the national average (the mean), but I don't think there's actually many regions that pay the national average. SV pays more and most of the rest pays less.
Keep in mind consultants don't get 401K plans or many other things, AND they have to save about 15-20% of their income as "in between jobs" money, in case they don't line work up.
If you earn 30% more than a salaried employee you are barely breaking even most of the time.
Hold on, 700€ x 215 days worked (you don't count vacation time when freelance) = 150 500. Now, give it half to the taxman, and you're left with 75 250€ / year.
And that's without the expenses, extra healthcare coverage, insurance etc.
So pretty average when you considering that junior developer salaries are within this reach in EU capitals.
I used 4 weeks, and by my experience that's generous (not talking about paid leave - all the freelancers I know are workaholics and don't take much leave, but maybe that's a US thing).
5*48 = 240 days, which works out to around 84000 EUR. Or 120,000 EUR - 30%.
Regardless, 700 EUR/day seems in the ball-park for a generic all-around developer.
£500/day is the absolute minimum for developer/DevOps outside London, £600/day much more common and including the cheap end for London. Senior is more often £800/day. You don't see values above that advertised, but people do obviously negotiate higher for specialist work; I have seen a mainframe developer charging £1500/day (on the low end of his range). Anything higher than that has always been a large consultancy rather than a freelancer. In my specialist niche I'd be asking for £1500/day top-end, expecting £800-1200 with negotiation depending on flexibility.
Even allowing that junior salaries reach this high (that's in the range for a senior in Berlin at least), that would be the PRE-TAX figure. Remove 40% (again, approximate taxes in Berlin, potentially more if you pay the "church" tax) and you've got 45150€, a significant difference.
I prefer to be paid based on how valuable my work is to the employer, not the cost of living wherever I happen to be or even my personal financial needs.
Sure, so do I, but when I tell my manager I'm worth X amount, he'll say that's just not where local salaries are at for my job category and responsibility.
Implying that other developers in my area are available for less than I ask.
I mean, if a person is able to extract 700€ per day, kudos to them but that's still above the 90th percentile of senior developers in Europe.
What do other companies say? "Nah you're not" is a pretty standard response to "I'm worth more than this" but consider the source. For some reason many companies would far rather let a good employee leave than raise their pay to market rate.
I had a buddy do exactly that. His manager told him he was already paid above market. Inside a month he showed her that she was wrong and we had a gaping hole to fill in the team.
To give a point of reference, an employed senior engineer in mechanical/aerospace in western Europe makes about 250-300€/day, before taxes. So 175-200€/day after taxes.
Amazon's orientation and internal culture is structured to make one think that it is a matter of personal pride and worth and if you do not align you are worthless.. it is a mind F** for fresh college hires.. I like to think Amazon is the tech industries' Pedo***..
One of the things I surprisingly (?) learned at a small startup as the first employee.
It was me and the two founders that I already knew from working together in the past. I expected that my opinion matters, I tried to improve the product, the service, the engineering, but anytime I recommended something it was ignored. After some months, I learned to just shut up and code. This experience taught me that no matter how close you are to the decision makers, influencing them is still hard. Since then, I just don't care. Sure, I'll do my best, but I do it for me and to get another offer in two years.
Now, I work at a big company, I'm like 5-8 levels removed from the decision makers, and I just don't care. I still try to do my best, if I have any concerns, I might mention it once, but if decision makers are not interested in my feedback, I don't mind. I work my hours, do my best, I don't take anything personally, but I also don't care if there is an outage at Friday (that could have been prevented if only we addressed the issues I brought up a couple of times) or if the feature we are developing never gets to production or if the feature fails (predictably, but a CxO has the amazing idea to pursue some obviously bad product decision).
It's difficult to not show the rest of the team how much I don't care. It's very different to show everyone openly you don't gaf (that's not accepted) and just simply not giving a f while pretending you care (that's okay), so I learned to "mask" my true emotions.
I don't think so. They didn't throw in the towel yet, it doesn't look rosy (at least to me). One of them is still a friend of mine. I learned a lot, so I'm glad it happened, but I'm also glad that I left.
This is a great comment and how one should evolve to stay sane and healthy.
My BS filter is highly developed now.
"We will have the project done by the end of the month.
Failure is not an option. We dont fail. We are xxxxxx.
Come hell of highwater we will get it done.
Lets do it". High fives.
"If you get this done you will get ...... " ($$, vacation, yacht)"
"Give it 110% people"
"If we dont get this done ....... "
This means:
"This project is screwed. Nothing the team can do will save it.
I do the right thing; I talk to the PM or whoever is in charge
and politely but honestly share my professional assessment
of the project.
This is most often totally ignored.
Which is fine.
It is no longer my problem
and nobody can come with "I thought you told me you would get this done ,.... "
or some such variant.
I will do a good job and try within my own parameters of sanity and health
and time.
After a rather unpleasant and unwelcome time I found myself in the army,
having people yell at me all day (and night at times)
Even when you have not slept for 48 hours, still screaming.
I can't say anything positive about the army but it did give me thick skin.
I am entirely unfazed and bored by some office drone talking to me loudly.
Even if said drone starts turning purple.
> ""With all due respect, sir, you're beginning to bore the hell out of me.""
(Clint Eastwood as Gunnery Sergent Thomas Highway in Heartbreak Ridge (1986))
This is exactly why I think contract work is the most honest form of employment in the software industry. "Mission statements" and "customer zeal" are meaningless when you're having to do endless weekend and evening hours. If it means so much to you, pay me by the hour first, then we can talk about devotion to the customer.
Customers always seemed to want to pay me fixed amounts for jobs and be absolutely no good at estimating them. I got paid 28 days contract fees for a job that took 3 hours once. They paid up and asked me to not come in for the last 3 weeks so their other employees didn’t catch on to what had happened…
It is true, a lot of tech companies will give you very good medical coverage without pay period fees but at the end of the day this boils down to money. Your salary is adjusted based on the company paying whatever rates they pay to offer you great insurance.
When doing contract work, you might be paying $500 / month out of pocket for medical insurance but your hourly rate is likely higher than your hourly rate as a W-2 employee even after factoring in company holidays, PTO and 401k matching. You also have the option of not buying insurance if you really wanted to.
Most insurance in the US is horrendous too. The whole system is optimized to provide you the least amount of coverage while making the process as inefficient as possible for you. I spent literally 12 hours on the phone over a few calls trying to get basic information from a few different dental insurance providers, in the end I got nothing concrete out of it and the only way I could have gotten concrete numbers is if I submit a form that takes 30 days to get processed except in the US you only have 30 days a year where you're allowed to enroll into insurance. Basically it was impossible for me to pick insurance based on coverage because it's impossible to know the coverage without first signing up and then you're stuck in it for a year in which case everything resets the next year and the process has to start again from scratch.
Here's how you pick dental insurance: it doesn't matter much because it isn't insurance at all. It's just a maintenance plan. The purpose of insurance is to buffer you against sudden large costs by having the insurance pay them while collecting enough of a premium from everyone that they come out ahead. The purpose of a dental plan is to pay for typical costs and completely bail on you if your costs go over a fixed amount per year (typically $1000-$3000). Look closely: every dental plan you are being offered likely has an annual maximum benefit per year of somewhere in this range ($1500 is common). I've had the insurance company cheerily say "yes, that procedure that costs $54000 is covered at 100%! ... up to your annual maximum, which is $1500. You will be responsible for the rest."
Yeah it's very limited in general. You can't even get certain standard types of cleanings with 100% coverage because it's not a supported dental code.
It would be way more efficient for employers not to offer dental insurance and instead give employees a tax-free $1,000 yearly stipend which allows employees to use this for personal and family dental care as an expense report which in turn ends up being a business write off for the employer. Now there's no limitations on what work can get done and no wasting your life trying to chase down dental / FSA details. A higher end dental insurance plan through a company is over $1,000 a year too, so this stipend approach would save employers money and it saves employees a lot of money too because you could easily end up paying $600-700 post-tax money out of pocket for standard cleanings a few times a year when insurance won't cover them (even if that insurance costs $1,000 a year). It's a win / win scenario for both the employer and employee.
Happy I live in the UK when I see things like this posted. I was offered a job years ago in the US which I declined and would never want to be held to ransom over my health potentially.
Just factor that into your cost of business. Your day rate should be 3x your salary rate in part for this reason as well as the unpredictability of future employment.
> I can sit there as a project is falling over the edge of a cliff with total inner peace.
This is what I'm (slowly) learning as well, even though I'm not entirely sure I want to. Working on projects where you care but almost nobody else does does that to you, but I'm afraid I won't be able to make it back to a position where I can care for projects.
Don’t sweat it; it might be healthy. I have made it a feature of my life that I don’t actually care about work and will not be changing it. It turned out that I’d spent at least 20 years being tricked into caring for things which ultimately someone else leveraged most of the benefit for with measly returns by proportion on that investment of time back to me. Never a thank you, always difficult to extract any entitlements from it.
Another thing to note is my father who had completely invested his entire life into this way of thinking and is currently spending his retirement with bad mental and physical health. That’s the end game these working practices tend to lead into.
It’s true that you should work to live, not live to work.
You can care about your career and your self improvement while still maintaining healthy boundaries around the mental effort expended for your job. We’re in it for a long time but jobs come and go
Why not? You can care about delivering beautiful code. You can care about ensuring the workplace is a pleasant place to work for all. You can care about your relationships you’re building. You may even be a huge fan of the product you’re building. That doesn’t mean you need to shit a brick when someone comes running in with their hair on fire—it’s not a binary proposition. Caring about things can be done “a la carte” and you can simply just not care about the bullshit
At least to me, of the best things about this attitude is that the working culture starts to matter a lot when you search for jobs. That's what you care about. You look for places where relationship building is important and people try to get along and support each other. Other stuff starts to matter less. Lots of places basically put so much pressure on you to deliver that being a decent human being becomes impossible.
If my choice is between working at a boring job where I can support my colleagues, and an exciting job with cool tech where people are having mental breakdowns and nobody has the mental space to support them, I'll take the boring job where people don't care about stupid directives and dealines from above.
Exactly. You can even care about your product and its users, but not care that it went down for a couple hours last tuesday or launched 4 weeks later than a made-up deadline.
I agree, and I still don’t have an answer for this dilemma. I don’t know if I’m the problem, or if it is the structure of our society.. In the meantime the only thing that I know is that I have to choose between not caring and feeling like I’m wasting most of my day, and caring with the potential abuse of an employer
Next time around I'll be sure to get born wealthy so I don't have to worry about it. But it's incredibly privileged to be able to do the sort of work we do compared to standing in a factory production line or working away from family. I enjoy my work, but I know if the company fails it's not my fault and I will be working somewhere else tomorrow.
I think it's healthy to not care about something you have no real stake in. But you can compensate for that condition in a day job with hobbies or pets or friends or generally something to care about outside of work. I personally do a number of regular social things outside work as well as occasionally writing and producing music on a purely amateur basis, where the only reason to do them is _because_ I care.
What I’ve found is that you can care about things like craftsmanship, problem solving, and quality while not being bothered by the day to day short term project level thinking.
The problem is that writing good code requires more time than writing shitty one.. and if there is a lot of external pressure to finish the project, it’s quite difficult for me to stay focused on quality
That's fair, and I'm not saying it's as easy as flipping a switch. We are all social human beings wired to easily get caught up in the day to day panic, especially when someone is breathing down your neck. But you need to consider that somebody breathing down your neck does _not_ have your best interests in mind. You are master of your own career, and any shitty code you deliver will have your signature on it. It's all about setting boundaries and being able to push back when people are unreasonable. This is where the "not caring" is an invaluable skill. You are an immovable mountain in the face of a hurricane.
At the end of the day, YOU are the professional. If an amateur decides that you are going too slow, that doesn't mean anything--they can feel free to hire more engineers or whatever needs to be done, but the onus is on _them_ to ante up. No matter how much you love your job, you're probably going to have multiple throughout your career so you need to focus on yourself first and foremost.
I imagine that's a good place to be, but I don't know if it's possible without going through a lot of trauma and building up substantial mental scar tissue.
Getting on 15 years into my career and not sure I'll ever get there. On the other hand, I actually work on a project I care about and for a company that treats me like a human being and not a "resource". Think I'm OK with that.
Bravo! I'm working with and for genuinely great people, but my past experiences with such "stick and carrot" bullshit mean I still treat my employer (i.e. the legal entity) as the schoolyard bully: don't cross their radar.
Never dealt with PIP, but anyone worthwhile will just quit and get a lateral or better job. That's what I did when one of my employers extended the mandatory 6 month probationary period because she just wasn't sure about me.
I don't need that stress. I just hopped over to another company, cut my commute, and made about 20% more salary.
I mean, you even attempted it. I would've looked at it and told them their deadline or scope was unrealistic.
I mean I don't want to do any project with a deadline, ever again, if possible, and I haven't even been exposed to the level of stress and pressure that people get at certain companies.
I thought deadlines had gotten rid of a decade ago in software engineering with the rise of agile software development and the realization that software is difficult to neatly scope, and development time is almost impossible to predict.
I’m in the same boat as you, haven’t worked on anything with a deadline for the past 2 and a half years and I never want to go back to it, totally pointless arbitrary dates that are never met.
Maybe a silly question on my part; did you manage to learn a lot?
In the past, I thought of putting myself in positions like these to increase my understanding in short time, at the short term expense of personal life. I wonder if that's just a stupid thought that leads to nothing but burnout, or actually a viable short-term strategy to get up to speed with some of the tech stack you know but haven't really used in prod at the scale of Amazon.
Nowadays, I have health issues (go figure) so it's off the table and all I can do is wonder :).
I’ll be honest, I learned an absurd amount. Like more in those six months than in four years if previous work. It was real software development, with actual distributed systems problems. But was also scarring, I have huge trust issues with management now
I'm convinced human beings are naturally designed to operate at 120% for 6-12 week long periods. \
Hunter gatherer survivalist genes just kick in.
YMMV, but I consider it a healthy thing for, at least for some part of your career, to work "Amazon hard." Aka, all the reasons that people list when they say you should really try working for a startup.
When you push yourself to your limits at your profession, a lot of stuff clicks into place and you learn so much.
You can't procrastinate, you can't do it wrong, there just isn't the time.
> When you push yourself to your limits at your profession, a lot of stuff clicks into place and you learn so much.
Maybe a cynical take, but if you’re pushing limits then you’re probably just learning the right corners to cut, shortcuts to take, and how to exploit/manipulate people to get what you want fast. If you didn’t learn any of that, then—well, someone else just learned all that at your expense and you’re setting yourself up to just be exploited again and again.
> there just isn't the time
Yeah, that’s the root cause. Why is there no time? Is someone’s life on the line for this deadline or is it just that the manager is eyeing a sweet bonus for delivering early. 99.9% of the time it’s the latter. So why learn how to get manipulated? Learning to work at a consistent pace is far more sustainable. Tortoise and the hare.
Human beings are not designed to operate at 120% for 6-12 week long periods; they're designed to survive it. The difference is important.
Working at such a rhythm helped me learn much. It also durably damaged my body (both because it chipped away at my health and because it made me forego health check-up), my mental health, and made me lose personal connections. To this day, I'm still picking up the pieces.
Human beings are also "designed" to survive long period of hunger if need be, but no one would argue that going without for a week is a fine and healthy way to lose weight.
I guess I should say the healthy thing to do is to work at 100% of your capacity, whilst going to bed at 9pm and doing 25 minutes of exercise every morning?
> I'm convinced human beings are naturally designed to operate at 120% for 6-12 week long periods. \
The only thing worth working 120% for is raising your newborn child. Or maybe making a civilization-altering breakthrough in the natural sciences, like Fusion energy.
Everything is simply 'meh' in comparison and not worth sacrificing your health for. And I say this as a person who doesn't even particularly like or want kids.
> I would have a lot of trust issues with management if they pulled this shit on me.
You should have trust issues with "management" in any corporation because these people have the interest of the shareholders at heart, not of the workers. It's just sad some of us have to go through a traumatic burnout to learn this lesson.
Of course, what i said doesn't apply in a self-organized workers cooperatives where management is the workers.
The details can be debated, but to ordinary worker instances both shareholders and management inherit from RichAsshole class who both have the same implementation for the Empathy interface:
Yes, exactly my point. I was not commenting that it is normal to have a rather traumatic experience but that it ought to be normal (and frankly, healthy) to have "trust issues with management".
My go-to aphorism in for questions like these is "you learn more from success than from failure".
People like to talk about how great a teacher failure is, and how it teaches you valuable lessons... and it's true! Failure does teach you lots of valuable things, including things that you don't learn by succeeding. However, succeeding at something challenging generally teaches you more.
Or to cast it in ML terms... you need examples of both success and failure in your data set, but the "success" data points are more valuable.
Isn't that simply because you experience failure many more times than you experience success. In fact on your path to success you are almost guaranteed to experience multiple failures. So by that metrics one success teaches you the lessons of many failures.
In my experience you can learn from such stress situations, but the goal of a company is usually not to form a bootcamp for new employees, but to have it's devs create great, lasting, secure and stable software.
And like any great, secure, lasting and stable engineering giving you the knowledge and time is key here.
When a company overloads the safety officer with tasks, so they and up not being able to do their work propperly and an incident happens, the company is at fault because it failed to provide the officer with the resources needed for the job.
If they don't give a dev the resources to do their job it is not different in my eyes. The fact that there might be some magical dev who would be able to get something working out of the same circumstances doesn't matter — maybe it has a company crippling flaw in it because of all the haste.
Amazon's mentality is pretty clever I think. The entire company is designed to repeatedly test all its employees till failure by piling on the workload until they say uncle, then backing off 20% if they push-back.
It's a crazy approach that probably falls apart if you're unsuccessful. But they're very successful so they can just keep burning money to attract new hires. Also, I imagine it's a huge career builder if you work in FMCG or development to have "Amazon retail" or "Amazon Web Services" on your resume. Since everyone uses those platforms.
I imagine what is left at the end is a residue of "born again" workaholics, who're probably pretty great at their jobs. Who then ascend to and form middle management.
And the global express trundles on, powered by these workaholics.
I worked for three years in a extremely customer driven company.
The last 1.5 of those I worked with what I consider two amazingly brilliant a####les.
I ended up leaving the most amazing place I had ever worked at until then (worldwide traveling, learning new stuff, actual high performance systems).
It has taken years to recover and I still cover myself more than I should.
My boss (who I liked) tried to get me back twice after he realized I had not been the problem and the two others had left but by then my salary had increased so much I was out of reach for him (edit:,) and telling my family I'd go down a double digit percentage in salary to work for someone who had not stood up for me back the was out of the question.
You may/may not learn, but living in situations like the OP was put in is horrible. Every day feels like hell, and if you burn out it may take years to recover.
This is my personal experience, which is why I'd advise people not to go through with the above thought experiment.
Then again, I keep interviewing people with 5-10 years of experience, who will go something like this:
> How would you manage a server? (leaving out a ton of context about what it means to "manage a server")
> Very easy, SSH connection is very fast, reliable, ...
> Awesome, love me some SSH, how about 5 servers?
> Hmm, probably write shell scripts.
> How about 50 servers?
> Shell scripts?
> Even with 500 servers?
> Hire more people..?
And I keep feeling that these people don't have 10 YoE, they have 1-2 YoE times some coefficient.
I feel like if you're in a "successful rut", that's what it will do to you. You feel like you're successful, but in fact, you have fallen horribly behind, without even knowing it.
Your quality of life is probably fine, until you're laid off one day.
Whether someone is in a rut or not is a separate issue than whether they've worked with terraform. The key here isn't what technology they've used, it's a mindset towards automation.
I recently came off a project that was technically using "GitOps" but where every deployment involved copying and pasting dozens of files across 3 or 4 repos, and the whole thing was very error prone, and if you didn't change exactly the right things your service would just silently fail to deploy, or be unreachable, with zero feedback.
I've worked at a company with a bespoke CI/CD system hacked together with PHP scripts and Jenkins servers, but where every single process was ruthlessly automated, reversible, with multiple layers of fallback, failure recovery, garrulous feedback, and built-in approvals that you could automate, or if you didn't remember, you'd get a helpful reminder in email and a link to a page to fill in the required information. People could, and did, know how to do a deployment on it their first or second day.
Guess which one was more pleasant to deploy with?
It's the automation mindset that's important. You can find people with the right mindset who haven't had a chance yet to play with ansible or terraform, and you can find people who manage to create nightmarish complexities of manual processes out of ansible and terraform. Unfortunately, I haven't yet found this to correlate much with years of experience.
Not sure what answer you expect here? Just because you have 10 years of experience doesn’t mean you’ve ever worked with more than 25 servers at a time (at least I haven’t).
I consider it a source of pride, I think. You absolutely don’t need mega scale for most things (or maybe mega scale, but still not many servers)
Agree. There are people with 10 YOE and ppl who have repeated 1 YOE 10 times.
Some people get complacent once they get a job and stop learning. The trick is to keep on learning. I have worked for a company like Amazon with aggressive schedules where we used to work for 12 hrs/day. One time I didnt go home for 3 days. I can say I learnt a lot, but there are better companies with mature planning where you would still learn the same amount.
How different ppl react to toxic environments is also different. Some people may thrive, while some may wither.
I say it is a random walk searching for the best place (for you) to work. You keep iterating until you find what you want.
In many companies software got so specialized devs won't ever get close to infrastructure stuff.
They ask for a VM or a DB to the DevOps / SRE team, wait a bit days and get a URL. If a team uses CI/CD and K8s, they will write a yaml file from a template, wait a few minutes and app will be deployed.
I updated a custom package on 500 ESX servers using ssh. Just kicked it off asynchronously, used ssh to execute a single command and not get an interactive terminal, and logged the results to check for failures. I was in the support org, so I was pretty constrained on tool choice.
At least everywhere I have worked, deadlines generally come down from on high, often with no real developer input. If you are lucky, your manager will be successful in fighting for more time. If you somewhat lucky, the missed deadline will be ignored. If you are unlucky, the deadline will approach and people will suddenly disappear.
I mean the project management triangle comes into play then, and when it comes to SWE, throwing more money at a problem usually doesn't make it go faster.
Basically the higher-ups have to decide what is most important; if the deadline is fixed, then the scope HAS TO BE flexible.
There's a basic communication problem IME. When I've been in this position (an impossible deadline) it's been because some Sr VP or C-suite type decides that something HAS to be done by a certain date. Like, they want to unveil a new product/feature at CES or some other trade conference so the date is fixed. So this filters down through 3-4 layers of management to you, the dev lead who actually has to build the thing. You take one look at it and it is basically impossible and you can list the 17 reasons why. BUT the problem is that the person that needs to be convinced is the Sr VP/C-suite type. So your analysis has to go back up, filtered through 3-4 layers of managers, each less technical than the last. And of course nobody in that chain wants to disappoint their boss so they hedge/soft-pedal your analysis at every layer. Now the SVP/C-suite type, who typically does in fact have good reasons for wanting this project done by whatever deadline they set originally, only gets a watered-down, possibly incoherent version of you analysis of why the project is impossible by the given deadline. Not surprisingly, they don't find it convincing.
tl;dr; everything in a large corporation is a game of telephone where everyone is incentivized to muddle the message. So any deadline/commitment handed through multiple levels of management is really difficult to negotiate. And the more unrealistic it is, the harder it is the negotiate. Nobody wants to tell their boss that the thing they want done in 3 months will actually take 2 years.
In the beginning, there was a plan,
And then came the assumptions,
And the assumptions were without form,
And the plan without substance,
And the darkness was upon the face of the workers,
And they spoke among themselves saying,
"It is a crock of shit and it stinks."
And the workers went unto their Supervisors and said,
"It is a pile of dung, and we cannot live with the smell."
And the Supervisors went unto their Managers saying,
"It is a container of excrement, and it is very strong,
Such that none may abide by it."
And the Managers went unto their Directors saying,
"It is a vessel of fertilizer, and none may abide by its strength."
And the Directors spoke among themselves saying to one another,
"It contains that which aids plants growth, and it is very strong."
And the Directors went to the Vice Presidents saying unto them,
"It promotes growth, and it is very powerful."
And the Vice Presidents went to the President, saying unto him,
"This new plan will actively promote the growth and vigor
Of the company With very powerful effects."
And the President looked upon the Plan
And saw that it was good,
And the Plan became Policy.
And this, my friend, is how shit happens.
I was naive but it wasn’t really negotiable. Don’t meet the deadline by a large margin? Expect to be out of the company relatively soon. I think this particular team was much more hardcore than other parts of the company. Most of the horror stories come from the core amazon services
In big companies, there is program management which comes up with the overall schedule. There will be buffer time, but you still have to work within the given time whatever challenges there may be.
I don’t understand this though? Eventually someone’s head needs to roll. If you fail your project and get fired, how is your manager immune from consequence? They failed too (probably more).
I ended up switching teams and had a decent time at the company, but the nightmare situations are very real. You are replaceable and there’s no mercy