I think the general public (and by that I mean including software engineers too) overestimate the likelihood of a huge screw-up leading to being fired like they do in the movies, if the screw-up is neither (1) malicious/intentional in nature, nor (2) demonstrates that you're grossly incompetent for the job.
Most huge screw-ups happen to well-intentioned, knowledgeable software engineers, who simply made an honest mistake.
The correct way to handle it, on the company/management's perspective, is not to fire the person who made the mistake, but to allow them to correct it (perhaps with help from others). And that is indeed what happens in most cases. There are certainly poorly managed companies who would fire someone in these scenarios, but they should be less common than otherwise.
I'm not going to name any names: in the late 00s/early 10s I worked in one of the highest-profile, high-growth tech startups of its era, and I've personally made a blunder that corrupted literally millions of user records in the database. This incident was known internally as one of the most disastrous technical things that happened in the company's history, among a few others. The nature of the product was one of very quickly updating data, and updates were critically important (e.g. is affected by user spends) and hence restoring from DB backups of even the night before was unfeasible. There was irreparable damage where a whole team of us had to spend the next few weeks painstakingly hand-fixing data for users, and coming up with algorithms/code to fix these things as users use the product as they go. As you expect in this anecdote, I did not get fired, I was part of the team that worked tirelessly following this incident to fix user data, and I continued to have a good, growing career in my remaining time in this company (the next few years).
Work long enough and a person will screw up. That's how things go. And if you never screw up, then you're not really pushing yourself. Personally, I've deleted customer tables, updated the whole table when meaning to update one record, even shipped our private key once. There are probably even more I can't remember, and others from people that I helped fix (one time a boss locked us all out of the db - only fix was restoring lol) In all cases I became a better engineer by owning the mistake quickly, fixing the issue, and then putting processes in place to avoid it in the future. I think it shaped who I was to be a better engineer, manager, and owner.
The only time I've seen people fired on the spot is when they lie. After seeing someone fired, I asked one of the owners at an old company I worked at why that was the line. He responded that even the best performers make mistakes, but if he couldn't trust someone, he couldn't work with them. This was many years ago, and as I've grown in my career I have found it to be a pretty good line to draw.
> A young executive had made some bad decisions that cost the company several million dollars. He was summoned to Watson’s office, fully expecting to be dismissed. As he entered the office, the young executive said, “I suppose after that set of mistakes you will want to fire me.” Watson was said to have replied,
> “Not at all, young man, we have just spent a couple of million dollars educating you.” [1]
In most European countries it is certainly hard to fire people on a whim like in US and countries with similar weak labour laws.
I have seen often enough puzzled looks from team managers from such countries, when leeding European teams for the first time, and routinely get a NO for whatever crazy requests they happen to do.
Depending on which country, there still are mechanisms in place to fire people for what's called "culpable reasons" where I live, but there's a mandated layoff period (15 days here) after being fired to leaving the company. You get paid a certain fraction of what you'd otherwise be paid during that period and so on.
So yes, they can fire you if you (maliciously) screw up, but it's not like they just escort you out of the building on the spot.
Egregious cases can lead to immediate dismissal, you also don't have to let anyone continue working even if you still pay them if they are on the notice period (the notice period is for both sides, honestly - for employer to have chance to find/train replacement, and for let gone employee to find new work).
There's a bunch of cases that can lead to immediate dismissal though in most EU countries, starting with illegal activity, some things that are borderline (disallowed in law even if sometimes tolerated by employer - for example being drunk on the job or otherwise under influence by ones own action, not accident), or explicit action against the company.
> I think the general public (and by that I mean including software engineers too) overestimate the likelihood of a huge screw-up leading to being fired like they do in the movies
I’ve done some volunteer mentoring for a while. Fear of getting fired for small things is very widespread among younger generations right now. As far as I can tell, some of them build their mental model of the office from a combination of movies, Reddit posts, TikTok rage bait, and stories on social media. They’re so convinced that every corporation is an evil entity set on destroying their lives that small mistakes are catastrophized into career-ending moves.
The saddest part is when they make a small mistake and then let it snowball into lies and manipulation to cover it up. In the program I’m familiar with I don’t recall any stories of people being fired for singular honest mistakes, but there have been plenty of stories shared where people made a mistake and then caused far more problems by lying about it or even doing things like trying to attack and discredit people who witnessed the mistake as a defensive measure.
A large part of it stems from layoff culture. None of us know if this is going to be the last day at work. Is it rational? No, layoffs typically hit randomly and with little predictability, but that's not salve to those who worry about their jobs
There are, I think, different norms and risk levels in different types of employment.
Somewhat ironically, it's much easier to get fired from a minimum wage fast food service job than it is to get fired from a six-figure-salary job at Google.
The expense and time required to hire a well-paid, highly qualified engineer is much bigger than to hire someone to do a burger-flipping job. Firing is writing off these expenses.
Your point aside, that particular example is not the best since it's a lot easier to quickly land a customer in the hospital as a random fast food worker than as a random software engineer.
That's the rationale, but most of the firings of fast food workers I've seen are not related to hygiene but rather due to scheduling and attendance issues. And very often because of management lack of planning.
It is not that easy, actually. There is remote possibility for it to happen, but it is not likely nor easy. You need to break quite a few rules and also be very unlucky too.
You're not really a sysadmin until you take down prod and not really a network engineer until you cut off your arm (drop a router connect with no way back in) or cause an STP storm. I'm sure there are more examples...
The joys of learning how tech works in the real world.
in one of my first jobs we used to call that "the kalidas problem", after an old indian legend about the great playwright kalidas being a fool in his youth, and cutting off the branch of a tree while sitting on it. https://www.indiaparenting.com/the-legend-of-kalidas.html
My team is in charge of infrastructure so most of us do everything. Sometimes I get to take down prod AND cut myself off from the network in one move.
Why is every service on this site alerting? All I did was plug something in. Maybe that cable wasn't labelled correctly after all, proof is in the results.
I've made my fair share of mistakes at my current employer. Took down business critical infrastructure, dropped productions tables, accidently placing test orders for clients and not getting them cancelled quick enough
Not once have I ever been reprimanded for my actions (Out side of being the butt of a few jokes and having to write a few "sorry" emails), they aren't something to be proud off but I'm definitely a better developer now because of these mistakes.
Mistakes happen, that's life, important thing is how you deal with the issues.
After dropping the production table, I had the fun job of restoring the backups and then having to scour through logs to rebuild any missing information between the last back up and the incident. I have never felt anywhere near as sick in my life, that was a fun Monday.
When I dropped the table and realised what I had done I went to my boss with my tail between my legs and just said "I fucked up", he didn't get angry and just said well get to work fixing it and so I did.
This kind of thinking is super destructive too because you'll just panic, turtle, and stop communicating which makes it impossible to get anything done.
I made a somewhat similar blunder to the original poster at a job some years ago. I got a dressing down from the CEO and that's it, went back to work and never heard of it again. As far as I can tell it had no effect on my career at that company.
In the software engineering industry, what I have seen is people not afraid of being fired due to a mistake, but to be afraid of the cost of their mistake in their next performance review. Make two mistakes (not necessarily in a row) and you are putting yourself in a dangerous corner (e.g., you may be considered to be lay off in the next round of lay offs).
> I think the general public (and by that I mean including software engineers too) overestimate the likelihood of a huge screw-up leading to being fired
I've seen this misconception perpetuated by management even in countries with very strong worker protection laws. Works particularly great on people who already have strong work ethics and internal fears, it stokes that fire. Employees would work as if any failure could lead to termination, especially in emergencies. Those managers use this as a "motivational" tool (as much as a hammer to the face can motivate you). They can squeeze more results out of their teams and maybe edge out a promotion.
It's illuminating to see when the people understand the pressure is many times fake, that even the internal SLAs are more relaxed than what they fear.
While I agree in principle, in this particular example the author was a new-ish hire who included an easter egg for no particular reason, which included copyrighted content that required all the existing CD's to be destroyed.
Great share! What do they say, "You can't make an omelette without breaking eggs". I think people can go through life trying to never make mistakes and ultimately I think that just holds them back.
Most huge screw-ups happen to well-intentioned, knowledgeable software engineers, who simply made an honest mistake.
The correct way to handle it, on the company/management's perspective, is not to fire the person who made the mistake, but to allow them to correct it (perhaps with help from others). And that is indeed what happens in most cases. There are certainly poorly managed companies who would fire someone in these scenarios, but they should be less common than otherwise.
I'm not going to name any names: in the late 00s/early 10s I worked in one of the highest-profile, high-growth tech startups of its era, and I've personally made a blunder that corrupted literally millions of user records in the database. This incident was known internally as one of the most disastrous technical things that happened in the company's history, among a few others. The nature of the product was one of very quickly updating data, and updates were critically important (e.g. is affected by user spends) and hence restoring from DB backups of even the night before was unfeasible. There was irreparable damage where a whole team of us had to spend the next few weeks painstakingly hand-fixing data for users, and coming up with algorithms/code to fix these things as users use the product as they go. As you expect in this anecdote, I did not get fired, I was part of the team that worked tirelessly following this incident to fix user data, and I continued to have a good, growing career in my remaining time in this company (the next few years).