Don't read work messages / notifications outside of work hours (unless you're on call). It creates a false sense of pressure, you start to imagine people expect you to deal with problems immediately. But usually they don't, they're just sending messages at a time that's convenient for them - with the expectation that it will sit in your inbox until a time that's convenient for you.
I went one step further. Bought myself an older generation phone and that’s my work phone. When I start my day, I power it on. When my day is over I power it off and put it in a drawer.
Boundaries. Very important
Slack has the ability to "notify anyway" for important stuff. I wish it had a "do not notify at all" mode. Like, idc if my colleague has notifs on until 9pm "just in case". Do not _ding_ their phone, just silently give them an unread message icon. Next time they check, they'll see it.
Yesss. I have Slack on my phone, but unless I’m in work focus, I don’t receive Slack alerts. (I’m also hourly, not salary, so this keeps me from working off the clock.)
Yeah, in my case, it's pretty much for quick messages when I don't want to/can't use my computer. "Hey team, I'm sick. I won't come in today.", "I'm right in front of the door and I forgot my keys. Can someone let me in?".
I actually don't *mind* the out-of-hours work related requests / "help!" if they are new.
I can judge when it's urgent/important pretty quickly. I can decide when to do what, based on the personal thing it might disrupt.
Far more insidious is the deadline that remains a constant hum in the back of my head even when there's no new messages about it. The attitude of management on Fri at 3pm about the thing due next week that I "promised" the previous week is far more likely to negativity affect my weekend.
On the other side of this, I discovered outlook allows you to schedule when an email sends. On the rare occasion I write an email at odd hours, I schedule to send it the morning of the next business day.
I've had to tell people "you don't need to respond, this was so you have it when you're next back at work, please ignore me".
Especially with people working on different timezones - either I'd send them a message at 5pm my time/9pm their time, or I wait until 9am my time/1pm their time. I'd rather they not spend the morning without whatever information I'm providing, but also turn your goddamned notifications off - I know you're not on call.
I worked over a decade at a place that never had a deadline. It worked, the organisation could have been better, but the company is very successful. Maybe you could find a more relaxing workplace. I think also that nice colleagues help.
Had a job where we needed to present a demo every 6 months, objectively the job was great, with cool technology and challenges, but after 2 years due to the constant deadline pressure I began to despise the job and left.
A demo every 6 months doesn't sound too bad compared to my experiences. Mine were a demo every sprint or two, some unholy waterfall nightmare process or currently, a demo every 3 months.
I probably sound dismissive and apologize for it. Arbitrary deadlines are frustrating and wish that no one would be subject to them.
I mean it varies, obviously.
We have decent regulations in Sweden regarding this, so in a worst case scenario we can always fall back on those. But that doesn't stop the mental pressure to deliver "no matter how long it takes", so it's definitely highly correlated with who your manager is.
The tech industry is the best imo. The worst is the textile industry, as it's hierarchal like no other, and a lot of the old ways of working is still very much in effect there. I have three superiors for instance. Like what the fuck is the point of that? I see them as useless wastes of space that says no to everything that costs money and yes to everything that saves money - fuck the consequences.
'Deadlines are for weak losers.'
*It's done when I say it's done. Not a moment sooner, not a day later. Don't like it? Figure it out yourself or hire someone from another country or a graduate*.
There is way too much work out there for anyone who is not in our industry to place deadlines on our efforts.
Do not be weak. Do not tolerate demands like deadlines. Realize when bosses are punching-up.
Valve is kinda famous for that not being the case at all.
> I worked with some very smart people there, but it was the most dysfunctional and broken work environment I've ever witnessed.
https://old.reddit.com/r/valve/comments/bwxp6g/i_worked_at_valve_a_few_years_back_and_i_could/
It's nonsense. How do you even calculate the cost of a project without time estimation and milestones. No customer just hands you their credit cart and accepts any cost or time. Oh it takes 3 times as long as you initially thought? 5 times the development cost? Sure, awesome.
> . Oh it takes 3 times as long as you initially thought? 5 times the development cost? Sure, awesome.
That's literally what happens with other kinds of projects, too. Most development houses aren't going to eat additional cost overruns.
"How do you even calculate the cost of a project without time estimation and milestones"
Very very few projects have their cost or time calculated correctly even if you've spent weeks around a table asking devs the time expected in hours for every last feature
Beyond some vague idea of "six months" most product management is a joyless timesuck with no veracity
Not everything is project based with a bespoke build per customer.
If you're improving an established product with a broad customer base that are all on the same version, there is often little to be gained from rushing features out the door.
I assume you have some form of deliverables that are due at some point?
No Deadlines isn't feasible in the real world. Very relaxed and reasonable deadlines are.
> No Deadlines isn't feasible in the real world.
actually u can just decide to work on things until u feel it's sufficiently functional enough that another priority can take precedence vs further refinement.
it's called being agile.
That works great when you're doing a hobby project. "When it's done" is lovely.
But in the business world at some point you have to deliver something, whether to the business, to the consumer, or just in general.
A company that decides refine forever goes out of business fast. At the end of the day there needs to be a goal to release a product/improve a product/change your work into something that makes money.
Otherwise why is the company paying you? There's think tanks and such but probably not enough of those jobs to really support a fraction of programmers.
It doesn't mean you never ship anything!
Two of the biggest problems a company can face:
* Can we build the thing at all
* Is it the right thing to build
"How many days for this feature" is a dumb question with only wrong answers
Delivering things is independent of having deadlines. You can have deadlines and deliver things. You can have deadlines and not deliver things. You can not have deadlines and deliver things, and you can not have deadlines and not deliver things.
>A company that decides refine forever goes out of business fast.
Sure, but it's beside the point. Why are you even bringing this up?
That's not what agile means. It's easy to say these things if you've never had stakeholders to answer to or responsibility for budget and product quality. After a year of taking sole responsibility for a product, including resources (workers, time, budget), you would drastically change your perspective. You can't expect infinite money in the world of grown-ups without results. And you can't manage a sizable team or project without milestones or a proper project plan.
"No deadlines" doesn't mean "no deliverables" it just means you deploy when it is sensible to do so.
"When it is sensible" also isn't the same thing as "when it is perfect and flawless."
That is a difficult paradigm to make work, as you need competent, pragmatic and dependable devs along with product owners and managers that trust those devs and good communication throughout. If anyone starts taking the piss at any level, the whole thing can fall down pretty quickly.
> That is a difficult paradigm to make work
for some reason it sounds like a difficult paradigm to make work,
but clearly a large system of stakeholders all trying to demand various deadlines in a complex codebase inherently produces trash code, so i'm not sure i'd call that "easy to make work".
Mostly agile would deliver things faster than any deadline demanded. That's how real agile works - value gets delivered right away and never stops being delivered.
This sort of works when the company has a stable income it can always fall back on to cover the expenses. “No deadline” is equivalent to saying nothing ever needs to be delivered.
I assume that wasn’t actually the case and the company did expect things to be done, just that the deadlines weren’t very tight and they had enough financial security already established to favor polished delivery.
There is another side of this, that relies on the maturity of the development team. There’s a joke, “give an engineer 6 months to design something, they will use the entire 6 months to engineer the hell out of it. Give them 3 months and you’ll get something delivered”.
This isn’t a joke about cutting corners, it’s a joke about how many people just can’t stop “designing”, that’s how you end up with over-engineered monstrosities or vaporware. Applying a little bit of pressure can get some balance back. Too much pressure and you just get a bad result.
It is possible to split all work into 2 groups, the essential part of release and the optional. The optional is included if completed in time, then there is less pressure. The company returned profits all the years I was there.
> I think also that nice colleagues help.
Helps a ton with management. My team does Scrum, we count story points, but we also know this is just an estimate. If I tell my Project Manager/ Scrum Leader that a ticket sized at 5 is actually a 13, she wont blame me, she will probably suggest we break it into 2 tickets. I'm also perfectly free to add new work, as it is identified. So at the end of the day we treat estimates as estimates, and deadlines are on management, and they actually take responsibility for it. My role is to communicate delays to them as soon as they are identified, which enables them to react. The worst thing I can do isn't to miss a deadline, it's to not warn them.
I’ve worked in this type of team four different occasions over the course of my 20+ year career. Every one of them devolved into a paralyzed mess when peacetime eventually turned to wartime.
Can you give any details on how this fell apart? I could see my managers falling apart under pressure from above, but that's pretty much the same as a company. It works well because my management shields me from shit outside my responsibility, things fall apart when I am responsible for decisions I didn't make.
FWIW, my company is a web app that is roughly 25 years old, or about as old as the JavaScript language. Change is always possible, but I would expect it to come from distant sources, and that's kind of the point, it's management's job to take responsibility, if they don't do that well, then things will go to shit, but when they do their job things work well. That's why they say people quit managers rather than jobs.
Fair enough. Nothing management does can stop the hard realities.
In my experience different people react differently to stress, but no one can sustain high performance under stress. No deadline, like the guy above me suggested might be an issue, but it's more common, in my experience, that management just lets shit roll downhill, because it's easier.
I'm currently living with my families and working remotely doing some administrative and staff management work.
It's a low-paying, low-stress job.
I'm also trying to develop habits to tame the occasional bouts of depression.
Same, currently struggling to find something new. I sail right through all the interviews until I hit the technical screen. Then the depression comes roaring back.
Feels like I woke up and lost my life's career. Totally lost.
I'm glad to say I did find the solution.
I was unemployed for about 1.5 years after that comment. I applied to thousands of jobs.
Finally, I gave up and applied to be a temp worker at a warehouse. I worked my way up from machine operator to application developer. I am writing automation and apps for this warehouse now and my coding skills have returned with the help of AI coding agents.
What worked:
1. Get a job unrelated to coding and get used to working it.
2. Start using AI, I recommend GPT-5.2
3. Work your way back up the totem pole.
I also received therapy which helped.
I feel you. These traumas are not trivial to fight against. Get some help. Believe in yourself, but don't believe you can fix all your carry-on traumas by yourself. Try to find what motivated you in the first place to pick this career and what has changed. Maybe your age, perception, lifestyle, or expectations, team, management has changed. I'm trying to fix myself, and for my case I'm focusing on my wish for improvement on any product. Because that's what I missed, I wanted to improve status quo of our app, but I was not able to with so many short deadlined feature requests. I'll try to find ways to get the same satisfaction from my own personal projects in the future.
Old thread, but I'm planning on going back into IT after a year off.
10+ years after I started.
In summary: how much shit can you take? No workplace will be perfect for YOU. How can you make it better?
That's my mindset going back in.
I lost a substantial amount of money in stocks, due to the fact that I wanted out of IT. So it was doubly hard to get back in. All that work down the drain in cash. But I learned in the stock market that nothing is certain. Makes me more resilient to 'shit', I guess.
I worked at a company that operated without strict deadlines. However, the workplace was plagued by bullies who exploited others, undermining the livelihoods of the most productive and knowledgeable employees, regardless of their contributions.
I believe declines are not bad just we need to staying informed and being productive an informed. A toxic work place will influence your wellbeing no matter there is a deadline or there is no deadline.
Read the article. :) Mental health (MH) today is considered more important compared with a few years ago. When I started working, it (MH) was not even a consideration.
Perfectionism and personalisation are killers. It's also helpful to have a gap between support, sales and developers. When a problem is expected to be fixed yesterday, it's not very helpful.
There are some things developers can do - one is allow yourself to celebrate a success. Maybe even write it down so you remember later on. Also having someone you can talk you and understand! Feeling valued and useful is important.
While you might/could question (some of) my decisions, 30 years of IT left me with major anxiety, major depression and suicidal ideations and on ADs.
You know what would do more for my mental health than anything? Not having to worry every 6 months if I'll be laid off because grr, stock price go down or having my CEO get up on stage at the all hands and tell me how much he _hates_ remote workers and how if you're remote you _will_ be passed over for promotions in favor of people in-office.
I've gone through two layoffs, and tbh the best thing to help that is just to not really worry about it and accept that it's an inherent risk of life. It's a shitty thing that can happen, but in the realm of shitty things that can happen, it's one of the more mundane ones to waste your mental cycles on. Like a car crash, cancer, death in the family, etc would be many times more devastating.
For engineers in the tech industry you get usually a multi-month severance with benefits, and you're drastically more employable than most other people.
That might be true in the US, but where I’m from, employment contracts often don’t specify any severance payment. Layoffs do have a required process specified by law, but once they decide to lay someone off according to that process, you either continue to work until the notice period for the layoff is complete, or they send you home immediately and pay you out as if you had continued to work until the end of the notice period.
> you either continue to work until the notice period for the layoff is complete, or they send you home immediately and pay you out as if you had continued to work until the end of the notice period.
That is exactly what "severance payment" means most of the time. Having you continue working is relatively rare because of sabotage by a disgruntled employee and because they don't think someone on the way out will do much work, but it's not unheard of.
Most of the time I see Americana talking about severance payments they’re talking about the equivalent of several months of their salary. That’s far more than just being paid out until the end of your notice period (normally four weeks).
I've worked in embedded development for more than a decade and never had a severance package. They exist, but if you're in the more niche or startup side of things it isn't ubiquitous.
I agree but it’s definitely easier said than done. I tell myself that all the time, and I’d say 75% of the time I don’t stress. But then I think about my wife and kid, and my mortgage, and random emergencies that can happen, and how I’d probably be fine for a while if terminated but also… maybe not.
Maybe I just need therapy lol
See if your employer is partnered with any company for mental health. Sometimes they have some free sessions. Therapy has been very helpful for me and I highly recommend it.
I think cognitive dissonance is a big part of it. We're told that we should have secure jobs, and if we don't it's bad. So even if we're safe if our jobs aren't secure (due to severance, a strong market for Sr engineers etc) we're constantly hearing about how terrible things are.
Now... I know a guy that owned a moving company and shut it down. I said "Omg what about the workers that got laid off?" he said "They didn't give a shit, a quality mover is always in demand, they just singed on at the next place and did the same thing". I know for a fact that this is true, b/c he stayed in touch w/ the guys he laid off and they'd moonlight moving his friends.
Anyway, those movers were exponentially more economically insecure than your average Sr SWE on here, but they felt fine, b/c that was the world they'd always lived in. It didn't feel like it was trending worse. And just in case you actually try to internalize this mercenary thinking, your current employer (the same one that will lay you off, or suddenly demand RTO etc) will start gaslighting you with "We're all family here / What's your 5 year career plan / etc".
> I've gone through two layoffs, and tbh the best thing to help that is just to not really worry about it and accept that it's an inherent risk of life.
20 years as a professional programmer. You know what I learned in the last layoffs?
Your company doesn't give a fuck about you. I was happy at my company I stopped looking for a different job. That was a mistake. You shouldn't "Always be looking" but once or twice a year take an interview or talk to a few recruiters, try to decide if you can find a job for 20k more, or just better hours/better commute/remote work.
I didn't want to because I liked the work and I thought I was valued. I was thrown out because they bought a different company didn't think they needed me (They did). Tested the market and realized how under paid I was. I owed them nothing, because when it came down to it, they treated me like someone who they could toss away.
When I was talking to my former scrum master after it I told him what I was being paid, and the first thing he said "They fired you and you were making how much?" Basically I was a steal to them for the work I was doing at the price. Their mistake.
I would worry less about it if companies were not so remote adverse. Unfortunately I don't live near a tech hub so if I get laid off I'll either have to abandon tech altogether or pick up and move my entire life (which I can't really do).
> Not having to worry every 6 months if I'll be laid off because grr, stock price go down or from some whim from execs.
Learn to do something valuable and non-volatile. Environmental and Mechanical Engineers don't get laid off every time stock price changes. Especially i you land a government job.
Yeah, let me just go back to college, drop tons of money and completely shift my career into something else that may or may not pan out, nor pay as well.
SWEs never like hearing that they're the new "disposable worker"
The sooner you wake up, the better your life will be.
> Yeah, let me just go back to college, drop tons of money and completely shift my career into something else that may or may not pan out, nor pay as well.
Your poor choices are not my responsibility. an Env Eng ***averages*** $120K/year.
> Learn to do something valuable
The fact that these companies are so profitable due to the work we do indicates that we have. And your assumption that the layoffs are being done in a rational manner is completely without merit.
> not having my CEO get up on stage at the all hands and tell me how much he hates remote workers and how if you're remote you will be passed over for promotions in favor of people in-office.
What an asshole CEO !
> how if you're remote you will be passed over for promotions in favor of people in-office.
And then in six months "Remote workers don't seem motivated"
And then in another six months "Remote workers is no longer allowed because they are less productive"
I do think some jobs have to be "in-office" but I'm not sure I agree that every job has to be, and if I'm talking to people in another state, why do I have to be in the office to do that?
The story about a "critical issue that ended up not being checked for a week" is something I've dealt with before. The way I started handling that is simple: when someone asks me for a "critical issue" I tell them that I need a piece of information from them first. Doesn't matter what it is or if I actually need it, but something that will take them 3-5 minutes to get.
If they get it to me, it means it's urgent enough to them that they're willing to work with me on it. If they don't take 5 minutes of their time to do that, it's clearly not critical, and if I get asked about it later I can say "I'm waiting on X to get me some information I need first before I can start".
the number of times I *offer* to help somebody with a problem if they take 2 minutes to write up a ticket that describes what they need and they never write up that ticket... sigh
>You cannot take a sick day by telling your team, “I have mental issues and need a day off.”
Why not? This seems like something people are just uncomfortable doing, but I know my team would gladly support me in taking time off if I said this
When I take a sick day, all I say is "not feeling well today, taking a sick day".
You don't need to justify it anymore than that. That's all anyone needs to know.
Maybe not everyone will agree, and I'm saying this as a perfectionist who writes a lot of code: having teammates with radically different approaches to development equals to burnout, there is no escape.
Some people code for money, some for passion, some are lazy and write sloppy code, some are perfectionists, and so on.
Pair a perfectionist with a sloppy coder and they will destroy each other. The perfectionist will burn out trying to fix issues, the sloppy coder will quit for too much pressure.
You have to combine people correctly, depending on the goal.
This is only because people don’t reconcile this shit. You’re statistically unlikely to get a perfectly matched team.
But if all the individuals can move past their egos, conflicts can be resolved and you can create a great team.
It is too bad most engineers don’t have the fortitude.
I don't think it is about ego, at least not as often you might believe. As I wrote, it's about the approach to solving problems and how hard you're willing to push yourself. A slight difference works. More than that means certain failure.
That's my current case. They hired a guy as a senior. He works like a junior, is extremely sloppy and needs hand holding for everything. I'm not even a perfeccionist, but I had a few points where I want extra effort due to experience of what happens when those things don't get enough attention.
Gotta say, it's awful. I hate getting near his code and reviewing it ruins my day.
We had this with a contractor. Brought in as a senior to drop in to a team with me and a QA to get a new project up and running quickly.
This guy was a nightmare to work with. I won't go into all the ways he got under my skin, but I had to tell him "no, you can't just copy a half dozen classes from a library, change the namespaces to match our project and just dump it into our codebase without checking the licence". *The library had a fucking nuget package we could have used*. (The library did not work, unfortunately, but we didn't know this because he *hadn't tested it* before raising a PR).
Omg, this is kinda like the situation I had up to a few months ago.
Management hired a contractor that was a "senior", and he just wrote code so bad it actively harmed the VR app we were making.
He was hard to talk too, never admitted that his code was at least improvable, had a few hard arguments with him with his shit attitude towards reviews ("I am a senior, I know what I'm doing, I don't need you to tell me!").
Anyway, management fired him after 8 months because he had arguments with everyone, including my boss. Since he left I've managed to triple the performance of the app, reordered code and made a lot of improvements and future proofing to code, all in just 4 moths by myself.
Having a non cooperative team is waaaay more damaging than having a single developer working on everything, IMO.
It fucking sucks when you have a senior thats not respectable. They end up teaching juniors bad habits. Let this be for a few years and the team rots from the inside.
Lazy slipper coders get shit done quicker at the cost of best practices.
Perfectionists get shit done slower but tick off more boxes when it lands
Pragmatic programming is striking a balance of the two approaches
Lazy sloppy coders are a pain to work with and make maintenance of code way harder, contributing to dev burnout and making products perform worse and inhibiting new features on future
Not denying that at all.
From a business perspective sometimes a sloppy done job is all that's needed.
For example a quick WordPress instance for marketing blogs which inyegtatesstyo the main site
Doesn't need to be perfect, just needs to link and load
It’s also almost always impossible to prove to non-technical management that those practices are the reason that later work is taking longer than it should, because you have no counterfactual example to show them.
Yeah it only ever happens after the fact
Preventive work is often invisible and undervalued as it is a thankless effort. You can't measure success of something that was prevented, without actually experiencing the toi caused first.
They get shit "done" as in "merged", but then three sprints later, you discover that not only is it full of bugs, it also completely misunderstood all of the requirements and implemented the wrong thing.
The past several sprints for me have been spent fixing it redoing the work of a sloppy coder with high charisma.
Because shareholders don't care for long term. Long term maintainability is sacrificed by the sloppy coders to reduce time to market.
The problem is that once the project becomes old (for whatever value of "old"), the switch in the mindset and coding approach is basically impossible on the individual level.
Depends on the shareholders. I have stock in a company where the investors dont expect a return anytime soon. I would love to sell my stock today and buy a house. They probably wont go public for a long time. I guess Im one of those short-term thinking shareholder (though I hold a pretty much negligible share of the overall company).
This is what I've come to believe too. Stop the incessant arguing about code and software development process. Just team up people who mostly already agree with each other.
Perfectionists are the devil I try to remove them from my teams wherever I find them. Perfectionist doesn't mean they right perfect code it means they never finish anything.
I work on a team as an oop programmer with a lead dev that is committed to sticking to the fundamentals of procedural programming rather than embracing oop.
Been a software dev for 25+ years and I simplify this a little. You can break most devs into either engineers or scientists. The engineers are the perfectionists who want structure, rules and consistency. They want to build systems. They tend to like statically types languages.
Then you have the scientists. Scientists want to experiment. Usually to solve a problem, but they don't want to follow rules that prevent them from inventing a solution to the problem. They tend to like dynamically typed languages.
It's fairly important that someone decides up front what kind of software you're trying to build. If you're at a startup, the software will likely pivot multiple times to find a profitable market. Scientist style devs thrive in this world. For engineer types, it will be hell.
The opposite environment where engineer types excel is typically the corporate business style environments. Banks, insurance, etc.
Just my 2 cents.
> The engineers are the perfectionists who want structure, rules and consistency. They want to build systems. They tend to like statically types languages. They tend to like statically types languages.
>
> Then you have the scientists. Scientists want to experiment. Usually to solve a problem, but they don't want to follow rules that prevent them from inventing a solution to the problem. They tend to like dynamically typed languages.
typescript gives u the best of both worlds. ;)
Of all the comments here, you have the one that makes a lot of sense. I've been in the industry for almost a decade now and I've seen the stuff you mentioned a lot.
It is indeed one of the hardest problems in a team environment to solve.
The TL;DR would be: build a team with people that share the same mindset.
Only once in my career I've worked in that kind of team. All in our 20s, without too many daily responsibilities, working crazy hours. Never burned out. Always had a big smile on.
So you see that when they tell us to do this or that to be happy, it's not the same for everyone.
Some teams just work. Sometimes you have the right chemistry and you just ship ship ship. Its awesome and you end up working mad hours just because you can. Then you get a shitty upper manager that tries to make things better and fucks everything up.
It's always managers, especially non technical managers that don't understand what the devs are doing and therefore have trust issues and starts to implement new processes, meetings, and micromanagement.
This is my current work issue. I'm in a team that functions between our most technical framework team full of perfectionists, and the feature delivery teams who just want to pump out marketable dot points.
It's impossible to please both sides.
What does it for me is toxic program management and these people called scrum managers who know nothing technical.
I don’t mind a scrum manager helping me stay organized or helping manage my kanban board. However, few I’ve come across do that.
When working from home, have you considered having a separate room that you only use for work? That works great for me, and I never feel the need to check my work email or anything when off the clock. I pretend like I'm an hourly worker, enter that room at 9, and leave that room at 5, and never take my work laptop out of that room.
> When working from home, have you considered having a separate room that you only use for work?
I'm gonna say that the vast majority of people don't have just a spare room sitting around.
Absolutely agree. Viewing engineers as crucial resources rather than mere costs can drastically change the work environment and culture, fostering a healthier, more supportive atmosphere.
Mental health is a first world country thing. It doesn't exist on a 3rd world country scenario.
Oh, you're having a mental breakdown, I'll be expecting your resignation within the week - HR
"It’s easy to have things under control when coding is the only thing that you do, for example, at the junior level. You have a clearly defined task, which your senior colleague refined based on some vague description that your product owner brought them. You debug it, have fun building things, get your next task, and solve some bugs. You have zero worries; your only job now is to get better and learn. Life is good."
BS. You are one mistake or lack of solution away from being homeless. And solutions are like creating and curing tiny humans.
I'm sorry, but after reading this, I can just say "git gud". What is somebody doing in a leadership position if they don't know how to lead, organize, and say "no"? Also, basic emotional intelligence.
Sure, getting the big pennies is very, very stressing /s
I want to say two important things.
So first an important thing to always remember. Your mental health issues aren't someone else's. Find a place that works for you. If you hate deadline or crunch, find a place that doesn't do that. (You might trade some money for personal happiness, but that's the point of it, and that's perfectly fine.)
But at the same time, your mental health isn't someone else's. Just because the place you are at works for you, you don't know what another person's going through. They might have a shit boss, they might hate working on JS and get stressed out because of that. (I do... well not mental health bad, but ugh, staring at CSS does make me want to punch a computer). Just because you're ok doesn't mean everyone is.
Let's get to what I think is more important.
> You can't say “I have mental issues and need a day off.”
Sure you can, on the right team. I've told people flat out "I'm burnt out, I'm taking saturday off" during crunch, and they had to deal with it. Then when they said the same thing I said "Hope you feel better" Now referirng back to the first thing I said, I realize not every place can be like that.
But more importantly. Next time just say "I need to take X day off" why? Personal reasons. you don't have to say why. If they push you for it, ask what is a valid excuse for taking time off.
If you're taking sick time, just say you're sick (you technically are, well sick of the job OHHHH). Or really "Just not feeling well", which again you are. .
If you're taking PTO or Flex time? You have EARNED that time off by working there, there's nothing they can say.
>🥸 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.
The correct answer is update your resume and get the fuck out. That place doesn't respect you. You either have a shitty manager, or people who know they can make you crunch. I'll say it again Get the fuck out.
(Most of what he says is excellent, I'm not disagreeing. But I am saying you need to draw a line between what your willing to do/put up with, which he touches on)
Mental health in software engineering is often overlooked but crucial. The industry's high-pressure environment can lead to burnout and anxiety. Prioritize self-care, take breaks, and seek support when needed. Let's work together to reduce stigma and foster a supportive work culture.
The article writer seems to be confused about stuff. Even though a key part of the article is about anxiety what he is describing isn't anxiety. He lists being a perfectionist as a positive trait when its actually an extremely negative trait and follows that with highly successful but perfectionism is a barrier to success.
I honestly don't believe he was ever head of IT but this is some fantasy born out of the first big project this guy ever worked on.
Seems blog posts are an awful source of information.
I've learned that working in small teams with big products usually equates to stress.
I worked in a 6 man team developing and maintaining high performance, high availability adtech service. It was my first gig after uni. It was intense. We started off without a PO, without first level support and lacking enterprise expertise. Our service had issues every single day and night, and we still had to pump out features. I was earning 40K at the time. I worked there for a few years until I needed a change of pace.
I came back to this shop 5 years later. There are now 4 teams with 8 people each, 4 POs, 4 scrum masters and a first level support team. The funny thing is, the workload is pretty much the same as it was when I worked there. As a result, the work is super chill now. Half the developers don't even understand the fundamentals of the system and just develop features. First level support can solve 95% of the issues that developers used to solve. And the POs are the ones bogged down by meetings now.
It's super good to talk about this. I can really feel for the authors situation based on his writing. And there are a lot of good points in there, especially regarding the early stages of stress / anxiety / depression / etc, like:
- It really sneaks up on you.
- The effects aren't what a lot of people imagine they would be.
- It doesn't come from one big thing, it's from many smaller things.
- It's a real thing, and it needs to be treated as such.
- Focus on the bigger picture.
- Cut out social media and drugs.
But IMO, if you are struggling, you have to focus more on truly sustainable solutions, not quick fixes.
> An example of uncertainty in business is ... when you tell them they both can't be highest priority, the answer is: make it happen.
Simply accepting this is not a healthy or sustainable approach. We should be talking about how to change and improve this.
> Saying “No” to anything non-critical in your off time
The solution isn't to put your life on hold. The solution is to introspect and figure out what you want to do with your life. Perhaps you decide to endure the unsustainable stress for a limited period of time, and then get out. Or perhaps you decide to play a different game altogether. But don't do yourself a disservice by not living your life.
> I swapped my coffee for decaf
As a short term thing, sure. But it's not a long term solution. Normal people should be able to enjoy coffee. Drastic measures might foster a behavior of drastic swings. Strive for moderation instead of extremes.
hold on I need to improve productivity by applying psychological pressure on the guy whose job is mostly to think. Nothing could go wrong with this plan, no adverse productivity side effects at all.
What do you mean, you have good mental health? Sounds like you are just lazy and not giving it your all! You should always feel guilty when not feeling stressed, think of all the work you could be doing instead of thinking of your mental health!
I worded it this way to point out how toxic this voice is we hear inside our heads.
I think an important factor is if within a company software engineers are looked at as a “cost” vs a “resource”, and who is driving the development of a “product” (if there is any), or if the engineers are playing a supporting role for the main business, or if software is the business.
In places which are focused on innovation, performance, efficiency etc - then the people who do those things are rewarded, and the work culture grows to encourage and reward those outcomes.
But in places where software is sort of a requirement / cost but not really the main business… sometimes you have suits who don’t actually understand how to get the best out of people, and don’t want to either. They sort of care only about costs without understanding some things, and that creates a very different kind of culture.
I feel if a person is well rested, motivated, and enjoying what they’re doing, that itself does a lot. Getting along, having team spirit of collaboration/ cooperation, all being motivated to build something bigger than themselves, creates a healthier environment. People sometimes overlook the importance of emotion and well being and are too focused on abstract goals. Yeah it’s all great building something great, but not at the cost of a persons health, well being and happiness.
If people are overworked, it means wrong goal setting and management. Even athletes manage themselves to avoid injury. Maybe injury is unavoidable. But they are mindful of how to protect themselves and that damage can end their career. Burnout in engineering is a real thing, and not caused by the act of software engineering but improper management, either by the managers or the individual contributor themselves.
NBD. You can only do what you can do.
For a while, I just tossed it back on my boss. Sent him my schedule and said "put this in order of what you want done."
Eventually they fired him and hired a bigger a-hole who wasn't having it. So I switched to "I'm working on whatever the last thing he said"
Which didn't go over well, so they fired me, and I got a beautiful summer of unemployment, went SCUBA diving a lot, then in the fall, I picked up a better job where they weren't all just a bag of dicks.
I did Consulting and am back to SWE. To tell you, problem isn’t usually an Engineering job. I think, you of my experience, the problem you face is the Management role you got on top. I nothing to compare in stress to development. There is, in contrast to common sentiment, a good reason managment pays better in the end, for a good reason. Trying to do both is a dream of companies, but because they are greedy. I advise you to demand that you only do one thing primarily. Of course there is a great need for a PO knowing the technical stuff or an Architect with good management skills. But there is a reason, why they are rare. They are Companies were dream, but even I was amazing at it, I guess it would have killed me.
185 Comments
GeoffW1@reddit
dontaggravation@reddit
Maverik877@reddit
afonja@reddit
tyros@reddit
afonja@reddit
EMCoupling@reddit
weggles@reddit
spazure@reddit
BaNyaaNyaa@reddit
smackson@reddit
JamesGarfield@reddit
Fisher9001@reddit
GeoffW1@reddit
gyroda@reddit
Fun_Weekend9860@reddit
Unlikely-Storm-4745@reddit
Maverik877@reddit
natty-papi@reddit
AllGrey_2000@reddit
Roqjndndj3761@reddit
Fun_Weekend9860@reddit
InanisAtheos@reddit
darkforceturtle@reddit
InanisAtheos@reddit
franksn@reddit
kdthex01@reddit
i_hate_agile@reddit
dagbrown@reddit
squidbait@reddit
constant_void@reddit
DidYuhim@reddit
shaumux@reddit
coloredgreyscale@reddit
coreDump451@reddit
realjoeydood@reddit
robotkermit@reddit
IHadANameOnce@reddit
Fun_Weekend9860@reddit
Takeoded@reddit
Fun_Weekend9860@reddit
Plank_With_A_Nail_In@reddit
XYcritic@reddit
s73v3r@reddit
Design-Cold@reddit
Iamonreddit@reddit
s73v3r@reddit
Fun_Weekend9860@reddit
Kinglink@reddit
fire_in_the_theater@reddit
Kinglink@reddit
Design-Cold@reddit
hippydipster@reddit
fire_in_the_theater@reddit
PuffaloPhil@reddit
XYcritic@reddit
Iamonreddit@reddit
fire_in_the_theater@reddit
hippydipster@reddit
seanamos-1@reddit
Fun_Weekend9860@reddit
EatThisShoe@reddit
BrundleflyUrinalCake@reddit
EatThisShoe@reddit
BrundleflyUrinalCake@reddit
EatThisShoe@reddit
Wave_Walnut@reddit
lilabp@reddit
Wave_Walnut@reddit
lilabp@reddit
p1-o2@reddit
lilabp@reddit
p1-o2@reddit
lilabp@reddit
p1-o2@reddit
cediddi@reddit
vvkkpptt@reddit
lilabp@reddit
Yak-Front@reddit
GroundbreakingIron16@reddit
Real-Classroom-714@reddit
028XF3193@reddit
way2lazy2care@reddit
ThrawOwayAccount@reddit
TheCoelacanth@reddit
ThrawOwayAccount@reddit
JesusWantsYouToKnow@reddit
pysouth@reddit
Nefari0uss@reddit
Jump-Zero@reddit
ForgettableUsername@reddit
dweezil22@reddit
Kinglink@reddit
028XF3193@reddit
_indianhardy@reddit
Edward_Morbius@reddit
028XF3193@reddit
Edward_Morbius@reddit
maleldil@reddit
s73v3r@reddit
s73v3r@reddit
Plank_With_A_Nail_In@reddit
chefhj@reddit
Radrezzz@reddit
ThrawOwayAccount@reddit
Zwarakatranemia@reddit
Kinglink@reddit
IgnoringErrors@reddit
manofsticks@reddit
Dearest-Sunflower@reddit
pheonixblade9@reddit
eggplantkiller@reddit
android-engineer-88@reddit
amplifyoucan@reddit
tedbarney12@reddit
GuinnessDraught@reddit
lppedd@reddit
Acrobatic_Ad_9937@reddit
lppedd@reddit
Acrobatic_Ad_9937@reddit
lppedd@reddit
Acrobatic_Ad_9937@reddit
hippydipster@reddit
lppedd@reddit
I_Like_Purpl3@reddit
gyroda@reddit
Dhelio@reddit
Patman128@reddit
falconfetus8@reddit
I_Like_Purpl3@reddit
Jump-Zero@reddit
SneakyDeaky123@reddit
twigboy@reddit
SneakyDeaky123@reddit
hippydipster@reddit
twigboy@reddit
ThrawOwayAccount@reddit
twigboy@reddit
falconfetus8@reddit
andrybak@reddit
Jump-Zero@reddit
hippydipster@reddit
idontliketosay@reddit
Plank_With_A_Nail_In@reddit
gizzardgullet@reddit
mickeyknoxnbk@reddit
fire_in_the_theater@reddit
oxxoMind@reddit
lppedd@reddit
Jump-Zero@reddit
IndependentMonth1337@reddit
too_small_to_reach@reddit
jimmux@reddit
Junkrat001@reddit
PoisnFang@reddit
misoneism-orbiter@reddit
falconfetus8@reddit
s73v3r@reddit
tanner_0333@reddit
SagatRiu@reddit
luciusquinc@reddit
tyros@reddit
Independence404@reddit
jeerabiscuit@reddit
falconfetus8@reddit
ivancea@reddit
Kinglink@reddit
pm_me_duck_nipples@reddit
water_bottle_goggles@reddit
tricepsmultiplicator@reddit
MainConsideration937@reddit
Plank_With_A_Nail_In@reddit
Alarmed_Exchange_241@reddit
BrofessorOfLogic@reddit
Obsidian743@reddit
squishles@reddit
rich1051414@reddit
StarkAndRobotic@reddit
Wilfred_Wilcox@reddit
Edward_Morbius@reddit
VillageDelicious3607@reddit
VillageDelicious3607@reddit
No-Magazine-2739@reddit
Best-Apartment1472@reddit
MalbertScienstein@reddit