In almost 30 years of software engineering, I came to the conclusion years ago that most deadlines were entirely arbitrary. The business isn't going to fail if you slip a week, or frequently even six months and if it does its probably not the fault of engineering unless its so dysfunctional as to repeatably blow through its own delivery estimates. Sure there are regulatory deadlines, customer POC or delivery deadlines. But, truly hard deadlines won't pop up as "we need this done next week" unless there is something fundamentally wrong with the business/sales side. A good functioning engineering/business unit will know far in advance of those kinds of deadlines and it becomes a question of whether the existing engineering org is capable of delivering the functionality within a heavily padded schedule.
Put another way, I don't think i've ever seen a customer walk from a product because it wasn't released on a cadence, in fact many aren't actually happy about upgrades unless they are fixing a problem they have requested. And sales/POC cycles are such that frequently the customer may not actually have an alternative solution, or if they do, the chances they will switch to your product simply because you have X this year instead of next year isn't something that hinges on small factors that can be done by the engineering team in short cycles. You win because the product is better/etc and that doesn't happen overnight.
So, stressing and working endless 80 hour weeks likely is going to have the opposite effect and creates a low quality product that people are trying to get rid of because it keeps breaking.
Yes. As are most tasks, in my experience. Looking back on your almost 30 years, what percent of tasks could have been skipped entirely and, in the long run, it wouldn't have mattered?
For me, it's easily >50% ... catch me on a grumpy day and I'd say it's closer to 90%.
Honestly, most companies and projects fail completely. In my 25ish year career I can only think of a handful of lines of code that I've written that are still in production (or that I think might still be in production) and only a few employers that still exist. When you pan out far enough it all seems a bit silly.
I think this is confusing code with output. If you work for a company that builds medical software, then your output is something like quality-adjusted life years for patients and has nothing to do with the code you incidentally use to get there.
Taking the view that none of the software you wrote is still running is a bit like an automotive engineer who thinks none of the car models she worked on at the start of her career are still in production. Well, no, they're not: but does that matter? Millions of kids got driven to school by cars she helped design.
Even if you measure that way... again... most software industry businesses fail/disappear from the market. Outside of the largest companies, their business solutions tend to be transient.
Does an empathetic doctor not smile when they see their patients in good health?
Does a lawyer not take pride in a well-written contract that shielded their company when the client turned adversarial?
Does a former mayor not visit the parks they opened, the civil works projects that they helped organize or brokered deals for?
Does a salesman not remember their biggest sale? Their wildest outing? Their most critical conversation where they saved (or lost) a deal?
Does a restaurant manager not eventually sit down in a quiet corner of the restaurant, eat a meal in peace, and enjoy the background murmur of their patrons?
Does an electrical engineer not smile when they drive by a substation they helped design?
Does a teacher not remember their most successful students? Does a parent not remember their children?
Why would a software developer not want to know how long their projects lasted?
Why would they not measure their impact in terms of messages sent, or mean-time-between-failure, or ROI / cost-to-benefit ratio, or smiles-per-hour? I'm not saying every line of code I write was one I was proud of, but I have dug into thorny problems, crafted solutions that were good enough, and been happy to see the code stay in service with only a very light touch needed to keep it on track. Of that, I am proud.
>Why would a software developer not want to know how long their projects lasted?
But the software is a tool used by customers to do the actual equivalents of the things you listed. As you said for the lawyer: They're happy the the contract fulfilled its purpose, not that it's still sitting on a shelf somewhere.
If anything that's overstating the prospects of the median person in software engineering.
Probably even the 99th percentile HN user couldn't do anything lasting and noteworthy if they somehow were blocked from relying on inertia, sheer dumb luck, obscure chains of fortuitous happenstance, etc...
e.g. probably no one reading this can even hold the full Bluetooth spec in their head and understand all the tricks and pitfalls and obscure corner cases. Let alone do any useful work based on that.
For the vast vast majority, progress happens in the form of millions of monkeys bashing typewriters in the hopes of getting a gem.
Video games are still sold at retails stores (Target, Best Buy, ...). Those stores have to coordinate what is going to be on their shelves months in advance (6+)? So you promise your game will be ready and in a package and at their loading dock by November 15th. If you miss the deadline their shelf is empty of product since its spot was reserved for you.
Other customer electronics have similar issues. Promises are made to coordinate. They're generally made before the product is actually finished. Now a deadline exists. It's not trivial to change it.
The same is true for ads or was (TV ads in particular). They have to be scheduled well in advance. You pay for ads to run 6 months in advance because if you don't buy them in advance all the time slots will be sold out, no ads for you. But now you've added a deadline. If your product is not ready to buy when the ads run you've just wasted a bunch of money.
I agree that for many standard IT projects, deadlines can be kind of BS but I can also see why they tend to exist in retail products.
A solution could be, don't even start negotiating for shelf space before the product is 100% finished. Unfortunately few if any companies seem to be able to do this. For one, they need the money from the orders to make payroll. For another, if they waited until the product is done, then order ads and shelf space which won't be available for 6 months, what do they're employees do during those 6 months? They have no customers to fix bugs for yet. If the switch off the product to the next product there will be a big cost to pay to try to switch back the previous product they stopped working on 6 months previously when it actually ships and they need to actually support it.
What do you think about the other side of the video game industry where games are distributed digitally? Most PC games nowadays are distributed this way and even consoles are moving in this direction too. There is so much more to it than just aligning marketing and distribution with the development cycle.
Time and time again, news breaks out about terrible working conditions and crunch culture being so ingrained and standard in this industry. Many cases come from studios that mainly distribute their games digitally. So many AAA titles nowadays are released half-finished, broken and rushed for the sake of meeting next quarter's quotas at the expense of the company's employees mental health (Ubisoft for instance), and in some cases, their lives (Activision Blizzard).
The fact that some developers are unjustly taking heat, blame and pressure from their own playerbase is not the saddest part. Video game journalists are disincentivised from talking about it from fear of being blacklisted.
I find that looking at it from the traditional brick-and-mortar perspective misses a dark side of this industry that is often entirely ignored, or treated as an open secret. Crunch can be avoided. Nintendo and Mojang have delayed releases to avoid crunch, yet one of the two also deals with physical retail copies. This is a management/investor pressure/culture/people issue.
> What do you think about the other side of the video game industry where games are distributed digitally?
As someone that has done work for indie studios, you very much still have to align marketing and distribution with the development cycle with online marketplaces. Shelf-space and shelf-life aren't any less real because they are virtual - if anything, they're scarcer resources. Anyone who's actually sold things online can attest to this; customers' patience and attention spans are horrendously short. Not making it into the first page of results can be a straight-up death sentence for a project.
For video games there are also holiday seasons that you may not want to miss. So even if you are using digital stores, there are deadlines that might matter
I know this was just an example, but in the case of video game sales, they’re all going to be digital in the next console generation (if not, in the one after that). Then all of that retail space will be reclaimed for other purposes.
You dismiss that these are arbitrary, but I'm not seeing a whole lot in your examples that aren't also arbitrary. Sure, this is how a lot, if not all, companies work. That does nothing to disprove that this is arbitrary at the cost of mental health.
We are not isolates who just subsist by ourselves. The modern world is a massively complex interconnected and interdependent system and we rely on the glue of capitalism to ensure that everyone still looks out for themselves but makes it all work for the system.
Were the massive chip shortages causing a massive reduction in car availability and increase in prices "arbitrary"?
Was the Suez canal blockage causing weeks of shipping delays "arbitrary"?
If companies promise to pay for a stall at the next expo, but then don't actually make it because they don't ship their products in time, and now the expo loses revenue because they can't fill the stall at the last moment, is that also "arbitrary"?
Day 1 patches are increasingly a thing specifically to help with this. Ship a "release" version of the game so that it can be made physical and distributed and then continue working on it so that on day 1 users plop their disk in an download a patch for everything that didn't make it on the disk.
This is a horrible practice that is very unfriendly to customers. It is tolerable as an occasional thing to recover from some sort of development disaster, but not as a standard practice.
Yup and as a user of things like virtualbox and docker and numerous other softwares I really hate updates and so called "upgrades". I'd rather have a stable version that gets updated far less frequently.
> I came to the conclusion years ago that most deadlines were entirely arbitrary.
To add to this, many manager/leaders assume some kind of deadline is needed for every tasks.
They themselves manage their schedule by timeboxing and setting arbitrary due dates, feel extremely productive doing so, and expand that insight to the whole business. The base assumption is a task won't be done in a timely manner if there isn't a threat with a time limit on it.
On a human level, I also understand the appeal of having a set date for something to be done: there's a warm and fuzzy feeling of a well oiled machine churning stuff on a predictable schedule. But it's just cruel to subject so many people to a forced schedule just to manage someone's anxiety and scheduling OCD. Reality is complex, longing for making it fit into neet boxes is delusional and unproductive.
As an engineer I agree, but I’ve had the misfortune of managing poorly performing teams composed of unfit individuals that I couldn’t get rid of and they would do absolutely nothing if I didn’t arbitrarily give them some deadlines at least now and then.
I hear you. I see those more as checkpoints than deadlines though.
Even with highly self managing people, it's always safer to have some idea of how much time it could take, and check for some kind of status midway to know if it's too different from the rough estimate (sometimes you learn they didn't touch the task for various reasons)
It's more of a camouflage I think: the theatric "management" role is fulfilled by having a random event on the calendar, but actual work doesn't have to abide to any set date and will take whatever time it needs to finish.
All deadline-based management does is turn the code to mush, so that tasks in 3 years time from now take twice as long as they would have, with even less delivery predicability (which of course they'll respond to by imposing deadlines more aggressively, and so on goes the downward spiral).
I wonder where everyone is working, because in 11 years and several employers I've rarely had deadlines, if any, and if so, they usually came from customers and were announced in advance.
Then again, I also never worked a 80 hour week. Maybe that's a US thing (I'm in Europe)?
I'm in the US and the only time I've ever worked 80 hours/wk is when I was working for my own companies.
That said, I've had deadline in literally every place I've ever worked (including my own companies). Even if they're artificial, deadlines are important. Without them, procrastination can all too easily take root.
I'm not terribly convinced that software engineering is harder on someone mental health than being a doctor, lawyer, sales, engineer, professional athlete, teacher, or any other white collar profession is.
All of these have their specific stressors, all of these professions have loads of articles about how people are leaving these professions due to how hard they are.
All of these jobs tend to lead to them consuming your free time if you don't set boundaries, all have deadlines that lead to stress.
>You cannot take a sick day by telling your team, “I have mental issues and need a day off.”
This hurt me to read on behalf of the OP.
I'm now 20 years into my career and never once have I come across this attitude. People take sick days all the time for mental health. I feel terribly for this person that they felt like they couldn't but this is far and away the exception rather than the rule.
Has any company come out against mental health in the past 20 years?
> >You cannot take a sick day by telling your team, “I have mental issues and need a day off.”
I'm in an environment (military) were we actively work to prevent this. I have lots of kids (18-20yo) with mental health issues that are not helped by being allowed to take time off so casually. Our mental health experts want to keep people working because having them sit at home drinking/gaming does nothing. I have seen kids actually react well to increased "stress" on the job. Think basic training stuff. They are worked hard, go home tired and then actually sleep. Sending them home not tired leads to drinking and late-night gaming sessions after which they do not sleep and come to work the next day like zombies. Our people know how to spot this and adapt their schedules specifically to break the cycle. It wouldn't work for everyone, but we do need to accept that we are each not necessarily our own best therapists. If given more time off, many of us will simply amplify negative behaviors. The better answer is not I "need a day off" but rather "I'm booked to see the counselor at 08:00 tomorrow".
> I'm in an environment (military) were we actively work to prevent this.
Are we talking US military here? I think I recognize the pattern you're talking about when you say:
> I have lots of kids (18-20yo) with mental health issues that are not helped by being allowed to take time off so casually. Our mental health experts want to keep people working because having them sit at home drinking/gaming does nothing. I have seen kids actually react well to increased "stress" on the job. Think basic training stuff. They are worked hard, go home tired and then actually sleep. Sending them home not tired leads to drinking and late-night gaming sessions after which they do not sleep and come to work the next day like zombies.
You aren't actively doing anything. You're saturating their day so that they're distracted from whatever underlying problems they face. They're too tired to deal with them so they sleep and repeat. I'd be curious to see your solution play out in the ten years post separation, but the VA may be ahead of you. For context (if you're not American) TAPS is what you take as you separate: https://benefits.va.gov/TRANSITION/docs/pstap-assessment.pdf (Section 4.C should have some relevant quotes).
I remember at some point a Navy Corpsman explaining to me that the goal of Navy medicine isn't to make you better, it's to keep you in fighting shape. Fighting shape doesn't need to be the best or most optimal shape, just enough to do the job the military needs you to do.
People use all kinds of colloquial models for mental health that may or may not have a relationship with reality. It is not obvious to me that there is such a thing as "underlying problems" that you mask by doing something else. Maybe, maybe not-- mental health is complicated and you have to prove this stuff. An alternative model is that people get depressed when they do nothing at home, and get better when they're surrounded by other people and have tasks to complete. I don't know what's actually right, but I'm always very skeptical when people approach these things with certitude.
I was speaking from some lived experience, so I'll be a bit more clear about what I meant by "underlying problems":
There were little activities to do on my base other than drink. I was paid very little, little enough not to afford a car. The cities I was stationed in were sounded by all kinds of loan sharks as a result. There were very few activities funded by the military that weren't somehow childlike or oriented for people with families. I was forced to live in a very old barracks that at times, frankly, barely functioned. While living in the barracks you can be summoned for duty at any time, unlike people who live off-base (married people). My life was as a Marine, so I'd be curious to hear an Airman's perspective. The services also tend to attract people who are actively attempting to leave home, so read from that what you will. None of these things are really unknown to the military or military leaders.
With young people it isn't a matter of running them tired and bypassing the problem. Most aren't actually mentally ill, rather for the first time in their lives they don't have someone telling them how to live their lives on a daily basis. So they are given structure until they can work that stuff out for themselves. Extra work is often part of that structure. For instance, I know of one 19yo who was basically bored to death at work and hitting the bar every night (not in the US). So his boss put him on the unit "safety committee", which is extra work. He then had to interview people and write a monthly report to be read by the CO, which is very scary for the average 19yo kid at his first unit. That little bit of responsibility, extra work, turned him around real fast. He came to my office to have me edit his first report. He was nervous, but prideful nervous rather than scared. He didn't have bags under his eyes anymore.
I get what you're saying now. People do need billets to bridge them to some more higher official responsibility if you want them to grow. That said, I don't think this is a great panacea for mental health days. Generally I use mental health days if I'm overly stressed, burned out, upset, etc...
Would you let a troop take a sick day if they were any of those things?
Actually no. We have a procedure. Such people would be reminded of the various mental health services we have. If they don't touch base themselves, someone will touch base with them. That might be a padre or more likely a call from a mental health nurse. Those people would then authorize them staying home, or not, based on medical judgement. We don't allow people to switch off, especially when they might have access to weapons. If you call in for a mental health day, and then don't answer the call from the padre/nurse/boss, you can expect people at your door within an hour. I know of one door physically broken down after a kid called in for a mental health day, then fell asleep (very likely still drunk) and failed to answer the door.
Quite frankly, this is why I'm glad to no longer be part of such an organization. This is as close as you can toe the line of actually causing harm while still making it look beneficial.
Yeah, I agree. Somehow what they described is actually a bar or two worse than what I experienced at an infantry support unit. I'd like to be able to say that the DOD is capable of change, but the VA has been telling them about the long tail effects of "procedures" and decisions like this for decades at this point and not a thing has changed.
It varies from person to person, but speaking for myself, getting back to work is incredibly good for me after I've experienced something terrible. The structure, the feeling of "normal," is better therapy than many give it credit for. Now granted, a big part of that is because I thoroughly enjoy my work and my manager looks out for my well-being, as do I for my subordinates. I know plenty of people, friends and family, who loathe their return to work precisely because that's not the case for them.
As to the GP's question:
> Has any company come out against mental health in the past 20 years?
Certainly not, but there are innumerable companies, software and otherwise, that while paying useless lipservice to the concept of taking care of employees, absolutely do not follow through. I have one friend who's simply unable to attend therapy because his insurance is shit and he's in too much debt to take on another. His employer has all kinds of things to say about how much they take care of their own, but he gets shit from his manager for taking "mental health days" so he doesn't, he just says he has the flu. Mind you he's no burger flipper, he's a seasoned sysadmin.
And, lest we forget that outside our IT professions, it's even worse. My wife is a cook and has bounced from one awful workplace to another many times, her treatment running the gamut from benign neglect to outright hostility at the notion of needing mental healthcare.
> I have one friend who's simply unable to attend therapy because his insurance is shit and he's in too much debt to take on another.
Most therapists offer sliding scale. Your friend should try that.
> he gets shit from his manager for taking "mental health days" so he doesn't, he just says he has the flu
I do exactly the same, and I recommend it for others. There is still a lot of social stigma around mental health issues. Your boss doesn't need to know why you are sick. One thing I tell myself as I get older: "There is no Academy Award for the fewest number of sick days." It's OK to take a sick day every two months for your mental health.
I agree with you but I think the key point here is "go home tired and then actually sleep" which is not often the case. After a stressful day as a software engineer or other white collar job, your body is not tired. Mentally you might be tired but that just leads to doomscrolling and social media and other dopamine hits. The key point here is that one should ideally be physically tired so that after they go home they want to sleep. This is why, for example, after a stressful day I make my body tired with a long run.
You go home from the military during basic training? Curious what country that is...
Having served I agree that a military environment where your day is full and you're basically told what to do all the time, and you're maybe working extremely hard, can override some "bad thoughts". That said, it's not unheard of for soldiers to commit suicide, harm themselves or others, and generally suffer from stress related to the military environment.
I agree that simply taking a day off is not a fix and if you are worried about getting stuff done at work it might even make things worse. That said, being in a workplace where it's considered ok to take a day off if you need to, maybe go hiking or something, is probably something that alleviates stress from the employees.
Basic training is a nothing thing in the military. It does not represent what military life is like. It is just a temporary proving ground for new employees. That said, many units still do unit PT in the afternoons specifically so that people head home reasonably tired. Remember too that in the military, especially for young single people, "home" is wherever you rack out.
This isn't one size fits all. Your solution works in some circumstances and taking a break works in others.
During undergrad, I had a lot of anxiety over my future career prospects, and I recognized that the best outlet for the excess "energy" was schoolwork that would keep my mind busy. So doubling down helped there.
On the other hand, my team at work just got done a month-long process that involved training another team from the ground up, while their supervisor was traveling for work, four of the five we were training were fresh out of undergrad and speedrunning every rookie mistake possible, and the fifth was a middle-aged man who thought he knew more than he did, and his constant rebuffing of our attempts to impart institutional knowledge made this process harder for everyone. Both of my immediate supervisors had to take a couple days off during this mess to decompress. Backing off was the correct response there.
I've seen what you describe but then also can speak for myself that on my time off I'm awfully active. Building things physical and/or software, spending time outside, reading, etc. If I retired tomorrow I'd probably work just as much, if not more, because I'd work on my interests and not what I was assigned. This is common for the majority of adults I know.
I'd say I'm far from fully burnt out (we've all had our moments) but I think there is some career saturation point where people feel ownership over their free time and treat it with respect instead of "drinking/gaming".
Is wasting days off a symptom of youth? Is it because military employees lack autonomy? Is it just natural after years of selling your time to an employer?
> with mental health issues that are not helped by being allowed to take time off so casually. Our mental health experts want to keep people working because having them sit at home drinking/gaming does nothing.
This sounds more like like papering over the underlying causes and likely exacerbating the problem; the fact that they're drinking heavily may be as an escape from the environment in which they are operating. I wouldn't call this active mental health prevention.
As someone who crossed over from medicine, I can attest that software engineers have it very very good. Appreciate what you have.
I accept everyone's personal experiences with bad management, unreasonable timelines, and uninspiring projects, but those things are everywhere. Now add in patients and their families having the worst days of their lives in your presence day after day, high-pressure decision making, not getting even the chance to sit or go to the bathroom for nearly a whole shift. To top it off, if you have an "off day", that can earn you a lengthy investigation +/- a court case.
While it may sound insensitive, software engineering is nowhere near as complex or stressful as many (but not all) medical roles. It is both mentally and physically less taxing.
And at the end of the day this is exactly the attitude that prevents people from asking for a day off. It's wrong in medicine and it's wrong here.
The attitude we should have is: yes, Mr. Successful Boss Man, you are a better human than me: you are more disciplined, don't have a problem with anxiety while dealing with a lot more stress, make more money and even look better. But these facts do absolutely nothing to change that I am crumbling and need a break. If you are so good at dealing with stress - write the software (or stitch up that patient) yourself, surely it would be easy for you, the superhuman?
But we won't do that. Instead we'll pretend we are 10x engineers or genius doctors until we either mess ourselves up, or make a big enough mistake. The realization needed to wake up is: the people pushing us to work harder need us. They actually couldn't have their successful business empire or their big fancy hospital without our work.
You should always be advocating for better hours and more of the rewards from your work. I support that.
What makes me take it less seriously is framing it as a crisis in mental health. As much as people don't like comparisons the marketplace for our labor is inherently comparative, and people will optimize for the most money with the least hours/stress. I get that I'm providing anecdata but like I've said in previous comments, the stuff that software engineers I know complain about is from a much more privileged position than other occupations. Burnout is real, but if your version of burnout is someone else's idea of a mildly challenging day (which is my experience) it doesn't have the impact you want it to have. You may not realize it but there are roles in medicine where the work itself is inherently stressful regardless of how many concessions your employer provides.
If your goal is to argue that software engineers deserve higher compensation and better hours and more autonomy given the value they provide, it would garner more sympathy from someone like me. Proclaiming your suffering is at a boiling point feels like a lack of awareness.
> Software Engineers and Tech co-founders, like us, are more prone to hitting the lows.
I don't see where anyone was comparing software engineering/engineers to another profession. I certainly don't see where it was proclaimed a crisis.
I don't think it's productive to tell people others have it worse when they are promoting a discussion around mental health. I also don't think being well paid and having what appear to be great working conditions preclude you from having mental health issues.
I remember taltking to some of my friends about who has it better. When I ask "would you like to work like me?" typical answer is "Sitting 8h staring at a screen? I couldn't do that!". When I was summer-working at home construction 8-19, I was tired after a day of work, but pretty happy. Now when I'm sitting so long programming, I have headache and feel tired constantly. There is something about moving all day which makes us a little happier than sitting or lying.
A key difference is that most tech workers have the freedom to insert physical exercise/hobbies into their work day, work flexible hours, walk on a treadmill at a standing desk, etc. and someone in a physically laborious job makes no such choices. Not all tech workers avail themselves of this flexibility as much as they should, but that's on the individual.
This can be said so many times over regarding so many unproductive comparisons. Two wrongs, I've heard all my life, don't make a right. Nevertheless, people insist on dismissing wrongs that aren't, as it were, up to snuff.
Well, we as a society can both walk and chew bubblegum. If the OP isn't in here begging us for scarce resources, then he's wrong to interrupt our exchange of lived experiences.
I think stressors in the medical industry should be talked about. That seems important. And when they are, I won't be in the comments whining about software on-call.
The insane hours are actually counterproductive, but many people view them as a badge of honor. It's an odd metric to compete on (I can work more hours for the same pay!), and yet the competition is definitely there.
https://en.m.wikipedia.org/wiki/Libby_Zion_Law was enacted only after the daughter of a somewhat famous author died due to an egregious medical error made by severely sleep deprived residents. One has to wonder how many less famous people and their relatives have died prior to that, and what exactly is the benefit of having exhausted doctors running the show. And yet after the law was enacted many hospitals figured out workarounds to keep residents working insane hours (usually by requiring paperwork to be done after hours, unofficially), and many supported the insanity as a necessary rite of passage.
There’s a certain type of person that always has to comment whenever anyone says they have it hard by pointing out how actually those problems are nothing compared to X. It’s like a weird obsession with having to win the suffering competition.
It's a counterbalancing perspective that leads to healthy moderation.
If you live in a bubble of 16 year olds gifted new brand new cars and you complain openly how yours got dented, it's only fair that everyone else outside of that bubble rightfully calls you out and tells you to appreciate what you have.
You’re wrong about the mentally taxing bit because you’re comparing Apples and Oranges. Most doctors are not spending solid 4hr blocks in flow focusing on a highly complex problem (surgeons being the obvious exception) but instead dealing with a sort of multi-tasking complexity which is a completely different type of mental taxation.
> Most doctors are not spending solid 4hr blocks in flow focusing on a highly complex problem
I'm sorry but this is exactly what I meant by my original post. You don't realize that 4hr blocks in flow is an enviable luxury.
Granted my time was in a high acuity setting but let me cast it in more relatable terms.
Software 1 is brought to you with a complaint of the billing system dropping occasional transactions over the last 4 months. Now it is dropping 1 in 100 transactions. They use the Stripe API. It's your job in the next 15 minutes to debug and determine if there will be a complete service outage occurring within the next couple hours. If there will be an outage, you are expected to push a temporary fix to prod immediately and refer for continued review. If not, you must determine which parts of the billing system require referral for revision. Mind you that every decision you make can be reviewed years after the fact and can be litigated as they please.
Your assistsnt comes over with softwares 2 through 5 that were just submitted for your review. Software 2 has issues with a simple deadlock that could have been handled by someone other than you, but now it's your problem to deal with. Software 5 has been inexplicably ported from Delphi to Angular, and they've seen 2 others before you about why some of their native functionality broke, but now it's a big problem and they need you to look at it. There were some patches made by other devs but the stakeholders don't have access to them right now.
As you are looking into software 4,the assistant tells you "Dr zenzero, devops is on line 1 for you". They tell you that software 1 has more problems than described and it looks like it needs to be refactored in multiple areas. Software 3 keeps complaining to your assistant that you're ignoring them.
So no,
"Most doctors are not spending solid 4hr blocks in flow focusing on a highly complex problem"
because they don't get that luxury.
I mean, most doctors are spending their entire shifts trying not to inadvertently kill or disable anyone. Yeah that's a completely different type of mental taxation - one far worse IMO than any highly complex problem I've ever encountered in software engineering (and quite frankly, the problems aren't that complex most of the time. If anything, personally the SE stuff that's actually hard is fun and the rest is rather mind-numbing).
What are your goals with this comment? What, do you estimate, has been your outcome?
If you want to bring medical profession stressors to light, go right ahead. This is an article about a real phenomenon. Not every complaint must be universal or superordinate.
You don't sound "insensitive," you sound juvenile. If your profession is harmful to practitioners, perhaps attempt to cultivate solidarity instead of actively working to demolish it?
As someone who's familiar with artisanal cobalt mining in the DRC, I can attest that medical practitioners have it good, but I won't because that would be unconstructive in a conversation about the latter's working conditions. Grow up.
> While it may sound insensitive, software engineering is nowhere near as complex or stressful as many (but not all) medical roles. It is both mentally and physically less taxing
As much as I respect your personal experience, I think you make a mistake in assuming that it is universal. Further, you are also making the mistake of invalidating other people's individual experiences based on your perception of what the average worker does.
In other words, it is trivially easy to find software engineers who are burnt out to a much nicer crisp than the average doctor, and your dismissal of their suffering won't change a thing for them.
This isn't a contest to see which profession is most toxic to its workers. Our aim should be to find ways to prevent and mitigate these situations.
I hear what you're saying, but I don't feel I said it was universal in the sense that you're describing it. On the whole I would rate the average software engineer as having a less stressful life than the average doctor. I acknowledge that there are outliers and individual experiences that go against the average.
That said, I would argue that you underestimate the number of people in medicine who are burnt out. Many of my colleagues stay because it is a sunk cost financially/time-wise/reputatationally. You can pull up the numerous studies on burnout rates that have been done.
I'd anything it affirms my statement that you don't realize how much worse it could be. Like I said, there's a difference between taking down prod for 6 hours and getting sued for accusations that you killed a living being. This isn't intended to be a competition but it does become a bit absurd to watch people in the software world act like burnout from a micromanaging PM, unrealistic stakeholders, etc is the pinnacle of human suffering.
So… in conclusion, it could be worse. That’s some valuable insight. Obviously somebody out there always has it worse. How can doctors even complain when there exist 3rd world subsistence farmers?
>>> I can attest that software engineers have it very very good
> On the whole I would rate the average software engineer as having a less stressful life than the average doctor
Those are very different statements, and I don't even disagree with the second.
Consider the possibility that the software engineers complaining the most about burnout are likely not experiencing the average amount of stress, so your casual dismissal of their suffering is really rather misplaced. Just as an example, a coworker of mine committed suicide, leaving behind his wife and two kids under ten. He didn't have it very very good.
They weren't disagreeing, they were minimizing other people's suffering and one-upping them. It's not a friendly thing to do and doesn't lead to an open curious conversation.
> I'm not terribly convinced that software engineering is harder on someone mental health than being a ... lawyer ... is.
I am.
I worked alongside lawyers for almost a decade, providing them with non-engineering professional services. I also have a couple decades of experience in software engineering and startups.
The pressure in software engineering is something entirely different, and far worse, than what I experienced in the legal environment.
By and large lawyers are lawyers, not managers. Yes, there's a hierarchy of junior associate to senior-most partner but it's lawyers all the way up and down the chain. You don't have lawyers working under managers. And there's something about this that makes the pressures different. Pressures are there, hours are long, spouses are unhappy because the lawyers are always at work or distracted at home... but I never had anxiety attacks or mental health issues working in the legal environment whereas in the software and startup environments I did.
In legal, everyone knows the drill and you do the drill. And your superiors have done the drill.
In software, you often don't know drill. You just grind, often to satisfy someone who hasn't done the grind themselves. A company I once worked for – a successful public company – has constant openings for senior software engineers for this very reason.
I think the reason it it wears away at your value structure. You have to "sell" your mind (thus polluting your non-work day thinking) to a system that feels "wrong"
For lawyers, it's a clear meritocracy based on how much you can bleed. For doctors, a kind of "virtue" in the work that cancels out some of the stress/BS. For software, it can be like temporarily joining the popular circus that's in town (similar to a lot of meme crypto companies)
Many people don't know that they can tell their manager they will be out for health/medical reasons and do not have to provide any additional information (i.e. flu, back issues, mental wellness, etc...) . It would benefit a lot of people if they were taught basic laws related to employment while they are in school.
> Many people don't know that they can tell their manager they will be out for health/medical reasons and do not have to provide any additional information.
We had an employee that used this technique. Too often. When the company needed to lay off people to cut costs, their name got on the layoff list before anybody else's.
Businesses are not charities. They need to make money. And if an employee is not pulling their weight, sooner or later they will be let go. Using the law to extend your stay can only go so far.
> I'm not terribly convinced that software engineering is harder on someone mental health than being a doctor, lawyer, sales, engineer, professional athlete, teacher, or any other white collar profession is.
Who claimed it was?
Why does that even matter?
Whether you stepped in shit or are knee deep in shit, you're still in shit. Instead of having competitions about who is covered in more shit, why don't we help clean each other off? Stop comparing, we're not in a situation we need to triage. You are allowed to be sympathetic or empathetic to others, even if on average they have it better off than you. We're all humans. We benefit by coming together.
I agree and maybe I even take it further. I don't see any need to give a reason or justification. OOO or on vacation is all I say. I'm not a child or asking for permission.
I go back and forth on this; on the one hand, yes, I don't owe my team an explanation about why I'm taking STO. On the other, me making it clear that I'm taking a mental health day may encourage another engineer (possibly a more junior one) to do the same if need be: emphasizing that mental health is a facet of overall health.
The last 3 companies I’ve worked at over the last few years have all had “mental health days” in one form or another as a separate offering to sicks days. It’s very common, at least in the UK.
A lot of the comments here seem to use the term mental health days without irony quotes. A mental health day is not a psychological crisis. It is a plea for a timeout from the workaday grind.
I didn't end up getting the job there but I assume it's use it or lose it. It's basically an extra 12 days of paid holiday a year which is quite significant.
That’s right, because the minute you say you’re taking it for mental health, you get managed out. I’ve personally seen it happen at one of the major food delivery startup, at one of the big social media companies and at Amazon.
The steps are the same. First they pile on more work on you, then gaslight you in believing your workload is the same as a junior employee and/or is subpar, then take you on a journey of “helping” you improve, document every small thing as a major flaw and then get you in that meeting with the HR.
This is very different than my experience at another FAANG. One of my reports was able to take a multi-week mental health leave and return without any negative impact on performance rating or career. Of course, mileage probably varies from manager to manager and org to org.
That's been closer to my experience as well. Hiring folks is hard. Hiring good folks is very hard. If you're working with someone who has demonstrated good work before, but are currently not performing due to life circumstances it's often still much more cost effective to try to work with that person to get them back on track than just firing them and moving on. Most places I've worked at would make several attempts to help an employee get back to a better place before moving to release them because they acknowledge it's faster and cheaper than replacing someone.
Most places I've been at will suffer with known weak developers for a long time because a weak developer with domain knowledge is still more productive than many new developers without it and there's always the risk the new hire will turn out to be a dud as well.
If anything Engineers would get the least pushback to taking a mental health day of those careers.
Our skillset becomes so uniquely tied to the company we work at that replacing a veteran engineer would take more than a year minimum. The differences between operations at two hospitals is probably minuscule compared to two tech companies.
It also feels like managers have received training in "burnout" so the few times I have uttered those words usually leads to some temporary white glove treatment.
> Our skillset becomes so uniquely tied to the company we work at that replacing a veteran engineer would take more than a year minimum. The differences between operations at two hospitals is probably minuscule compared to two tech companies.
Companies/managers have gotten alot smarter about this. The strategy is to hire enough and be managed to a degree such that the operation of any single system is never left leave to any single engineer.
So if your company is smart, yes you are replaceable.
There's strategy and there's reality though. They got other people to "operate" the thing, but "operate as well" is sometimes a pipe dream, which erodes the meaning of "replaceable".
I mean keep in mind, stupid companies also exist (I'd argue they're the norm actually - you can have a company with nothing but smart people, but it's a Chinese room - the company itself can be an idiot). That's the problem with stupidity in general: it doesn't know it's stupid.
It's a corollary of "the market can remain irrational longer then you can remain solvent".
> The strategy is to hire enough and be managed to a degree such that the operation of any single system is never left leave to any single engineer.
In code the equivalent of this is having some bloated thing that's been touched by one too many shitty people who are only willing to learn just enough to mark their tickets done. That code turns into a ball and chain that no one wants to work on. Turnover becomes normalized
One of the reasons why most important stuff happens in open source
> >You cannot take a sick day by telling your team, “I have mental issues and need a day off.”
> This hurt me to read on behalf of the OP.
> I'm now 20 years into my career and never once have I come across this attitude. People take sick days all the time for mental health. I feel terribly for this person that they felt like they couldn't but this is far and away the exception rather than the rule.
> Has any company come out against mental health in the past 20 years?
I'd say this is a cultural thing. For example, I have never heard of anyone taking a mental health day off. You just take vacation time and hope you come back normal.
Technically, you can take a sick day and the employer doesn't need a reason but if you work in an office environment, especially a small one, everyone knows everything. People know when you're sick and wonder if you're okay. They care and they ask.
Honestly, I didn't realize until I was 2 or 3 years into my job that I was 'allowed' to take a sick day if I was going to spend it all miserable or even crying (I had a coworker who was a bully).
Nobody ever actually came out and so, but I realize now that it was pretty common.
I've had some bad patches but I don't think they were unique to my profession. Sometimes it was my boss. The tech landscape in the late '90s at Internet hyper-growth companies, when I started, is way different than it is now--I, like you, would be pretty surprised by any company taking an explicit stance against "mental health". But I'm also different now--I've had enough experience to be both in a different place in my career and to know what is or isn't a good fit for me in terms of work style.
My experience, your experience, Vadim's experience--interesting as anecdotes but none of it tells us anything about the "profession" without numbers.
So my intuition is that Vadim overstates the case as a whole, but it's still interesting as an anecdote because what I think he's feeling is pretty common and it's interesting enough to read what worked for him and what advice he has for someone who feels like that.
I do think that in reality it's rare for an engineering leader to take "mental health" days off but all of my engineering leaders have taken plenty of time off and encouraged others to do the same. I haven't worked at a death march cadence in probably almost a decade (and I quit that job pretty quickly when it started). I don't think your experience is homogeneously true, I think people are pretty reticent to take time off (it's why "unlimited PTO" even works in practice) and it's probably worth it to continue asking why.
> Has any company come out against mental health in the past 20 years?
Sorry but this is really naive. They won't come out and say it explicitly, because they can't, but many companies will just find a way to quietly replace you or hold you back in the organization if you are public about any mental issues.
>I'm now 20 years into my career and never once have I come across this attitude. People take sick days all the time for mental health. I feel terribly for this person that they felt like they couldn't but this is far and away the exception rather than the rule.
>Has any company come out against mental health in the past 20 years?
> I'm not terribly convinced that software engineering is harder
I don't think it really matters what jobs are "harder". Nothing in the article is making the claim this is unique (or for that matter universal). The author's experience was in engineering management, and that's what they're writing about.
It's relevant to our industry insofar as it's reflective of an experience in the industry. I'm personally a bit cautious around claims of what is harder or easier because they tend to be pointless comparisons mostly used to dismiss valid criticism with whataboutism.
> I'm now 20 years into my career and never once have I come across this attitude. People take sick days all the time for mental health. I feel terribly for this person that they felt like they couldn't but this is far and away the exception rather than the rule.
I have definitely worked at organizations with a tech-bro startup culture where working non-stop (and drinking heavily) were idolized and anyone talking about mental health would have likely gotten a "man up"-esque speech (regardless of their gender, though shockingly these companies are mostly men). I have also worked at places where mental health was nominally respected but, like anything else, substantially more leeway was given to people perceived as high performers. I'm glad you haven't had to encounter anything like that, but I wouldn't even call it uncommon, nonetheless exceptional.
Doctor, lawyer, and athlete are "jock" professions, while software engineering is very much a "nerd" profession. These words represent status and general level of attractiveness and therefore access to attention and sex.
Doctors, lawyers, teachers, and professional athletes all experience social reward and/or social contexts to their work. Software engineering is interfacing with an unthinking, unfeeling machine for many hours a day.
Furthermore, the whole point of the vast majority of software engineering is to sell loot boxes to kids to increase shareholder wealth for a pittance of the wealth created (or something not too different from that for at least 60% of companies). How many mainstream software companies are contributing to building a society that you yourself would like to live in?
To put it bluntly, many bad parents abandoned their kids to the internet where they found solace. Software engineering is a natural extension of spending too much time using the internet and becoming curious how it works.
Poor mental health is a function of unmet needs... not feeling attractive, not feeling like you are contributing to the world or society at large, not getting laid, not feeling loved, not feeling worthy of love. All of these represent unmet needs, and I think software engineers struggle with these things more than a significant number of other professions because they are frequently intrinsic to why people become software engineers in the first place, machines don't care how socially inept you are, patients, clients, and judges do.
It's weird, I've harped on a few of these points in conversations with others (usually when talking about "sexy careers", and why people don't hold coders in the same regard as doctors) but your words made me realize why I'm trying to become a developer. The dealing with the machine rather than people is something I'm willing to run with more than anything, right now. Not wholly a function of unmet needs, but addressing a specific change I'd like to make.
The dealing with the machine rather than people is something I'm willing to run with more than anything, right now.
Software engineering is an incredibly people-focused career. You will need to be able to work with other devs, stakeholders, support, users.. everyone really. Going into a tech career thinking that it's somewhere you can avoid people is never going to work out well.
I don't exactly think that. It's more like I would like to transpose more of my energy into fighting with a machine, and less into people, because my job is 90/10 dealing with execs and their bespoke, unmanageable concerns right now vs making something happen with technology. Could be a grass is greener thing. Maybe to current devs this comment looks crazy, I really wouldn't know yet.
I enjoy working with people, actually. My current role is rapidly changing that.
This has not been my experience at all. I do see this in the management layers, even with team leads, but the typical IC engineer does NOT spend any significant time talking with stakeholders, support, or users. They do have to work with other devs, but even that is frequently over chat, and not as much in-person, though it depends on the particular people and the company culture.
Yes, you really can go into a tech career and avoid talking to people much, much more than other careers. Just stay out of management if you don't like talking to people.
Are these the engineers who exert no control over their environments and just sit back and bitterly complain while taking no steps to resolve the issues? Those engineers who complain about "stupid management decisions" yet have made no real effort to influence the people and processes which led to those decisions? Sure. You can be a developer and avoid talking to humans as much as possible. You're just not going to be as effective or impactful as someone who does navigate those people problems. The technology is the easy part. How effectively companies navigate human problems makes a huge difference in how effectively they can implement technology solutions and engineers who can help solve those problems are invaluable.
Maybe you worked in some small companies or something where ICs can actually talk to customers, but when you're working in a 100,000 person company, that simply isn't something you do. If you go over your managers' head, they tend to get very angry, and that's just within the company, to say nothing about unsolicited contacts with customers from someone in a position that isn't customer-facing.
I'm currently working for a company which has over 350k employees. My previous company had over 100k. The company before that had over 220k employees. Literally every single one of them is starved of engineers who give enough fucks to speak up.
They are not starved of engineers who "give enough fucks to speak up", they are starved of management who are invested and take enough responsibility to solicit direct feedback from the "assembly line" engineers and then make short term concessions on behalf of long term interests in defiance of what shareholders prefer.
Here is a quote from (imho) one of the top 5 greatest engineers of the 20th century, if not the number 1 greatest engineering leader:
> A major flaw in our system of government, and even in industry, is the latitude allowed to do less than is necessary. Too often officials are willing to accept and adapt to situations they know to be wrong. The tendency is to downplay problems instead of actively trying to correct them. Recognizing this, many subordinates give up, contain their views within themselves, and wait for others to take action. When this happens, the manager is deprived of the experience and ideas of subordinates who generally are more knowledgeable than he in their particular areas.
The only result of fighting the incentive structure put in place by management (far too often: punishment for pushed deadlines, reward for cutting corners) as an engineer is mental illness.
The least effective ICs I ever ran into were those who brooded in front of their PC without communicating adequately with others. As a result, they didn't understand the requirements, built stuff that didn't meet the team's needs, and generally wasted a ton of time on stuff that needed to be redone.
This is true, but I only learnt about it after many years into this career, and to be honest I don't enjoy it very much. I still enjoy working with machines more than people.
The words are shortcuts for larger more complex ideas about primary motivations and goals. Reward structures learned as children and maturing young adults are definitely going to influence, subconsciously or consciously, adult behavior and understandings about how the world works.
I don't think goals and motivations are a monolith just for people who like computers, or STEM, or who socialize less in high school because 'they didn't want to play the popularity game'. this worldview is reductive, and wholly unaware how growing up is different for everybody. Just be aware before you judge people.
Did you read more than the first sentence of this comment before replying? I'm up in the air on it but it deserves more discussion and less mental laziness than you're showing here.
Well said. I mean, I'd like to see a graph of "wizard" rate per profession, maybe even per country for curiosity matters. I'd bet my arm that programmers have it pretty bad on that front.
> Doctor, lawyer, and athlete are "jock" professions, while software engineering is very much a "nerd" profession. These words represent status and general level of attractiveness and therefore access to attention and sex.
This is just your perspective and, IMO, it's pretty warped. Software engineering is not a low-status position, even compared to doctors and lawyers. You aren't lacking in status or not having sex because you're a software engineer getting paid $200k/year instead of a doctor paid $200k/year.
> Furthermore, the whole point of the vast majority of software engineering is to sell loot boxes to kids to increase shareholder wealth for a pittance of the wealth created (or something not too different from that for at least 60% of companies).
Lawyers have to defend clients they know are guilty to help rapists and murderers walk free, and file IP lawsuits for patents they know are bullshit so that their client can siphon off a settlement from a large company, just because it's cheaper than a court battle. Lawyers have been widely (and unfairly!) regarded as one of the most despised professions since Shakespeare.[0] Professional atheletes have long been subject of the media debate over being paid "too much" compared to the value they bring to society. Even if they were broadly perceived as providing negative value to society, which I don't believe, software developers would not be unique.
> To put it bluntly, many bad parents abandoned their kids to the internet where they found solace. Software engineering is a natural extension of spending too much time using the internet and becoming curious how it works.
This is becoming less and less true. Many junior devs who were born post-2000 that I talk to never had a computer growing up other than their phone, and their first real experience with PCs came in high school and university.
> Software engineering is not a low-status position
Pay is not status. Software currently pays quite well, but in most companies today a developer is at the very bottom of the status curve. Developers are no longer allowed any say in what to build or how to build it, they are micromanaged by product managers and program managers and team managers and required to give daily status reports ("agile").
(I say "used to" because in the 90s developers were a high status role. You got to make all decisions and execute on them with great independence. Pay was much lower but respect was much higher.)
The other stress factor is that developers get decreasing respect every year they age. This is in contrast with basically every other professional role where experience is highly valued. Nobody wants the rookie heart surgeon, everyone wants the 60 year old who has done it thousands of times. But nobody wants a 60 year old software engineer.
>Developers are no longer allowed any say in what to build or how to build it, they are micromanaged by product managers and program managers and team managers and required to give daily status reports ("agile").
I don't see how this is a bad thing, for a large and complicated product. For a small company where a team of 5 people can do the whole thing, sure, you don't need all this management, though I think some parts of the Agile methodology can be useful just for keeping people in sync. I worked in a small-ish team a while ago using an Agile methodology and it was fine: the program manager basically told us the feedback from the customer, and then it was up to us to decide what features to make to keep the customer happy and how to do it and how to schedule it. The Agile methodology just forced us to have regular meetings, and made it easy for the outside stakeholders to keep tabs on us and attend our meetings when necessary. Having daily habits in your life isn't a bad thing for many people, and that's basically what Agile was, in my experience: a way of having habits.
>Pay was much lower but respect was much higher.
No, it really wasn't. Maybe within the profession, but not to society at-large. Developers back then had little respect, until they started making lots of money in the dot-com boom, then people starting respecting the profession a bit more. Software development has never gotten the respect that doctors and lawyers get.
>Nobody wants the rookie heart surgeon, everyone wants the 60 year old who has done it thousands of times.
This might have some truth, but it's a bad view: generally, older surgeons prefer to use older surgical techniques that they learned decades ago, since they weren't trained on the newest techniques. The newer techniques generally are much less invasive and have faster recovery times. It's better to go with younger surgeons who have more modern training, but still some experience (i.e., not fresh out).
> Pay is not status. Software currently pays quite well, but in most companies today a developer is at the very bottom of the status curve.
This is your own perspective, and again, it's extremely warped. If you think developers are at the very bottom of the status curve, go sign up to be your company's janitor, receptionist, HR/"talent acquisition", junior accountant, or any "operations"/"administration" role. Someone's gotta order and restock all the free beer and snacks in your office, you know.
And other than the janitor, those positions are all still likely 9-5 salaried positions that pay decently. Go be a retail worker, hotel staff, or waiter/waitress and enjoy being shit on by both your manager and your customers all day. Then come back and talk about how being a software dev is low status.
You are woefully misinformed if you think that doctors have a significant say in their day to day work.
My sister is in medicine. Her entire day, down to each 30 minute block, is prescheduled for her. Often, she is forced to see multiple patients at once to increase revenues. The services that she is allowed to provide are governed by a completely separate insurance company. Strict metrics are tracked about the outcomes of each visit, including things like "how often did you see somebody for 35 minutes because that way you could charge for a full hour but spend less of your time."
This is far worse than anything I have ever experienced in software regarding tickets coming down from PMs or tracking of the amount of code committed in a week.
> This is just your perspective and, IMO, it's pretty warped. Software engineering is not a low-status position, even compared to doctors and lawyers. You aren't lacking in status or not having sex because you're a software engineer getting paid $200k/year instead of a doctor paid $200k/year.
I find that it definitely points to a time period when someone entered maybe not workforce, but the "IT world" let's say.
There was a time when programming in many places had definitely "unsexy" vibe among general population, with a lot of, well, painful "jokes", and all of that definitely set a "theme".
fast forward a decade or so to 2010 and suddenly IT is no longer that place where only losers go.
As it turns out, the massive money generated by software produces quite a lot of status.
But the IT world is meaningfully different from software engineering. IT infrastructure (as distinct from creating software) pays less, generally, and is also regarded as much lower-status. IT is like auto mechanics to software engineering's automobile design. It's the blue collar equivalent, especially at the low level. At the high level, as far as I understand, it morphs with "cloud-engineering" or just general management and becomes higher-status.
Unfortunately, I think this comes from how the entrance into IT is gated by working on low-level ("have you tried turning it off and on again?") problems, and putting slightly awkward, new-to-the-workforce nerds in a position where they need to help a lot of people with their computer problems. Many of whom are (understandably!) frustrated that their computer systems aren't working and/or don't totally understand why they won't work. So IT gets to see people at their worst and most frustrated, and people get to see IT at its most awkward and least experienced. So hostility forms on both sides. And first impressions sometimes last very long.
The massive amounts of money is, largely, a post-2010 thing too.
Before that, some hugely successful people in software outside of "nerd"
circles were discussed often in terms disconnected with tech and more as just other (if wildly successful, like Bill Gates) business people.
It’s not “you’re a loser”. It’s “you make a lot of money while ruining the world for everyone else.” Look at the jokes about Zuckerberg imitating a human.
He’s obviously one of the most powerful people in the world. But looked down upon by creating a socially harmful product. Like cigarette company or oil company CEOs.
Software developers usually have managers of various sorts of supervisors.
This is classical division of worker / manager in the Taylorist sense, as in the managers are mostly not developers themselves.
This is what makes software developers a low status profession, i.e. many developers are glorified assembly line workers with little agency over their work (they do not make decisions).
Doctors and lawyers might have some form of management layer, but this is mostly a support function.
We used to call these “duvet days”. Sometimes you just don’t want to get out of bed. If you’re not feeling well (mentally or physically) take the day off and get better.
I used to be in (moderate) awe of young college drop-out CEOs. Then I worked for a couple of them. Now I refuse to work for startups that have 20-somethings at the top, because they really do not know how to manage or lead. They are motivated by fear of failure and having accomplished nothing so far they treat others like garbage. Avoid.
The phenomenon of showing up at Stanford and telling some 21-year-old that he's Jesus Christ and that you're going to give him millions of dollars is a wen on the American business culture matched only by corporate raiding.
It's the nerd version of college football/basketball recruiting.
In some ways it is similar to buying lottery tickets which a fairly large number of people indulge in. Though, in this case, there are modifiers to the base probability due to insider knowledge, knowing which fool to offload crap to before it implodes, and piling on the same startup because others are doing as well.
It's so weird. I started to think that maybe this is intentional. It looks as though investors want to invest only in over-optimistic people who believe that we're living in some kind of utopian paradise; at the same time they avoid investing in anyone who has had so much of a faint whiff of how the sausage gets made.
It's like the entire system is desperate to keep optimists optimistic and pessimists pessimistic.
Why is it that investors actively seek out starry-eyed individuals?
It sounds like an economic bubble factory. If every new person who joins elite circles is optimistic to a delusional level, then that level of optimism may be contagious and propagate delusional beliefs among the elite.
There are people in the tech sector who were very successful decades ago and are now in their 40s and still haven't come out of their highs. They have the same worldview as I had when I was 15.
I think it's because you need a figure-head that truly has zero doubt that what they are doing is the best and most correct thing. Because it has to sell, and it can't sound like a car-salesman pitch.
It might not be in the best interest of the company, it just needs to be a hype train long enough for the VC to get theirs. The Greater Fool meets real life. The VC doesn't care one way or another if the founder benefits in the end, as long as it doesn't affect their ability to make their next play.
Using smart children who have degrees from reputable institutions like Stanford is a value signal that VC uses to get more people involved with their plays. It's borrowing legitimacy and adding to the Jobsian mythology of the company, while also getting someone who has no idea what they're doing into a position where they will listen to a board who will tell them what to do.
I think it's just that privileged 20-year olds are the best material with which elites can build the next generation to replace themselves and thus the system in which they are embedded. Young Ivy Leaguers are also the basic building material of traditional business' executive corps, the CIA, the FBI, the military officer Corp, McKensie, and so on. In past centuries, these kids would be sent to manage imperial affairs in the Raj or something.
There are good reasons for this: their parents were last season's elites and want to pass it on, their classmates will likely be good contacts in other elite institutions, and they've already been trained to please establishment figures enthusiastically (or they wouldn't be Stanford wiz kids).
Not to sound like a crank, but information technology is now (and, really, has been since it's inception) an important theater in the class war, and elites are recruiting for it the same way they always have.
Not investors: venture capital investors in tech. It's a particular kind of investment in a particular industry.
Tech VC's are in the business of selling business futures, not building mature businesses. The buyer they sell to can install a practical CEO and worry about actual operations when that time comes.
In the meantime, enthusiastic kids provide a relatively cheap, manipulable, supply of powerpoints and pizazz -- whereas sober, mature professionals often need more personal income and tend to focus more on executing the business that they have experience in (mostly irrelevant to the VC's own business) instead of matching the investment pitch for upcoming rounds (all that matters).
The VC investors don't need a startup that accurately predicts its odds, because most startups fail. So what they need are starry-eyed kids who have a distorted view of their chances of success, and in the small chance that they actually succeed beyond anyone else's wildest dreams (but within expectation of the distorted perspective -- which is the only way you can continue executing without being overwhelmed), the VC reaps the profits.
> they avoid investing in anyone who has had so much of a faint whiff of how the sausage gets made.
Not actually the case. The average Silicon Valley founder is in their 40s. It’s just the young ones that get all the press (because they need it).
Why is it that investors actively seek out starry-eyed individuals?
> Apart from the fact that pessimists are not founding companies, the answer is: narrative. There’s a ready-made place in our society for the hero’s story - the lone individual who (like ourselves) is special and has a unique vision. We have multiple millennia-old religions based off this same narrative. It works. It gets press, it gets followers. Humans naturally take any boring story and fashion it into this shape if they can. It takes the large, confusing, abstract or confusing and makes it personal.
All it really takes to be "an investor" is to have money or be able to get money. There is no prerequisite of intelligence, business sense, product taste, operations wisdom, or sound judgment. Although they all seem to act as if they magically have these, as if the Investor title suddenly imbued them with these traits.
The only thing stopping me from being an angel investor is that I don't have $1M burning a hole in my pocket. But if I did, suddenly I could sit down in a conference room, put a polo shirt on, dangle the money from a fishhook, and people would take what I said about their business idea seriously. It's such a joke.
I mean, VC exists because they need to diversify their investments and literally can't find anywhere to put their money? I got the impression from the outside that VC money is just gambling on March Madness for the elite.
I see Welchism (I assume we're talking about Jack of GE) as the opposite of lots of SV culture. They both suck, but for completely different reasons.
GE actually had real business units. Energy, aerospace, consumer, industrial, healthcare, you name it, they had a presence. Welch couldn't squeeze enough money to meet Wall Street's expectations out of these units, and didn't innovate when microcomputers were coming onto the scene in the 90s, so he cannibalized the company to boost share price at the expense of the business being able to continue long-term. Of course, he would be dead by then.
The guys in the valley are the opposite because many of them don't actually have a product, or even business, to sell - or they do, and the product itself is realizing it doesn't want to be sold. We've had social media and ad-based online services for 20+ years now and it's generally seen as a net negative for society. The subscription-based business model wouldn't work for most social media companies as it would limit the network effect and thus the TAM of the company's business. They're having to find more and more creative ways to monetize eyeballs when the eyeballs don't want to be monetized anymore.
Then you have the people who are swapping out their FLOSS licenses for proprietary ones on software offerings (looking at you Redis) because they realize if you just give stuff away for free, there is no monetization route, and dammit, they want - nay, deserve - their massive payday like the Steves and Bill and Larry got.
TL;DR Jack had a lot to sell at the expense of GE as a long-term going concern; SV has nothing to sell but wants to be a long-term going concern.
Yeah I do mean the same Jack Welch who looted GE and permanently sent American business culture into a seemingly unrecoverable decline. Maybe GE was just way too unfocused of a company to exist, but if you squint enough, you can see the trail of shit leading from his leadership at GE to places like Boeing and now Google, where employees are discarded even when you're making billions in profit every quarter and you have a near monopoly on your industry. Welch taught the American business elite to ride that horse hard until it collapses from exhaustion and you can move on to the next company to loot.
Are you serious? That culture is why America still has high innovation while other Western and "culturally Western" countries that do not are largely stagnant. I'm amazed at how often I see people (largely Americans I'm guessing) criticize the very things that make their country a world superpower.
I think there's too few 21 year olds being handed big investment dollars to form the majority of what causes "America to still have high innovation". The average age for founders starting successful businesses is somewhere between 35 - 45 years old: https://knowledge.wharton.upenn.edu/podcast/knowledge-at-wha...
I'm still waiting for the USA to "innovate" on a way for everyone to get health care, although sometimes I suspect the lack of a solution there and general lack of regulation at large is part of why American has such "high innovation".
We're pretty close. Obamacare covers a lot of people and employers are required to provide it if they have over 50 employees. Any hospital is required to treat anyone who comes in, regardless of ability to pay. It's sloppy and it's expensive if you don't qualify for ACA subsidies, but if you want healthcare/health insurance in the US, you can most likely get it if you try.
Conflating health insurance with health care is a common American mistake.
Having the ability to pay every month for health insurance doesn't do much to protect you from losing everything to health-related bills. Unless, of course, you are rich enough to afford the 'Cadillac' health plans.
America is basically a cut-throat place where unchecked capitalism runs amok and you can make a fortune if you're smart and/or lucky in business. Getting everyone healthcare isn't going to improve things for people who like things the way they are. It would be a boon for many small businesses, yes (imagine if independent restaurants didn't have to worry about employee health insurance because they had government insurance), but tech giant companies don't care about that because they can afford to basically be their own insurance company, which helps them prevent competition from small upstarts.
So yes, I agree the general lack of regulation is part of why America has "high innovation", but it comes at a great cost to society, and yields a highly stratified society with a lot of losers, and this causes society to be rather dangerous, with a lot of crime, homelessness, drug abuse, etc.
I suspect that there's no good reason that a 25 year-old can't be a great startup CEO.
I think one key tricky part is that -- even if the 25yo starts with being all-around smart, and unusually aware&humble, yet nevertheless tackling something big -- is that it's very hard to know when they should listen to team/advisors (and which), vs. when they should do a contrary thing that they think is the smart thing.
Maybe that's doable well enough, if they have all those good qualities, and happen to be exposed to a good team/advisors.
(Side note: It doesn't help that various facets of the fields are filled with bad practices/advice, as well as outright intentional deception and manipulation. If you read PG's essays early on, that was a time when you might expect a fellow techie and businessperson to have smart and well-intentioned advice, wanting you to succeed. That's absolutely not the norm anymore: you're much more likely to get bad advice today, no matter where you look, and more likely to encounter individuals and institutions trying to manipulate you. Even when you can filter that out first-hand, you're still getting a lot of it second-hand, through their influences on smart&decent people who you do let influence you.)
> I suspect that there's no good reason that a 25 year-old can't be a great startup CEO.
There's exactly one: Learning takes time.
The smartest, kindest, most level-headed 25 y/o is not going to be as good a leader as their 35 y/o self, assuming they continue to build on their leadership skills.
Now we could say, well, maybe those 25 year-old CEOs overwhelmingly exhibit degraded leadership skills by the time they're 35. That's a statistic that's possible. But I think it would point toward some seriously prevalent burnout, not an inherent benefit of being 25. It may be easier to be positive at 25, but I don't think the ceiling for positivity is higher at 25 than at 35.
There are too many good reasons that 25 year olds can't be a good startup CEO. One of them is complete lack of experience and almost complete lack of knowledge on how fatigue, stress, anxiety (or health issues in general) etc affect people. Because until 25 these doesn't even resigner on you or your body in most cases.
But yes, if you meant a "good" start CEO as in "good for the startup" then yeah I would say what you said is possible or likely.
Let me add: you never need to be in awe of someone who treats anyone else like garbage - whether they are 20 or 60. I’m just out an experience with a 49 year old founder/CEO. Will be looking for all signs of garbage in future opportunities.
Yeah, even some of the young middle managers really grinded my gears. Not even that young.
Late 20s early 30s anxiety ridden workaholics that make life miserable for everyone. They work their ass off to move up, then figure they'll get a team full of "thems".
Yeah no. You were promoted because the "thems" were wise enough, or otherwise unwilling to damage their health.
You're better and get more money power, congrats. Now lie in your bed that everyone else pulled the sheets off of and spilled crumbs.
And even then, how do you get valid data on that? My impression is that Amazon is not good to work for; no comment on Stripe, Facebook is good, but it's Facebook. Oracle is good if you want to rest and vest.
But how could we validate this assemblage of opinions about how they are to work at that I've gathered?
"An example of uncertainty in business is when your CEO tells you they promised a feature to your biggest client and it needs to be built ASAP as highest priority, so all hands on deck. Then a day later they tell you another feature, completely contradictory to the first one, needs to be built as well and is also highest priority. When you tell them they both can't be highest priority, the answer is: make it happen."
At a certain point you have to just build a queue and start the next highest priority thing next. Too much WIP kills you.
This is one of the reasons why kanban is my favorite project management methodology.
"Ah, new highest priority feature. Lets do a mini discovery session and it looks like this work can be represented with 20 sticky notes. Our historical team velocity is 10 sticky notes every two weeks. So we'll probably be done in four weeks. If we take down all the existing work in progress. Lets go to each existing sticky and you can confirm that we can stop working on it."
The stakeholders are still allowed to make decisions, but (hopefully) it forces them to be realistic and understand what they're asking the team to do.
Pivotal Tracker does something like this with release markers. You can set markers between any two stories and, optionally, set a date. Tracker does a very simple moving average projection and if the stories before the marker will take too long, it turns bright red.
I found it remarkably effective at getting business folks to actually prioritize. They don't believe you, but they'll believe the computer.
At one point many years ago I was Director of Engineering for a company that was planning a major new version of their product. After I'd been there a few weeks I said to the CEO that I thought I had a pretty good understanding of the scope and challenges for the new release.
The CEO said "no you don't" - which led me to ask why he thought this and he said he had thought up a new "must have" feature over the weekend - which was clearly very technically challenging. He then asserted that anything could be built in 48 hours....
Reminds me of my Director of Engineering gig where I was asked how quickly we could deliver a new feature that the CTO had thought of. After giving three different estimates on the spot and being told each was “unrealistic” and told to “try again” in a meeting with senior leadership present, I finally said “Just tell me what date you want to hear so we can pretend I said that.”
I was chastised for being unprofessional and embarrassing the department. Didn’t care then; no regrets now.
This was my last job, anyone in this position for any longer than necessary should be looking for another role. You're on a path to burnout or apathy, either way.
I called it "Monster of the Week", as I was watching a lot of X-Files at the time. Still like that term for it.
It site is an amazing and hilarious encapsulation of pretty much every conclusion I've come to after programming professionally for 20+ years (except maybe generics)
I remember, early in my career, being excitedly shown the "Agile Manifesto" by a bearded older dev.
I recently caught myself excitedly showing grugbrain to a younger dev, quoting the microservices section - and realized that I've come full circle, and now I'm the old bearded dev passing on some piece of thing that I found inspirational / exciting.
when mysterious packages (new sandals, new animal skins, etc.) keep arriving at cave door for mrs. grug, grug not save very many shiny rock.
also, wolves and sabretooth tigers get hungry, need grooming, need vet, etc. picky about food too, want expensive organic stuff. sometimes mrs. grug buy animal skins for wolves even though they have perfectly fine pelts of their own. and don't get grug started on lil' gruglets (which this grug not have).
then no pile of shiny rock for rainy day, when shiny rock stop coming and cave mortgage is due.
shiny rock very important. get as much shiny rock as can without compromising values. happy mrs. grug = happy grug.
Many people misunderstand this. Just saying 'no' and being firm won't make you successful, it's not a very useful. Saying 'no' while convincing others that 'no' is actually the best strategy is a great skill.
I have a feeling that the ability to say “no” may be one of the key abilities that good human developers have over coding AIs. Knowing how to figure out the actual business need and realistic technical solutions, as opposed to just saying “yes” to the initial request, without really understanding feasibility or the real requirements.
Worse is when it's a salesman, not the CEO. It's infuriating.
I always wanted to tell that salesman that he got to go back to the customer and tell them that we weren't going to do it, since he was the one who promised it without finding out whether and when we could do it.
Of course, I never had the clout to force that to happen...
Speculatively build a feature that you know a customer somewhere would want (but maybe not the customer you have now) and then demand he find someone to buy it within a month before the AWS bills for it are due.
It's always sales it seems. We're doing stuff under the gun right now because sales promised a huge new client we had something that wasn't ready yet. They didn't bother to ask us, they just promised so they could get their commission.
Good salesmen can sell the product that we already have. Terrible ones can't, and instead sell a product we don't have and then frantically beg R&D to make that product right away.
Agreed on this. And there's also great people in the middle who keep sales people up to date with new features and deprecations if you want the system to work.
That’s not an example of uncertainty in business, it’s an example of incompetence in leadership. The problem is not one of software engineering, it’s one of rampant bad management and business practices.
This is why good developers are hard to find. There aren't a whole lot of developers who have the required technical abilities while also being able to communicate with clients/leadership effectively.
The CEO is doing that because they don't understand how things work in your org. If you're the one communicating with the CEO, then its your job to be persuasive when telling them why what they're asking can't happen the way they're envisioning.
If they come back with "make it happen" then you weren't persuasive enough.
I think it is so important to be able to disconnect from whatever it is that we are doing, even for a very short period of time.
Go for a walk, brew a coffee or simply close your eyes and breathe.
Many times, stress is created artificially.
It hurts our performance and deteriorates our ability to think.
Encountered numerous situations where work was "urgent" and would likely land a contract or sales for the company, and everyone would be a superstar if they delivered this "crunch".
After 2 months of pulling all-nighters and sleeping for 3/4 hours, we deliver the project ahead of time. Apathy begins to set in after management/decision makers keep on giving these gifts we call "crunches".
To help the company and go the extra mile is something most of us have done in the past and will possibly do in the future. However, it's like the story of the boy who cried wolf, if everything is urgent and every task is to be done NOW, then there are bigger issues at play.
Like everything in life, there is usually a limit/budget of money, time and effort.
By abusing these limits and tolerances, people will lose respect for the people crying wolf and will put less effort into their work.
> Encountered numerous situations where work was "urgent" and would likely land a contract or sales for the company, and everyone would be a superstar if they delivered this "crunch".
> After 2 months of pulling all-nighters and sleeping for 3/4 hours, we deliver the project ahead of time
In my career, none of these have ever paid off. Every time I've crunched this way on something dramatically urgent like this, it has turned out that the "if we can deliver this, this huge moonshot sale is a sure thing" turns into a no-sale
The sales person never seems to get cut loose for diverting the entire R&D towards a longshot for months and burning people out, though
And you can bet the sales person isn't putting in weeks of overtime for the duration, either
I basically refuse to do overtime anymore unless I'm working extra to make up for my own screw up. I'm not putting in extra to hit some other assholes unrealistic deadlines ever again
Agreed. Even if by some miracle you do deliver, and are considered a superstar, then what? What do superstars get? Probably just even more crunch work, since you've proven you're willing to do it.
This reminds me of the scene in Schindler's List where the SS officer asks the enslaved factory worker to show him how fast he can assemble a particular component. The terrified worker races to assemble it in record time, anxious to please and impress the nazi -- who responds to the effect of: "if you can make them that fast, why is your daily quota so low?"
This was also a standard technique on American plantations, then adapted to the industrial economy in the form of Taylorist time-and-motion studies. If you trace modern management practice, it is basically a straight line back to chattel slavery.
The plantation thing was so horrible. They would track your personal best output, and every day you didn’t beat it you would get whipped based on how much you fell short. Of course this made you work faster, but it was like a game of 21 because you knew if you went over you would now have a higher quota to meet from then on.
You imagine that it will catapult you ahead in your career, your income will skyrocket, you will be respected and loved by your company and peers
But in reality no one really cares much, you'll get the same raise everyone else gets, your bonus is still gonna be capped by your contract, and you will be better off finding a new job if you want more money
Man sometimes I want out of tech so badly it hurts but I don't generally think it's better anywhere else
Absolutely 0 had ever paid off. Probably worst was trusting too much a colleague perceived by everybody as Oracle/plsql guru, when troubleshooting vendor's abysmal performance of DB queries during some bigger migration (up to half an hour easily, for trivial 30 million rows). He didn't see any issue on DB side, pointed to useless oracle hints, crappy JDBC drivers, spring's jdbc templates, possibly my not-optimal code etc.
I went over my head, did probably the most complex code in my life, massively parallel, over weekends and evenings. That wonderful cathedral didn't move performance a zilch, just made debugging and further changes much harder. After few hours of actual debugging afterwards he found out vendor defined responsible DB table in such an obscure and bad way way that we had to literally copy whole table to another more sane one, and perform all the work there in maybe 5% of the time. In fact I suggested exactly same thing initially but it was quickly dismissed by him, and who questions the guru, right.
This didn't even come from management just colleague's incompetence/ego, hard deadlines, tons of pressure to deliver, and starting project already 2 months late. Closest I've been to burnout yet. I am still a bit pissed off on him, but I know it was not malice so that eases emotions quite a bit.
And to similar request coming from the top - been there, done that too, regretted that time & energy put in it. These days, 8 hours days, if I am not making it on time, I communicate early & clearly and that's it. They handle it, and if they don't, well there is always next job. Life is about priorities.
This is the hardest lesson to learn. Sometimes you won't be afforded the ability to do it "right", either for the company or the product or the customer. Eventually, you'll decide to just show up and ask what is most important today and work on that. Then clock out completely when your work is done and go find meaning and personal satisfaction in your personal life. Go exercise or volunteer or get a hobby or be present for your family. The best way to have work/life balance is to separate them. This is also one of the reasons why I hate wfh. The drive to/from is a great separator and decompressor for me.
I think this is so hard to learn because it's counter to human nature, and only necessary due to the artificial conditions of the modern world. We're programmed to want to be useful to our tribe. But we don't live in tribes any more. Our brains get confused and burnt out because we perform and perform and perform, but we don't get love and status and security in return, we just get this abstract thing called money, which it doesn't really understand.
one of the big companies recently replaced "sick leave" (only you can be sick to avail this, not a family member you care for) with "wellbeing leave" (you dont feel up to a day at work, take the day off - no questions asked) and doubled them from 5 days a year to 10 days a year.
I am usually cynical about big corporates and their people policies, but this is one I can applaud.
5 vs 10 days is still ridiculous imho. I've just read an overview about the us system [0], and it does seem rather absurd, when you're looking at it from a German perspective.
I'm waiting patiently for the day when I encounter the first European on an American website who understands that Europe sees the American work standard as absurdly high, that on the other hand Americans see the European wealth standard as absurdly low, and uses this information to not derail working conditions discussions with suggestions that violate the premise of sacrificing a third of their income for the last deminishing returns of the European system [0].
I’m in Australia and get 10 days. However, at my company, I could use all 10 at once without having to see a doctor. Can you do that in your company in Germany?
In Europe, you don't generally get "sick days" - you're entitled to stay at home or in hospital for as long as it takes for you to get better (even for years, if necessary). In the meantime, your salary is paid by the state, so you're not an unproductive burden for your employer. At least that's how it works in Poland.
True, but that also means you cannot take a day off because you're not feeling it. You need at a doctor to attest that you're physically incapable of working. And in Germany, the employer has the right to demand a doctor's note from day one.
You can take a day off when you're not feeling it and don't want to go to the doctor, but it will be subtracted from your paid vacations. You can do that for up to four days a year. It's not that much different than the sick days in the US, which are often bundled together with vacation days into PTO (Paid Time Off).
Are you talking about Germany? Because if you want to take a vacation day, it is subject to approval by the employer. They can deny if they have a good reason. And in many cases, like in my case, a short term absence would ruin a customer project and would thus certainly not be approved.
I don't know about German law, I was talking about Poland. In Poland, the employer cannot refuse to give you a day off (even if your request it on the very day), four times a year.
In salaried (I don't recall the proper Polish term) jobs in Poland, I understand that employees must take at least two consecutive weeks off per year. This intel is about ten years out of date though, so don't know what the situation is now.
My understanding of Germany's rules is hat a policy about needing notes from day 1 has to be in the contract, otherwise the requirement kicks in on day 3 or 4 (I forget which). And the doctor's note doesn't have to claim that you're "physically" incapable - mental health problems also qualify.
Maybe where you work but I just straight up tell them I'm not coming in. If I said this to my lead or boss they'd ask me why the hell I'm not coming in.
I've come to believe that there's something about the practice of software development that causes, or can cause mental illness. I've seen a few colleagues over the decades have some very serious issues. It's really quite a serious problem in our industry, imho.
I think Software Engineering attracts neurodivergent people. I am an adhd software engineer, and know a disproportionate amount of adhd software engineers.
I think that level of executive dysfunction and “catchup” is problematic
I have a hypothesis about that, based on prior battles with depression. A characteristic of many people who struggle with depression is revisiting things over and over in your mind, looking for what is often a non-existent solution. This is a very, very useful trait in a software engineer. It helps us think of solutions to hard problems, to see options that are not initially obvious.
But it also enables mental illness when you encounter problems that cannot be solved that way -- for me, it was divorce. But life is full of intractable problems.
I was born in a tiny village in a poor country where local politicians literally banned wifi in schools because apparently "radiowaves cause autism and homosexuality". I'm not joking. This was the official governmental position. In 2017. You can imagine technical literacy of anyone I had contact with as a child, years before that.
Today I work as an engineer at a known American corporation, slowly but surely moving up the ladder. Not everything goes smoothly, but I earn more than the rest of my elementary school peers combined and my prospects are bright.
I do not wish upon anyone the amount I work I had to put into achieving this position. Looking back, I'm in awe how this was possible. I basically dedicated 100% of my life to one goal. It's not just about studying all day all night. It's about tuning your core emotional responses to motivate you to keep reaching higher and higher at all costs. I can confidently say that I was right on the edge of going insane, and the entire experience caused irreparable damage to my mental health. It's only now that I'm learning to slow down.
It's strange. On one hand I don't think I'd change anything. I'm proud of the path I took. On the other hand, if I had a child, I just couldn't send it the same route, knowing how much it hurts.
War, war never changes. Once you think about what we do as a form of combat, be it sparring in a classroom setting with kid gloves on or an all out bare knuckle street brawl, what we do is a form of grappling combat. You are right about dedicating 100% of your life to be where you are. In my experience in the industry there are two types of developers, those who do it as a job and those who live it as a life. No disrespect to those who are just there to take care of their family, but they are of a different breed. Programming is in a weird place where it's literally brand new in terms of the scale of human history and yet already "established" as an industry. Most of the engineers that I look up to and respect are the ones that will be coding from a wet cardboard box should it come to that, but darn it the code will be pushed to main no matter what.
That's not a healthy work life balance, that's not even a lifestyle, it's a deep core aspect of these people. The most effective engineers i know come from a military background, and not because the military somehow makes you a better coder, but because it can give you the attitude to persevere adapt and overcome intense mental and emotional challenges. Building products is great, I have nothing but love for those who sign off at 5pm - But every day including weekends the small group of so called "10x"ers are staying in touch long after the day is done and already done with the first round of work before the 8am standup.
It's not fair to ask those who just want to take care of their children to rise to meet this level of commitment, and the engineers doing this usually are working hard to establish their own products and startups but the true ultimate goal of that is to be paid to write whatever we want, and the money is the means to the end of writing more code.
Rest in peace to those who have not made it to their goals and no longer have the chance to try. Best wishes to those who want to have a home or family life yet compare themselves to those who have sacrificed everything for this life.
Why do they do it? Most often a deep sense of duty, or some deep sense of unease that the soft glow of the terminal evokes. Perhaps both.
All this to say that your pain and suffering is real and the true payout is just more pain and suffering. To those thinking about this life I recommend Musashi's Five Rings and to honor the Bushido.
> All this to say that your pain and suffering is real and the true payout is just more pain and suffering.
This is what I hate about modern workplace. The society clearly needs people who migrate databases at 3AM, but it never rewards them, instead just squeezes as much juice as possible before moving onto the next young motivated freshman. I'm not talking about financial reward, I'm talking about creating a work environment where migrating the fucking database FEELS rewarding. I truly miss the rush I had at the university when turning in a difficult project I had spent nights on. Instead I get to stare at a poster "remember that HR is there to protect the company from you, we pay you to shut up".
Nowadays I try giving as few fucks as possible, and I'm looking for happiness in other areas of my life, which isn't easy. I'd rather see my passion die than witness it being exploited by the very same people who make me feel misunderstood.
I am very much butthurt about how the society functions but I also realize I cannot do anything about it, so my next goal is to learn how to just relax, do nothing, and be happy about it.
+1 I spent most of my childhood and teenage years feeling depressed due to traumatic experiences. I failed at mostly everything until I started programming. I took some mushrooms last year that helped me stop this constant cycle of repeating thoughts.
It seems like there's an increasing degree of awareness (in some parts of the US) that psilocybin mushrooms can be transformative for treating PTSD and/or depression. I'm curious if you live in a US state, and what your experience was like....
Psychedelics force you to break out of mental loops, and give you a new way to look at things (one that is already possible and intrinsic to you, but locked away by bad experiences) -- meaning a new, better way to live and experience life is possible.
As someone who has used a lot of psychedelics, it is transformative, once you realize everything is literally all in your head. That no matter the pain and suffering you're going through, life can be beautiful, and lovely, and enjoyable. Psychedelics can even show you the things, issues, and parts of you that you've been running away from.
But then the onus is on you. You have three options: go back to your normal life, and continue going through the same cycle of suffering (uncommon); continue (ab)using psychedelics to reach the same state (common); or take what you've learned and start making changes to yourself and your life, so you don't have to use them again (rare).
Yes and to add to this, I think also the longer you stay in the industry, the more you realize that the industry itself has intractable problems (at least on the scale at which you can effect change). The tension is whether or not to accept those problems or leave the industry.
Unfortunately, I also think that many of the problems are both simultaneously solvable and intractable at the same time, which is particularly crazy making if one is so inclined.
Where else is that mental revisiting useful? I'm very much in love with someone who has that trait and is a successful software developer. They say they want to get out of the industry in a few years. I want to know other places they can work.
You need wins to feel good. Or, projects with finish lines. But many projects go on year after year with no finish lines, ever, unless you or the company runs out of juice, or you move to a different company to do the same thing. In web dev, launch day is the closest you get, but it’s not a real finish line. Hitting kpi targets sort of counts, but it’s not psychologically satisfying like finishing a table or a piece of pottery or harvesting a crop and selling it or serving it for dinner.
Only because programmers use up thier artistic juices at work. Plenty of my friends who are payroll or work in warehouses do not have any mental investment into work and use that energy outside of work to write, quilt, or do stimulating activities of thier own choice. For me after work I put on Judge Judy and let my brain rot
This is real thing I'm glad you've acknowledged as more than just a figment of my imagination. There are things I want to do outside of work programming that are there own level of mental taxing and/or creative...side projects, competitive Magic the Gathering...and I while usually find some juice to squeeze into these, I do agree that it seems like many other professions leave a lot more in the tank.
Indeed! Software development is both knowledge, and creative work, but the industry treats us like replaceable cogs in an assembly line, which is NOT knowledge or creative work. We even utilize work tracking systems made FOR assembly line work, like kanban.
We KNOW that using your brain like that leads to mental exhaustion, in exactly the same way we know a tradey kneeling while they do carpet all workweek will have fucked up knees in twenty years. We also have clear scientific study that you physically cannot do knowledge work effectively for 40 hours a week, and actually start LOSING productive knowledge work performance after about 36 hours a week.
The way that I describe it to people is imagine you really like Sudoku puzzles, but now you have been contracted to do the hardest possible Sudoku puzzles you are capable of for 40 hours a week. Sure monday might be a blast, but by thursday your brain HURTS, and is physically tired. The human brain chews through A LOT of energy, and puts out A LOT of metabolites while doing hard thinking stuff, like knowledge work. Then you take your weekend where you desperately try and catch up on the household stuff you've been putting off because you get off work and FEEL dumb, because your brain desperately wants to turn off, so you scramble to get some of it done, and then it's monday again.
Meanwhile, the whole time that you're struggling with using something that isn't meant to be used 8 straight hours a day (unlike our heart or leg muscles which ARE optimized around constant usage), you're basically being gaslit by the whole system. "This task is a medium" except it wasn't groomed properly and of course there's twice as much work, but you aren't allowed to modify the ticket or change how you are working on things because a guy who spends all day putting numbers into a premade Excel sheet tells you that your "predictability" is going down, or that your "throughput" is inconsistent, as if there even SHOULD be consistency in a software project that does very different things and systems in different stages of the project, and after you spent 16 years learning ironclad math rules and 4 years learning Computer Science at your school of choice, you go into the field, and find that ANY bug is possible in modern computing, and every bug WILL be insane and flow through thirteen different abstraction layers and whisper demonic thoughts into your ear and now you get fucking PTSD whenever your mom asks you "how could this bug happen in my iPhone" and you're like "hey man IDK probably the bluetooth stack corrupted the vibration motor controller and now your phone will play only country music whenever you get a text from your brother in law", or your main app crashes because there's a damn bug in uWSGI where if you use any other C based code, it will inevitably fucking SEGFAULT because uWSGI goes out of it's way to dealloc during shutdown and manages to dealloc things that don't belong to it and the group who builds uWSGI has ignored the bug for a decade, and nobody fucking gets it because in other knowledge based work fields, nobody scoffs when you say "no you cannot use chemistry to turn lead into gold", and you don't find that occasionally your simple adding NaOH to water actually results in an acidic solution somehow because a completely disconnected reaction happened in the other room where someone used the wrong brand of sulphuric acid in a reaction and now the entire lab is cursed...
Fuck I still have like 35 more years of this until I can retire and I'm borderline useless at anything else
This is how I feel. But I’ve had enough. I’m seriously considering leaving the field, it doesn’t bring me joy anymore.
I think there are blue collar jobs that aren’t too hard on your body that have some of the elements we enjoy in SE while having more concrete results (and a clear “it is done” point). I’m personally looking into HVAC installation and maintenance: some engineering, some tech (computers are everywhere), a shortage of qualified people and good long term trends, the option to run your own service business… it seems saner than wha lt SE has devolved into. But the grass is always greener so who knows.
The industry is fundamentally about converting conscious thought into capital as efficiently as possible. So that it's bad for your mind makes sense to me.
I think a lot of the stress comes from the responsibility for making something work while the definition of that something can radically change based on the whims, lack of foresight, or poor planning by one's coworkers.
Well after all it's mostly writing that we do. Go check how well-adjusted the other writers are. Especially the ones who spend much of their time writing stuff they know is worthless, because rent.
> there's something about the practice of software development that causes, or can cause mental illness.
I think i have figured this out :-) It is a combination of multiple factors; the major ones are listed below (note that the articles linked to are not specific to software developers but the factors in the studies can be extrapolated);
1) Biology - We Humans are evolved for Activity and Motion. Long periods of prolonged sitting (the norm in the software industry) and physical inactivity are injurious to both physical and mental health. There have been lots of studies validating this; here is one done during the covid-19 pandemic - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8190724/
2) Biology - Messing with our Circadian Rhythm ruins our health. We Humans are not evolved for staying indoors but need to be outdoors in direct sunlight at specific periods of time everyday. Most software folks hardly step out in the Sun during the day. The circadian clock is central to our physical/mental well being and needs to be respected. Here is Sachin Panda (one of the foremost experts on circadian rhythm) - https://www.youtube.com/watch?v=fciGNBN0nKM
3) Psychology - Software Development Management/Processes/Methodologies have devolved into stimulating "constant chronic stress" as opposed to "episodic acute stress". There have been many studies linking the former with depression/anxiety disorder/etc; here is one - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3380803/
4) Lifestyle - Junk food, Energy drinks/Caffeine, Alcohol, Lack of proper nutrition, Too many distractions/context-switching, Too much exposure to artificially lit screens, Lack of sleep etc. etc. Here is a relevant study - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10771855/
> Software Development Management/Processes/Methodologies have devolved into stimulating "constant chronic stress" as opposed to "episodic acute stress".
Yep, exactly this. It is not really the stress that I hate, but rather the fact that it never ends. A bit of stress is okay, if you can take a break afterwards and relax. But what follows after the end of a sprint is another sprint. That metaphor itself is insane... have you ever seen an actual sprinter start running a new sprint immediately after the end of a previous one?
While "Stress at Work" is inevitable; its frequency, duration and intensity have increased exponentially in the Software Development Industry. They have forgotten that we are "Biological Organisms" first (with all its natural limitations) and "Software Developers" last. Instead of devising systems/methodologies/processes for "Emotional Humans" everything is being tailored towards a "Rational Automaton" which is plainly wrong. In my own career starting from early 90's i have seen/studied how this change in environment has affected me personally for the worse (notwithstanding the effects of ageing) and am willing to bet that it is the case in general.
They say that pessimists see the world more accurately. And, I often think about how programming makes you see the world more accurately. Because, when you're programming, over and over and over again the computer tells you when your program doesn't work. No amount of wishing or insisting will change it. Yelling at your computer is unlikely to fix your program. People who work in other careers, like if they mainly deal with people, can more easily believe in wishful thinking and that everything will just work out because you want it to.
>This was my perfect storm in 2017 — I was trying to control all of the uncertainty around me: (...) Trying to control the looming unrealistic deadlines. Writing a lot of the code myself to ensure we uphold our promises to stakeholders and none of our developers burn out. Which led to me working more and sleeping less. Worrying about next month’s payroll and trying to control our runway. Maintaining developer velocity and tight budgets, juggling future growth and current issues. Trying to control our developer turnover and making sure our juniors grow. There were days I'd be coding non-stop or in a series of back-to-back meetings, forgetting meals, sleeping, and even what it felt like to relax.
Sounds like trying to cope at a shitty nightmare job at a shitty company, and blaming yourself.
This is a person that should have never been in a leadership position. I have worked under these types of people that were great engineers themselves but couldn’t lead worth shit.
No trust in the team. Always doing shit themselves. No discussion. Backdoor discussions. Always bending to the will of management. Everything is “important”/“critical”. It’s micromanaging to the worst degree.
At the same time, I would likely fail in the same way if given the position. Albeit, to a much lesser degree. I think management often puts us in these impossible positions without any good reason other than “to look good to X.” What’s even worse if it’s was just to earn fucking brownie points with some no name mid level director.
This is why I think unions in tech would be great. To set realistic expectations, approach management from a collective point of view.
Unfortunately companies today only aim to get that VC money with a quick exit and IPO. I think the general sentiment amongst the vultures is a union would make the quick exit less of a reality.
This happens all the time because management is viewed as a promotion so you reward your best developers by giving them a job where they might suck and/or hate it. I think there are 2 big levers you need to address it:
1. Dual career ladders. You should recognize/reward some level of technical role (i.e. staff or similar) the same as management. Every senior person is a leader; I argue ICs have a tougher job because they don't have the "because you report to me" hammer.
2. Lead mentorship program. Potential managers need experience; you need to coach and validate. They need a chance to manage a single person over time, do a performance review cycle, 1:1s, feedback conversations,etc. Co-ops/iterns are great for this because it's a fixed time period! You need 3 conditions to promote someone into management: 1. the need, 2. the individual's desire, 3. the individual's skills & experience. An LMP gives you signal on all.
I'll add 1(b): People need to be able to move laterally between ladders. This is in everyone's best interest; having an amazing staff dev muddling through as a team lead just means they're going to quit soon.
This is a REALLY LONG way of saying I agree with the parent, but the solution is both known and doable. I'll get down off my soapbox now.
Management of course thinks that management is promotion from non-management and they manage the promotions. They are managers because they are better. How would they otherwise rationalize their higher salaries and power over other people?
Don't say "the organization has just promoted". That's taking the face off of where the blame belongs.
Say, "the CEO". The same CEO who is trying to manage through deadline pressure, placed into leadership someone who could be managed through deadline pressure. And who would transmit that pressure down the chain.
Why? Because the CEO believed that this is how people should be managed. Which means that a leader who refused to accept that pressure would have almost certainly resulted in the CEO replacing said leader with someone who is more compliant.
And now that we're done placing blame in the right place, can we talk about the actual problem here? Which is that people really do wind up working under too much stress and pressure. And this comes with a huge and absolutely real cost.
Sure, the buck stops with the CEO. That said, if things are so dysfunctional that your only goal is to ascribe blame—which, incidentally, is a common behavior of bad managers—then you are already fucked.
High performing teams require trust. Workers need to trust that management has a sense of what's reasonable, not take estimates out of context and generally listen to the pain points/challenges on the ground. Upper management needs to trust that teams understand the vision enough to make the right tradeoff, not sandbag every estimate or fixate on the wrong details (because ground-level details matter, but some more than others from the business perspective).
I realize many people have spent their whole career in such adversarial circumstances between workers and management that the above sounds like a fairy tail. I will say though, that it is possible, but requires a healthy understanding of the limitations of human communication, and the recognition that good intent is necessary but not sufficient to avoid dysfunction. You need a critical mass of folks spread throughout the org, able to do the necessary bridge-building, and (at times) emotional labor to work through all the challenges and differences of opinion. It's very easy to describe a problem and solution from one person's perspective, but much harder to prioritize and solve the 10 most important problems out of a group of 100 people where viewpoints differ and cooperation is needed to improve anything.
I did not see the post itself as ascribing blame. The Head of IT here was very clear that he was hearing the messaging from the CEO, but the CEO was passing along pressure coming from the client. And clients learn to do this because the squeaky wheel gets the grease.
So lets not criticize for what did not actually happen.
Turning to management, your view on management reflects what works for tech. People who need to engage in complex thought will do their best work in an environment that reduces unnecessary pressure.
But not everyone does that kind of work. People in sales do better when they are pushed to meet a big audacious goal which is probably not realistic. Micromanagement is appropriate for people in a level 1 call center. And so on.
This means that a healthy organization should have multiple styles of management in play. And that means that it is important to have leaders in tech who can push back on the rest of the organization to enable the right style for software developers.
And now that we've talked about management a bit, mind talking about mental health? Because sure, bad management can cause mental health problems. But so can being a parent of children who are part of the current teen mental health crisis. So this issue is important, even if you fix management.
> Say, "the CEO". The same CEO who is trying to manage through deadline pressure,
I think this is a very broad principle that applies all over. For a very different example: I have seen police depts make dramatic turns - from pretty okay to dangerously awful to hugely better, entirely due to changes in sheriffs/chiefs.
Usual caveats apply. Bigger orgs take more time+effort to turn. Down is easier than up.
Most places that "train" just have some online courses, maybe an in-person or two. I don't know of anywhere that has some sort of real training like apprentice program.
I'll post this only because this is an area where I'm really passionate, and you're right and that the current state most places sucks. I've tried to address it as a manager who strongly believes that engineering management needs to be viewed as a discipline. I've implemented a Lead Mentorship Program at two places; one very successfully and the other with some progress (still hustling for engagement/commitment):
lmao - this is what I have experienced as well. Somehow these online courses with no way to ask questions will magically contain everything you need to know!
Who knew? An MBA mindset contained inside a 1 hour mindset!1 Why did these MBA guys spend $250K!?
> No trust in the team. Always doing shit themselves.
This was one of the hardest lessons for me to learn. And when coaching other would-be leaders it often is a roadblock for them as well.
As one moves into a leadership role it becomes critical that you learn to be ok with people doing things not the way you'd do them. You need to learn to accept close/good enough from your underlings. And the "enough" in close/good enough is going to be a larger delta than you think going into this learning process.
It is not just "not the way you'd do them". You were promoted for doing your work better than others. Those others did not improve because you got promoted. So you have to figure out how to get useful work out of people who are doing things in a worse way. And let them do things that way even though you already know what's wrong with it.
It is psychologically tricky to go from an engineer to a manager or lead. I also used to just feel guilty like I was offloading my work on other people who already had plenty to do. I did then later improve by managing their workloads and the long term roadmap to make sure everyone is working reasonable hours
>No trust in the team. Always doing shit themselves. No discussion.
Yup, I've had a boss like this. Maybe my company was particularly dysfunctional, but I didn't have much experience with the projects and tasks I was being assigned. I definitely was not hiding it either. Then when I spent time trying to figure things out on my own, my boss would simply do the work himself and provide no feedback.
Currently have a manager like this and trying to determine how to deal with it. I’m basically just waiting for him to burn himself out from his own constant dysfunction and leave. He’s so engrained in this behavior I don’t even know how I could provide him constructive feedback to help him.
I do someting like this quite a bit. If I deem it's easier to do it myself than to instruct or supervise someone else doing it, I do it myself. This is quite often the case. I don't see how doing it the harder way would somehow help with not burning out.
Do you think it's easier for your manager that you do the things than that he does them themselves? Have you tought of ways that you would make it easier for them for you to do the things?
Lucily I'm not really manager but I do have some responsibility of projects with other people.
>I do someting like this quite a bit. If I deem it's easier to do it myself than to instruct or supervise someone else doing it, I do it myself. This is quite often the case. I don't see how doing it the harder way would somehow help with not burning out.
You will most likely always be more efficient than the people who are less senior/just starting out. So then: when do you decide it's worth it to help those less senior team members become more efficient? Will you ever want to delegate? My experience was probably unique, but this kind of management style 1) undermines my work/communicates a lack of trust, and 2) communicates that you're not willing to invest in other people. But maybe the difference is that I was being explicitly delegated work, having my boss complete it unbeknownst to me, and then just getting silence.
If it's not something urgent or someting that will not blow up on my face, I try to delegate. And delegation does work fine for many cases. I also do like to help, especially in form of pair programming or similar hands-on. There are some that don't seem to like this kind of help though.
A major problem I encounter is that people I delegate to don't say when they don't understand something or don't reach out early enough when they get stuck. I always say that come to ask if you get stuck on something for more than a half a day or so. Unfortunately most people don't even when I ask them to.
I do understand that they may think that they don't want to bother by asking. But in reality when they ask soon, it's usually very easy for me to answer but when they don't, they either don't progress at all, so I may have to do it anyway to stay in schedule, or they get into a mess that's a lot harder to fix.
And it's not really to blame them. I notice myself acting similarly when I do stuff I'm not experienced with. What I do try to consciously do is to tell when I don't understand something, although I probably fail at this too quite regularly.
> A major problem I encounter is that people I delegate to don't say when they don't understand something or don't reach out early enough when they get stuck. I always say that come to ask if you get stuck on something for more than a half a day or so. Unfortunately most people don't even when I ask them to.
I've definitely done this before, and in retrospect, having moved on to other roles, it's obvious to me now that the workplace & overall company was actually the problem. People reach out early when they're engaged and feel comfortable.
It's an oversimplification to say they "should have never been" a leader. In truth, they could have used specific training in prioritisation, delegation, and emotional intelligence. I find it's rare that this sort of training is provided. Instead, good performers are thrown into the deep end to see if they can hack it.
This might be true in a harm mitigation sense, but really "leadership" itself is a scam invented by the people who benefit from hierarchy. It is a way of mystifying the relationship between you and your boss (or commanding officer, or politicians, etc.), attributing an abstract quality to them that justifies their position over you, rather than the truth which is that the only thing different about them is their position in the hierarchy. It serves the same function as the divine right of kings.
Nobody should be a "leader". Maybe we can't avoid hierarchy (because societies/groups that don't use it tend to be outcompeted by those that do) but we don't have to sprinkle it with holy water and pretend it's sacred.
As I see it, there's management and there's (technical) leadership.
Management comprises:
- Performance evaluation (inc. salary negotiation, promotions etc...)
- General admin (sick days, annual leave)
- Fostering teamwork, communication, and individual learning
- General management workflow (prioritisation, goal-tracking, delegation etc...)
- Hiring and firing
Technical leadership comprises:
- Contributing vision and ideas
- Technical guidance to management (e.g. giving technical feedback on interviews or individual performance)
- Code ownership and responsibility (e.g. maintaining conceptual coherence)
With really good internal systems, you can obviate a lot of the management duties. But companies generally find it helpful to have someone who takes ownership of them for each team. You're right though, those people do not need to be framed as "special" or "higher up" than individual contributors, nor does it really make sense to give them more perks.
I was actually trying to make a larger point about how the entire concept of leadership is a scam, even "technical leadership". People are clever, or charismatic, or whatever, but leadership describes nothing in particular. It's pure propaganda, and we should all feel bad when we use it as if it were a real concept (and I'm guilty of this myself). Here, you've defined "technical leadership" as basically just "being a software engineer". We are eating from the trashcan of ideology.
> Here, you've defined "technical leadership" as basically just "being a software engineer"
I really don't think that's true. Software engineers can spend their whole career just checking off Jira cards, having no overarching ideas about the company's technical direction. And that's great. But leadership is specifically about leading others. That can mean establishing new processes, making global architectural decisions, mentoring juniors, and owning and driving an internal technical product roadmap. It also means having a general attitude of "how can I help the rest of the team succeed". If you learn something slightly obscure from a colleague, or a helpful language feature, document it on your internal knowledge base or make a post in Teams/Slack before moving on.
These are all concrete things! That's great, but to say that they constitute "leadership", as if these are the same things an Army Captain or CEO should do, does not clarify anything, but merely clouds things. If leadership means something different in every context where it arises, it doesn't mean anything at all. Anyway I don't think we're arguing, just speaking at different levels of generality. I admit this is a poor forum to make this semi-anarchist point.
Ah okay. I concede that "leadership" more generally is a nebulous concept. And that it just wouldn't apply in an ideal world because people wouldn't have had their self-confidence and internal drive trodden into the ground through years of authoritarian "education". I do sympathise with a healthy dose of anarchism. All the best.
I have no idea where he's getting it from either. Dude seemed to just stress himself out too much. Organizations encourage it, and promote people that do it.
It's also incredibly exclusionary. If you have the slightest neuroses, never be a leader!
You'll find this is often a race to the bottom too. While presumably not applicable to him, you'd be surprised how many people and organizations have opinions about how impossible it is to hire anyone with mental health problems.
Then it becomes "just flip burgers like a loser and go to prison addicted to stimulants you useless eater, all of you people"
It also makes everyone’s life harder. Engineering leaders who agree to insane and constant deadlines doom the company to be in constant fire fighting mode (at best).
One of the most important things they do is expectations management and explaining tradeoffs to senior management
maybe? the worst managers I've had are expressing real substantive emotional or general dysfunction. I don't know that training is really going to help with that.
its also a big culture question. I personally view the model where the manager is 'in charge' as being fundamentally unhelpful, and alot of organizations as a whole promote this model.
that alternative being 'the supporting adult in the room that trying to help the team do their best work and make hard decisions if absolutely necessary'
My take from the linked article is that this person had the will and ability to grow but they lacked an internalised reassurance that it's okay when things don't go to plan and aren't perfect. Importantly, they were open to learning about emotional reasoning.
In my mind a good training course can provide that reassurance in the form of a statement like
> It is absolutely normal for managers to be constantly juggling a large number of nebulous demands, to finish most days without wrapping anything up, and to feel like there are a large number of unknown and uncontrolled variables. Do not work excessive overtime or refuse to delegate tasks in order to avoid this.
This is one of the most counterintuitive things about leadership roles IMO.
If you get promoted there, it’s often because you got a lot of things done yourself in an IC role. And then the fewer things you do yourself, the better off you, the company, and your reports are once you’re in a leadership role.
So you have to learn that feeling idle compared to what you used to feel like isn’t a sign that you’re doing a bad job.
In addition as a leader your best use is often to be interrupted with questions from junior engineers. This means you can never (or rarely) get into a flow where you are productive, as you are getting close someone interrupts your thought with a question.
As such if you have time to work on engineering (which you should make to stay sharp) it needs to be something unimportant to the business so that you can be late. Trying to add a new warning to your static analysis tool, checking out the latest framework to see if you should switch to it in the future - and other such things that you really want and long term are good but short term won't pay the bills.
And then making sure that they're taking action when they should take action and getting help when they should be getting help. This means they are wrong sometimes but it's better for them to be wrong sometimes and learn than to be interrupting with too many questions when they should just be doing their best.
Admittedly at this point my only direct reports are bosses themselves, but they vast majority of questions they have for me go into a shared 1:1 doc that we address monthly. Everything else they take action on and report as needed.
Days are often wasted because you do that. That is at best, I'm now up to 4 different implementations of a complex protocol (at months each to build and debug) because nobody asked a question.
sure you shouldn't just ask for every problem, but don't struggle too long when someone knows the answer.
The best advice I heard about the switch from regular engineer to mgmt role was this: A software engineer works to build harmonious productive stable software systems. An engineering manager works to build harmonious productive stable people systems. The product is different.
So many people who move into management don't make this mental shift and keep their hands on the steering wheel because that's how they got there in the first place. But if you don't let others drive, you won't be able to keep the car on the road for long. If you go into that role your job is to mostly get your hands off the nuts and bolts of the software system and create people systems of motivation, trust, and organization to get your team members working well on them instead.
I've never made the transition myself but have increasingly thought about it.
Yeah this is a big point in High Output Management by Andy Grove. That to be a manager (or to do any job really) you need to understand what you're producing and how to measure the quantity and quality of that output – ideally identifying issues with output before they become costly to fix.
Much easier said than done but it was a real Aha moment for me as a boss.
> This is a person that should have never been in a leadership position
This is the kind of crap that stops people writing blog posts about vulnerable topics like mental health.
I mean really? Author opens up about a terrible shit show and their role in it, and your response is “yeah you suck at that, don’t do it.” I dont think that’s very constructive.
They're also making the judgement (you suck at management) from a single blog post about mental health with no other context. There just isn't enough information here to make that judgement. This is nothing short of bullying someone for talking about their mental health, I hope the author doesn't see this.
I often don't write about things I'm feeling because I can already hear the responses of everyone who will intentionally miss the point in order to draw attention to something else, as if I'm completely oblivious to that other issue.
Being able to express what we're feeling without having our thoughts dismissed or disregarded simply because of how we arrived in our current situation is very important for mental wellbeing.
Don't get me wrong, I do understand the point being made above, it's just doesn't seem very helpful, as you said.
I'm glad you came to the realization that we need unions. We're also overmanaged because the actual managers e.g. the C suite thinks we need to be watched over. Historically the rate of workers to managers was way lower.
You think unions would solve this problem? Adding unions would just insert a whole other parallel management team that'll tell you what you can and can't do. They're not going to simplify anything.
Unions insert a potential for improvement because they come with critically different motivation.
Workplaces suffer from compulsions by MBAs, who prioritize shareholders and exec bonuses above the welfare of employees/consumers/company. A union has an ability to raise the priority of employees in this equation - and ease MBA pressures to exploit consumers and degrade the company.
But because unions are groups of people, they are subject to the same corrupting principle that afflicts every group of people.
Nobody, anywhere wants to clean their own house.
A union can be a force for good, as long as it's leaders+members continue to fix the internals that need fixing.
What are the qualities of the best leaders you've encountered or worked for? Which ones are most effective at getting things done while keeping the team and senior leadership happy?
fifty percent of managers, manage through fear .. an industry veteran once said .. "virtue stories" will ignore this ugly fact of hierarchical commercial services
I'm saddened to see such disgusting ablism at the forefront of HackerNews. More evidence that SV is filled with close minded fascists. These are people, not useless eaters.
Given my experience with HN this type of criticism is high likely to result in scrutiny by the admins. The biases on this site really need to be re-evaluated.
A union wouldn't change anything for the better (in the United States).
The tech industry would just hire abroad more.
If they ever did decide to hire union workers for whatever reason it would just be another layer of bureaucracy killing the company and stressing out employees.
> You cannot take a sick day by telling your team, “I have mental issues and need a day off.”
You can. I started doing this years ago and it has been an overall positive experience. Others on my team told me about their own struggles because I took the initiative to open up about mine.
This piece teaches me almost nothing about Vadim but shows me a ton about the environment he worked in. Someone built that culture, who are they? Why did they do it? Was Vadim complicit? Why did he feel so little control?
Hustle culture is not challenging, it does not help anyone grow, it simply exploits people. It's common, banal stuff.
I worked in the Meta NY office for a while, and had a friend living down the block with anxiety, with a prescription to treat it.
Sometime during my tenure, her prescription started becoming unfillable; the pharmacies are only legally allowed to carry a limited quantity to combat substance abuse issues.
What was happening? Turns out the Meta office was staffing up rapidly and taking more floors in the building, and all of the engineers needing anti-anxiety medication started consuming all of the local supply.
This is a serious problem that we do not take seriously. Broadly speaking, startups in particular are aggressive and there's still an air of machismo and bro culture (from which Meta was born) that prevents caring for one another in this way.
The way to get around some of this is to work on contract. I have found I am most free being a contractor. I go in to the gig knowing it has a definite end and do not care about any of the internal politics. It’s not a perfect solution but much better than being an employee where I have granted a company a monopoly on my time.
> at least where I am at, the contractor rate is more than double the FTE rate.
But the big money in tech is in your options/RSUs, not base pay. And contractors don't get options. (Usually anyway; I've been given options as a consultant once but usually don't see that.)
Yes. Contractors typically get more per hour. It still works out cheaper for the company as they don't have to pay for the benefits, PTO, and that sort of thing. And of course the contractor still has to pay for insurance, covering their own PTO, etc.
Did both in few parts of Europe. Initially its normally better to contract (but you need to have some chops, nobody hires juniors on contract), but not all countries make this easy or even viable. Once you want to settle, if you want to settle, permanent job under normal circumstances offers better overall package.
Maybe not outright amounts, but if you count in things like sickness, holidays, off for kids, social contributions, being treated better among colleagues, and for me personally having much more freedom whenever personal I need to do like bureaucracy (but that may be current circumstance only).
>So, I will repeat it again: our greatest asset isn't the code we write. It’s us, alive, and living the life.
This is so important. Our work is an extension of us. Our state in the moment will bleed into all areas of life. There is nothing more important. As we are limitless potential. But only if we are living in the here and now.
I won't make any comments on their fitness/accomplishments/whatever. I am not in their shoes, and can only appreciate the honesty of their exposition (which they seem to be embracing and using as their platform).
> In business, there’s no place for perfection. There’s no space for having everything under control. In fact, not only can’t you influence most of the things around you, but most of the things are uncertain.
I have found this to be true for life, in general; especially when dealing with other people.
In the unforgiving realm of tech, where deadlines loom like tempests and demands soar higher than the tallest spires, a tale unfolds of a coder besieged by the storms of expectation. Leadership, with eyes set on horizons unseen, oft chart courses riddled with contradiction, whispering of features promised to titans, each deemed the pinnacle of priority. Yet, amidst the clamor for creation, a truth, stark and unyielding, emerges: to elevate two masters to the zenith is to court the abyss.
Thus, ensnared in this labyrinth of urgency, our protagonist wrestles with the specter of impossibility, urged ever onward by the mantra, "Make it so." A counsel of despair, for within the crucible of incessant toil, the spirit wanes and the flesh wearies.
In this odyssey of turmoil, the narrative delves deep into the quagmire of mental strife that ensnares those who toil in the shadow of unyielding expectation. It casts a light on the sanctity of boundaries, the paramount importance of safeguarding one's inner citadel, and the somber realization that, though we may strive with Herculean fervor, the fates of our endeavors lie beyond the realm of our dominion.
Herein lies a clarion call to the sentinels of the digital frontier: to honor the sanctity of mind and spirit, to question the altars of perpetual labor upon which we lay our offerings, and to seek a horizon where success is measured not by the quantity of our toil, but by the quality of our lives.
I saw Bryan Cantrill's talk on [Intelligence is Not Enough][0] opposing some opinions on AI/ML is gonna do to the industry... but I felt like it touches on some ideas that can relate the topic of mental health as well.
Many software shops/enterprises don't value the necessity of embracing failure and making space for curiosity. That's fine, but then these shops should be strict about using Boring Technology they can just buy support for. If such companies have too much product ambition in the mix, then you need to give devs the ability to be engineers by giving them space to fail, try new things, refactor, rewrite.
We can't do that when the pressure is on to ship in unsustainable ways! Failure is not an option. We spent all that money writing that MVP, what do you mean you need a team to just maintain it? We have features to build!!
Not everyone is competitive enough to work with excellent engineering culture and we trade mental health in for it sometimes.
I've got a story about that. All of the tops of my teeths are worn down to the enamel and have been since a young age. My jaw (TMJ joint) on one side has permanent damage resulting in a constant clicking when I eat. I visited a dentist to get botox injected into my masseter muscles to force them to relax and reduce wear on my teeth. He told me they were the most powerful masseters he'd ever seen. Developed as a result of unconscious clenching from stress. Even a high dose of botox had a mild effect on them, and the effect is temporary.
Not sure I buy it, but indeed the dentist was telling me clenching is common in particular types of work like software engineering because of something to do with brain waves.
It might, she just sees a lot of tech workers given the area and she's the "get to know you" kind of dentist so she's not just guessing who has what career.
I like using Out of Office for everything not work related. It shows up when anyone tries to schedule a random meeting on me.
This is also a rare circumstance where having a disability is an advantage. Companies are legally required to allow me to prioritize my health over my job without discriminating against me. They aren't allowed to ask.
I wish it didn't require having a disability to be treated like a human being instead of a disposable resource on somebody's balance sheet.
> Companies are legally required to allow me to prioritize my health over my job without discriminating against me. They aren't allowed to ask.
Assuming you're not in the US?
In the US, companies are required to provide reasonable accommodations for disabilities as part of ADA but can and (often) do ask for documentation of the disability and the specific accommodation requested.
Sorry, I didn't clarify, they can't ask why I'm taking leave for a disability. I definitely had to provide HR with documentation. That was a pain in the ass.
My point is that no individual you work with (again aside from perhaps HR if the company is hella annoying) needs to know if it’s a mental health day or if you have the flu or whatever. It’s not their business.
Glad he quit alcohol as I did at 21. I found out then that marijuana is the best antidepressant and anxiolytic, Xanax second place. But benzos are anticonvulsants with significant withdrawal effects.
I dread having a mandatory talk therapist and am not sure how that helps social anxiety. Free book warns to not trust psychiatrists because you may go in for stress and never be allowed out. https://www.dropbox.com/scl/fi/ocxbp8l5uo6anu7us7fjw/quackLa...
It's too triggering to do any more than skim the article, but having got the general gist of at least some of it, I shall write my top tip here in case it helps anyone (who manages to do it):
Early in my career, I worked with a consultant who charged time and a half after hours, and double time after midnight. Every change we did was at like 10pm, and hardly any of them ever went well. I hope to one day find a way to do what he did.
This is what psychologists call "a boundary", and there's nothing secret about how it works: you just don't do the thing your abuser is asking you to do.
It’s challenging for people because you are often put in positions you can’t control the outcome of.
All you can do is your best, and if you fail, there is little safety net to help you. At least in the U.S. major items are tied to your job.
You can also be put in situations where people want you to sacrifice like you have equity in the company, but at the same time treat you like you are replaceable.
There is also a lot of people that are willing to over promise and blame you when things fail. At the end of the day it is the company over everyone.
As the founder and CEO of a two-year-old startup, seeking certainty in the direction amidst uncertainty (determining which products can bring customers and profits) should become my instinct.
What in software engineering adds more than the usual stress to working?
- Automation is the rule, not the exception. Replace your own work with a script, whenever you can.
- Our work product in theory works forever (i.e., until conditions change). You really are not needed when you're done. Script monkeys can copy and fix your stuff.
- New technologies and platforms: hardware drives software and vice-versa, leading to frequent choices whether to upgrade to enjoy new benefits. Your skills become dated, and the process of upgrading requires whole-world knowledge no one has.
- High competition: with low barriers to entry, you can do great stuff but still be a smidge worse, and lose the entire race. Close is crazy-making.
- Low management: with automation the professional process, the employee-manager ratio tends to be very high, typically with senior technicians enlisted for administration (which also makes them more compliant). As a result, employees are not buffered from business forces.
NO other profession has all or even most of these features. The closest I can think of is the bench scientist (and they might be in a worse position b/c they have very few alternatives). And AI will amplify both automation and new technologies and will likely increase the employee/manager ratio.
But ironically, few professions offer as much leeway for mental derangement. I'm shocked how off some people are, but they still function just fine, because the main determinants of productivity is whatever weird programming model evolved at the company: master that, and you can perform well, so long as you avoid triggering your manager or someone important.
You can make a list like this of stressors specific to a particular profession that NO other profession has, and all it will really tell you is that every profession has something unique about it.
And while I can't speak for every kind of mental health issue, software engineering is not even close to being one of the worst professions when it comes to job-related depression and suicide risk. There are whole fields that are known to turn workers into high-functioning alcoholics (see e.g. hospitality, construction and law). I feel like one has to be pretty deep inside the tech bubble to not realise just how off plenty of people in other professions are.
Fair. I’ve been there too. Exploitation is our industry standard unfortunately. Like everybody (I suppose) in that position, I’ve been trying to understand the root cause of the problem. IMHO the root cause is in the structure of “teams” and related responsibilities/positiins. I’ve written “teams” in quotation makrs, cause most of them are simoly a group of people without any real shared goal. Real teams are structured in a way that enables real cross-dependence of their members. In a group each member is accountable individually, and individual accountability stands in opposition to team work. If we structure teams to work as teams (together, not alone), and enable collaborative processes and architecture (structure, process and architecture all have to work together) - we enable many ways of support among individuals, and thats where the team gains powers to form a self-awareness and heal itself. Without an intervention of HR, organizing coffee breaks over Zoom half an hour each week, or other nonsense.
> An example of uncertainty in business is when your CEO tells you they promised a feature to your biggest client and it needs to be built ASAP as highest priority, so all hands on deck. Then a day later they tell you another feature, completely contradictory to the first one, needs to be built as well and is also highest priority. When you tell them they both can't be highest priority, the answer is: make it happen.
Hardly.
What I've found to work best in such scenarios is to always chop up the task at hand to essentials and nice-to-haves[0]. If another task comes up before you're finished, chop it up as well and ask your leadership what's more important: the essentials from this new task or nice-to-haves from that previous one.
It's never the nice-to-haves.
Also it always helps to not promise something you can't deliver - this applies to every level in the hierarchy.
[0] Sometimes, if essentials are the vast majority, you can produce versions of them which are simpler, but still workable from a business perspective, and have bringing the full-featured versions as a nice-to-have.
> I was now in charge of a small team of developers, and our startup has made many promises to many partners
This was the problem. I saw it myself in one place. The sales guys go out and promise the moon on a stick. After all, they're incentivised to sell, and the won't be one ones stressing to get the job done. They probably have no clue that that one feature they've just agreed to is massively complicated and probably not that important anyway.
Unless a decision is made with the CTO/an architect in the loop, forget it.
If it was and is unreasonable just tell them and then forget it.
You only get stressed if you accept other peoples' made up deadlines. They probably get you to do this with the promise of a meagre bonus or something. Just don't buy into any of that nonsense.
The other source of stress for a founder is the illusion of control. Just do what you can and keep shipping. It's a marathon. Be kind on yourself.
I have experienced most of what you have written about and have taken many similar steps :) The major difference being I would describe myself still at the level of a juniorish engineer.
My only addition and I'm very curious as to your opinion: I think mental health / physical health is more impactful in software engineering than most other professions. At least for me, if I'm sick it directly impacts my working memory and ability to focus. I always tell my friends I could do yard work just fine, yeah I'd feel like crap still but I could do it. If I'm trying to code something difficult often times I can end up making zero progress or arguably negative progress if I'm sick long enough as I lose context of code changing around me.
The same holds true if I'm stressed or anxious or whatever.
This can probably become a cycle with the things you mentioned that makes it easy to trend downward.
I'll dump this one here as it's still annoying me a bit. So one afternoon I'm sitting there and our sales guy John came in (you know who you are if you're reading this) and described what he'd managed to sell a client. I sat there and I scribbled on bits of paper for hours, did some research and went back to him with the point that it wasn't possible from an algorithmic perspective. Basically he'd assumed that if it worked for a couple of steps in Excel it'd be fine up to a few hundred. I scribbled out the mathematics a few times, wrote some prototype code and no the scalability characteristics approached "all the energy in the universe" levels of compute pretty quickly. O(wtf!).
So I go back to him and he accused me of lying and went and told the CEO. The CEO, a pretty chill guy with a doctorate, I was expecting to have a rational discussion about with but not he screamed at me too. I was downtrodden emotionally so I sheepishly said yeah I'll have another look and went back and started at it for another couple of days. No it was impossible. At that point I was stuck in a situation. I've got unemployment on one side and I've got getting screamed at inevitably. I just sat there in a depressed little hole with no options. I was angry, isolated and had no one sympathetic around. I suspect many people end up here.
Slept really badly that night. Woke up, got in the car and drove into the office. Got half way and got distracted by a cafe and decided I'd get breakfast and think some more about it. Sitting there eating a fat sausace, something just went ping, I SMS'ed John and the CEO with "fuck you I quit". I moved back in with my parents, did fuck all for 6 months, got another job, which was 80% less shit and the company I worked for went down the shitter about a year later because they couldn't deliver it.
If you feel like shit in a job, just leave. It's not worth it.
It's good advice if you have the appropriate financial resources or support network, but plenty of us don't have the option to move back in with our parents for six months and need to adult on hard-mode.
Sometimes you don't leave by choice and staying ahead of the layoff treadmill takes its own toll on mental health. Probably doesn't hurt to patch things up with the parents if possible.
That's the gist, with kids (and potential mortgage) the buffer is so huge, even if its there it creates its own pressures. Nobody normal likes to burn through tens of thousands if not more, so they often stave it off, for better or worse (and worse it usually is)
Yeah I learned that security was pretty important after that and security means not buying nice shiny things until you have no money and having a decent buffer zone.
For the last 20 years, employment in the software engineering field has basically been a dream scenario for the job seekers. Great wages and every company was always trying to hire.
However, that seems to have taken a pause. Higher interest rates mean the free money buffet is over and the FAANGs have spent the last year flooding the job market with engineers of the highest pedigree. I'm not quite job searching right now, but my understanding is that it's not the cake walk it used to be.
While software engineers have definitely had a few good recent years (especially during the work from home boom during COVID times), I would say it was equally dire around 2009-2012 post-financial crash. And 20 years ago was 2004 - just off the heels of the dot com bust, where the job market was much much worse than today. Anecdotally, from what I hear, I would agree it's not a cake walk anymore like it was in ~2021 but it's also not quite a hopeless situation either.
The Silicon Valley Machiavellian TechManager way to deal with this situation is to say "Yes, we will do this, but only if I get an up-front bonus and a team of twenty." The CEO instead gives you 6 headcount and a bonus schedule with performance milestones. You put the team together. Drag things out as long as you can, managing upwards with bullshit and a charismatic smile, faking the goals when you can, while the team is on a death march. Finally, when it's obvious that you'll never deliver, blame the team and parachute away to a different company with whatever bonus money you managed to get your hands on, where they offer you a "Director" title and $1M in stock because you were a "leader."
Sadly, a lot of people are too nice to do this, and instead have a mental breakdown trying to solve an impossible situation. Despite the popular expression, "Never give up," sometimes it's important to know when to say fuck it and quit.
I wonder if this hits self-taught or "code boot camp" developers harder because they may not have the theoretical background to notice "oh this is the halting problem" or "oh this is TSP" before getting too far into the weeds.
It was proximal routing optimisation in this case to decrease operating costs. They already had good approximation algorithms but they sold better than possible for a higher price than competitors and couldn't deliver.
> So I go back to him and he accused me of lying and went and told the CEO. The CEO, a pretty chill guy with a doctorate, I was expecting to have a rational discussion about with but not he screamed at me too.
That's terrible, I'm so glad you got out of that situation.
Hands down the best part about working in a field like tech and building up a cushion of savings has been that I haven't had to put up with coworkers who yell, accuse each other of lying, or any other immature, boundary-pushing behavior.
In the past I worked for the military, academia, theater, etc and there were times when I felt a strong esprit de corps and others when I felt stuck because I was a cog in a large machine and had granted jerks immense power over my life -- working on a contract in a war zone, needing approval from certain professors to further my career, needing a job to pay the rent, etc.
Whereas in tech it's easier to fix situations like this. In one case I went home early to send out resumes and left a few months later. In the other I just sent a record of the conversation to my boss and she dealt with the issue appropriately.
A major career regret is having put up with jerks. No matter how much the customer/company pays or how interesting the work is you can find other work that pays just as well and is just as interesting except you get to spend more of your exceedingly short lifespan with kind, smart, well-adjusted people.
Haha that was a great post because I was reading from the beginning thinking "gonna follow up tell this person they don't need to take abuse from sociopaths" then got to the end. Good job. Not every employer is a psycho but many are.
> People not getting their salaries and the company going bankrupt. I think that’s a big enough reason to risk burning out.
Like for deadlines : most of the time it isn't. People can get new jobs. You can found a new company.
But burnout is like losing a limb : you will never be able to operate at the same level again (not to mention the months it's going to take before you can start do even part-time work again).
There are very few situations where such a sacrifice would be worth it. Probably only those involving family members, and consider that after that they will have to deal with your now relatively crippled status for the rest of your life.
One of the primary responsiblities as you climb the hierarchy
is to protect your team / teams / departments from maniacs in other
places fo the hierarchy.
That means standing up and saying "No" and sticking to it.
Overtime it will show that your people perform better than others
since they have a sane person ensuring that they are not
on death marches to failure.
Or it can mean losing your job, in some instances.
What would you rather do?
Kill your team by imposing impossivle tasks, due to pressure form the top
in order to climb higher in the hierarchy or at least maintain,.
Or be straight and honest, and if nescessary take one for the team-+
Anyone else feel like agile is partially to blame? The constant treadmill of work items, the stress of getting things done before sprint end, the demos failing, the anxiety when you get a bug report?
yep, two week sprints with no break in between (I can't think of any sporting event where you sprint non stop!), and then we always say we'll "celebrate" when the project is done, but we never do
I haven't worked in a team or with a manager that wasn't receptive and empathetic to burnout or more serious mental health concerns. Guess I got lucky.
Most firms screen for people that will not challenge their existing process. Whether it is "Culture fit" discrimination, neurodivergent specialists being exploited for not being ambitious in traditional ways, and or outright cons ripping off junior staff with insane contracts.
White Knight Syndrome is very real... The trick is knowing you have a problem.
One thing I've realized more and more over the years: it's the operational roles (infra, SRE, Devops) that are actually most stressful. Sure, if you're building product, you get deadlines, but they are predictable and they come and go.
But being oncall for a shakey infra stack? That shit is hell. No deadlines, just the threat of incidents or downtime at any time of day.
It's especially frustrating that I firmly believe operations is a solved problem, but good luck getting a company to adopt the practices that every other mature tech company has already figured out.
Everybody understand and recognise physically demanding work, but for scientists and more in general for people experiencing that kind of 'stress' it's still hard being recognised. Some of the other fields also have associations and so on, while in our field we are typically on ourselves.
This is an awesome post. I noticed this for long time back, software engineer some time can be very frustrated emotionally by his work, or his code. I really like this topic becoming a serious one. More than that, I hope somebody can come out some idea to resolve this problem
> You cannot take a sick day by telling your team, “I have mental issues and need a day off.”
Actually, that is exactly what you _can_ do. It just takes more transparent communication about your needs and desires and more trust and safety within you r company and team...
It might be helpful to catalog a few reasons why software engineering can be so stressful. Many of these are common to other professions as well, to varying degrees.
* It's hard to predict how long something will take so you stress out when you take longer. Even if requirements are clear, all sorts of things can delay implementation: debugging, build issues, plugging in dependencies, bugs in underlying libraries. All these can take a limitless amount of time.
* Complexity can be overwhelming. Staring at a thousand line, convoluted class can make you shut down, just because it's too much.
* Being new and not able to produce at the same level as others. This one hopefully goes away after some time as you ramp up, but you might be new at different projects in the same team.
* Changing requirements, increasing scope.
* Priority inversion - you depend on another team for your work, but they aren't working on it, and you have to answer for that.
* Having to give an update at a status meeting when you know you haven't made as much progress as you'd like.
* Feeling bad about your productivity, so you don't take care of yourself (wasting time at night), are tired, and aren't able to be productive the next day. This whole loop can last for a long time if you can't break it.
* You can't ask for help because you feel like others will think you're stupid for asking those questions. And you can't make progress bc you really need to know those things.
Many of these things are exacerbated by life circumstance, social position, personality, previous mental health history, and management/peers. The way you can improve this stuff for yourself is by having a solid wellness routine (exercise, sleep, diet), good communication with your peers/manager (this is a chicken/egg situation), and pushing for reasonable organizational changes. Of these, only wellness is totally under your control. The others require people around you to change, which may not be possible.
A startup that is firing engineers on the spot who dare to disagree probably won't last much longer anyway. Best of luck with their "critical" deadline then...?
> We go to the doctor for a physical ailment; why should our mental health be any different?
Most health insurance system do seem to think there is a difference. Just like teeth seem to be luxury bones and eyesight is kinda optional.
Why aren’t all these things first class in most health systems? Coverage is usually pretty decent for physicians, but if you have a problem with your mind (or teeth, or eyes) then good luck here is a fraction of what the therapy costs and don’t bother us with it again.
What I don't get is it sounds like he accepted the CEO's edicts unquestioningly:
> This one time, for example, when our deployment crashed halfway through right before a major release. The CEO emphasized how important this project was, so we were all hands on deck, trying to get it back up, fearing the worst, that the client would go ballistic if he found out we were delaying the release. I was stressing big time, thinking we had to pull off a miracle, and of course we did.
> But you know what? After all that chaos, it turned out the relevant stakeholders were away on vacation that week, and the release wasn't even checked for many days after that.
A CTO should have some power to push back and set priorities. If you're just doing what you're told you're not really a CTO but a team lead with a fancy title.
This a general problem with young people in leadership positions. They don't have the confidence to say no as often as they should nor the perspective to identify what's really important - every setback feels cataclysmic.
> A CTO should have some power to push back and set priorities. If you're just doing what you're told you're not really a CTO but a team lead with a fancy title.
>
> This a general problem with young people in leadership positions.
Agreed wholeheartedly on both points, though I'd say a general problem with people new to leadership positions rather than make it about age. Society as it exists now (at least as I've experienced it) is very strong on rule following and it's a pretty massive shift to be the person setting the rules.
The CEO should've been empowering, too, and it might well be a symptom of the same malady: imagining the way you want things done, then pushing harder and harder until the world is that way regardless of cost. Human psychic cost is real and will cost you your best people.
Consider instead if the CEO said to the team "We definitely need this done, but I don't want you to burn yourselves out. Please keep at it as your top priority during working hours, all other goals are on pause until we have a release, and keep me up to date at the end of each day with progress until we're there. I don't want anyone working after hours. Don't worry about the client; I'll handle them." When the story unfolds from there the client doesn't even notice, the team feels supported and heard, and the work still gets done. Everyone wins.
Put another way, I don't think i've ever seen a customer walk from a product because it wasn't released on a cadence, in fact many aren't actually happy about upgrades unless they are fixing a problem they have requested. And sales/POC cycles are such that frequently the customer may not actually have an alternative solution, or if they do, the chances they will switch to your product simply because you have X this year instead of next year isn't something that hinges on small factors that can be done by the engineering team in short cycles. You win because the product is better/etc and that doesn't happen overnight.
So, stressing and working endless 80 hour weeks likely is going to have the opposite effect and creates a low quality product that people are trying to get rid of because it keeps breaking.