Life is a lie, there is only code. Through code, I gain work. Through work, I gain projects. Through projects, I gain junior devs. Through junior devs, my compilers chains are broken The code will fuck me.
The price of becoming a professional is not wanting to do the job anymore but people keep asking you and you convince yourself to do it again Plus money
Software industry is weird because there are these cool fang influencers who tell everyone how the industry is, but they have jobs/work in enviroments that arent the reality for 99,x % of people. The only other industry similiar to that is finance, where influencers talk about their cool wall street jobs while 99% of their audience end up in a district savings bank where they permit loans for car port extensions or a new bath room. For many people, the path to unhappiness is predetermined from the very beginning!
💯 these major tech company devs live in a relatively cushy bubble. ample in-house resources and benefits. it's all become too trendy and I can't believe that those in these large companies can be maintaining the same level of skill that those in smaller companies HAVE to maintain just to stay employed. I wish software dev didn't become so popular cuz it's been flooded with "cool people" larping as devs in big tech thanks to their social status and network
I've definitely felt the "fear of being left behind" before. In a previous position we weren't using anything "modern," and I was only keeping up with newer things because I was sacrificing home life to learn. It was exhausting!
I think this is an important point. Sometimes there's a fear of falling behind because you're not growing in your job. Fear of not being on the front lines
there are some things that will just never die. Wordpress developers don't need to learn anything new. If you want to not have to learn every other day, just go do that. Similar pay too.
The real question, are those things worth to keep up with them? Maybe some new fancy stuff pops up and dies 2 years later, but it was a big hype at that time. Learn principles and you will be able to use any technology.
@@BusinessWolf1 It's pretty flexible, too. For example, if you do want to upskill a little then going headless using the Wordpress rest api allows for a more modern approach to your front end.
I've been programming since 1983 as a kid. I programmed professionally since 1991. I burnt out every 5-7 years, and I didn't know why. I had to take a break for 4 months and then re-engage into employment which is not easy to to do or to explain to prospective employers. In 2015 I retired from programming professionally and started a business to pay the bills. Now, I still spend +30 hours per week programming on my own terms and I love it! I wished I had said NO, NO, NO to all those extra hours I spent working TO MAKE SOMEONE ELSE RICH. It is as simple as that.
@@DevinWeaver Start something small, maybe a side hustle that you’re interested in, you can’t grow overnight it takes time. I’m sure you have something and some ideas that could bring in a little extra money on the side. A simple idea could lead onto other bigger things in different parts of your life. Please, please, never, ever give up!
About burnout, for me it's the opposite, doing backend is the fastest way to burnout. But maybe it's like that because most of my time with backend is with Java (not because the language per se, but architecture of the majority of apps built with it), doing the simples change require an insane amount of files, connections, binders, configs. You spend more time debugging and tryind to understand what's going on and where you can put your code than actually coding
Nothing gets me burned out faster than wasting time on debugging environment issues. I recently worked on a web service that was split PHP 5 and 7 that made API calls to a python back end service. Thousands of random php files that were just building string of html/css/jquery while calling out to a python API to get data. I burned days just figuring out WTF was going on while having people breathing down my neck asking why stuff was taking so long. I have never felt so drained in my life working on that project.
I would argue your system hasn’t enough clear easy to use documentation. The process of ‘trying to find out where to put my code’ is suggesting this at least. There should not BE such a process. All that should be in the docs and should be easy to find (not understand necessarily). It’s like blaming an application for being shit but you never read the manual (or there isn’t one). Anyway if this is the case: time to move on! Never (almost never) work in an environment with poor documentation. It’s a huge sign of bad priorities.
@@paulholsters7932 I totally agree with you, sadly not every company force a policy of good documentation, features, MVP and deadlines takes over good documentation. I sadly worked with very big apps for a pretty large company. For example, the last Java project I worked with was a monolith with 100+ devs working on it. And not only had a massive large source code but also most of the flow was controlled by real production session, so it wasn't easy to debug and try things, all of that with pretty basic documentation. Maybe I had bad luck with the few companies I worked with. I still haven't seen a enterprise level Java which doesn't suffer from the overcomplex and oververbosity of it's architecture.
Your comment about Hurry is something I realized in my own life recently. An example that clicked for me a while ago was someone describing koi fish swimming in a muddy river or pond. Those who swim too fast kick up the dirt and cloud the water, they are swimming fast but aimless. You need to go slow enough to not kick up the silt and dirt. And in the end if you do this by being intentional, you will get to where you want to go much faster worker a lot less hard/stressed. HUGE. Love the content!!
A similar idea can be found in racing, especially rally. "Going fast" is not about hyper optimizing the braking, turning, and gear-shifts. Its about having a consistent pace, so you dont wreck the car. 80 hour weeks is comparable to taking the highest risk on every corner to save a few milliseconds, it is not sustainable and you will find yourself in a wreck before the finish. the guy behind you will ultimately be more successful.
As someone who’s been in software and hardware professionally for 30. I can honestly say that I’m fed up with software engineering. You do the same crap over and over again with different languages and the challenge gets less and less. Ironically the hardware gets faster and the code gets bulkier and slower because of stupid choices like Rest APIs 😂 we code worse! I’ve seen software life cycles go from decades to on average 3 to 5 years. It’s sheer stupidity and that’s also what I see with most developers that graduates after 2000. The whole engineering part is gone it’s become software hacking, trial and error, patch in production. Something that’s just foreign to us old folks. My dad build online testing systems (hard- and software) for bespoke ball bearings. Some is still running in nuclear power plants’ crane that exchanges fuel rods. And tunnel boring machines. Some stuff he found out recently ran literally from the year I was born! That is a 50 year lifecycle! Even the hardware is still running in most cases - DEC PDP-11 is indestructible 😂He recently was invited to check out the new offices and they showed their old colleagues what was still around from their labour; As a token of appreciation for what these now 80+ year olds did. My dad was so proud to see that some stuff was still running on old hardware but even more proud that for newer hardware they’d recompiled his FORTAN code or ram in a PDP-11 emulator when it was the early assembly language stuff. The biggest challenge was creating new interface boards to connect the existing (often also bespoke) transducers to. Now that is rewarding. All my projects start or with “oh this just needs to last 4 years”. It’s not firing you up to do good engineering with that attitude.
@@ThePrimeTimeagen I guess you are right mate. And although I’ve had it, I do realize that it’s a blessed job compared to 90% of the people out there. It’s just normal I guess that when you turn 50, that you get fed up with everything 🤣
@@rusi6219 I know got a fact that in my country (the Netherlands) most influence comes from back crap companies that live management and processes more than engineering like IBM, Cap Gemini, Vodafone, TMobile. As they provide a lot of internship spaces. We as a small company registered as a “accredited learning company” by the government complained about the terrible syllabus because its all presentation, write a report, what is ITIL that sort of paper rubbish. And the school explained that this is what those companies request.
Prime is like that funny, friendly and extremely loving senior we all lack in our professional lives. You make me believe in the fact that programming indeed is a happy career if you're into it, I mean you have been in it for over a decade and yet you're never bored of it. A true inspiration.
@@dudedude6690most careers nowadays are based on staring at a screen 8 hours a day, so this is not only for developers, but then again, I'd to see a research about this. Also, people stare at screens most of the day, cellphone, RUclips, tv
I've been programming since I was a teenager, it's my passion, and I'm 40 now but you couldn't pay me enough to program for 80 hours a week. Maybe when I was in my 20s but that would kill me now. If they're making people spend that much time at the computer then no wonder they hate their career.
Same here. I’m 39 and been in software engineering for around 20 years and I cannot physically do that kind of thing anymore. If I do a week like that I will be completely useless the following week and overall I will have been less productive over that two weeks. Partly it’s because I’m older but partly it’s because I did do it when I was younger. I couldn’t say no and wrecked myself. Now I’m realistic about things and don’t find it hard to say no. Most things people are working overtime for aren’t really important enough to warrant overtime. I still do plenty of reading and tinkering in addition to my day job but that carries zero stress and I enjoy doing it. I could probably work on an exciting personal project for 80 hours a week if I had no other work, but I won’t do it for someone else.
I'm currently reducing my paid hours at my job to 30, because I want to keep working on my private projects without taking all the time from things I need to stay healthy and happy (like sleep, time with my partners, sport). So yeah, while 60h is doable, I don't think it's sustainable - and 80h would burn me out very soon.
I had a lot of 80 hour weeks the last year. But since I'm now a "senior manager", I don't even qualify for overtime pay so I resent every single second of it since my family suffers.
I recently worked as a backend developer intern at a company and my experience there can vouch for everything this article has said. The boss once told me during a 7 PM standup that I can only leave after fixing a bug caused by some code written by the previous intern, even though I told him that my mom is calling and it's urgent. My mom fell sick the very next day and I quit the job after 30 more days torture known as notice period. After quitting the job with 4 months of experience, I can't find any other internship and I can understand why many people can't afford to say no to their boss. Some even develop Stockholm syndrome towards this behaviour just to survive because there aren't many jobs left and the market is very competitive.
Good advice. I've worked on both sides of this fence - pressure cookers and non-pressure cookers - and within the pressure cookers it really is on you to be your own advocate - sometimes you only get what you're willing to ask for, or even what you're willing to walk away for.
As a new software engineer back in the day I looked forward to learning new things with bright eyes. It was great. Slowly, slowly it downed on me I had spent two or three decades basically learning how to do the same things but in a different way. For a long time it seemed every project I joined used a different language: Algol, PL/M, Coral, Ada, Pascal, C, C++... that is great, they all have their sweet features, but it seemed to me they were all conceptually the same. I was not really learning anything new. I was just using new syntax, new libraries, etc for the same old, same old. Depression set in. I lost my will to even look at the new shiny things as they came along. I could say much the same about operating systems and other things. Having said that my career in software has been great. It has gotten me into places and industries I would never have imagined getting into. It has taken me to many countries. Perhaps I have been lucky but I have always worked with wonderful and smart, helpful people in great companies. Eventually a programming language came along that grabbed my attention. Finally a language that offered something conceptually new. A language that prioritised the value of correctness and robustness that was in my first love ALGOL. That language is Rust. Now I run my own little company, work at my own pace, using tools that I choose. Software Engineering is great again.
I love being in software, because of what it allows me to do, but I also hate it, because it really is only truly good for people at the very top. It's always the whole Steve Jobs vs Steve Wozniak situation. You do all the work, but people only remember your marketing partner. At a vast majority of companies, you'll be treated as a human resource, and you'll be forgotten as fast as you were introduced
You're explicitly hired to automate something. That's literally the entire job, have a machine do all the computation for you. If your company is not project-based but instead in a transition from Manual to Automated, expect that to be finished at some point. Projects are the way to go, so either choose a big enough company with lots of internal transfer or something like games where it's inherently making small products over and over.
Try to be a software tester for a year and you will feel king again as a software engineer. You guys don’t know what ‘getting no credit’ actually feels like
I feel like a lot of the pressure and stress this guy or girl is talking about is self induced. They deep down feel like they need to prove themselves to themselves or others so they work more. It's hard to overcome especially if your family put pressure on you growing up, but you have to learn how to stop working so much if you want to survive.
people forget that SWE doesn't paid more by working more vs working less. Unless you're actually enjoying it I suppose you should start to say NO to overtime etc.
The "man of momentum" hit home, saw the same burnout when im back from a vacation I lost interest to quite an extent even on things that i was super excited to work on before vacation
Loved this episode, prime. I agree with many things you said. I also have the 3 foundations I try to keep by: eat well (no sugars, no fast/junk food, take it easy on the heavy meats), sleep consistently, exercise regularly. Community is also huge, but I also try to meditate every day. Stay healthy my friends.
The sword of Damocles is from a story where the king of Syracuse (I think) let a guy sit on his throne for a day but he hung a sword over his head to simulate the experience of being king
Agism and tech bullet lists mean 10 years of experience from 20 years ago is effectively useless; even legacy shops fancy themselves as on the cusp of upgrading and will pass you over. I personally love that there's always something new and shiny to play with, but I also get how it isn't really 'optional'. If you want to sit on your sweet vb6 or ROR skills, you'll eventually be stuck in a very poorly managed gig you hate with very few options.
0:41 you are mistaken the meaning is inherent in its construction. Utopia means "not a place". i.e. there is no such thing as a perfect place because everyone's ideals are different (so in a sense yes someones utopia could theoretically be dystopic for everyone else). There is word that is similar in actual greek eutopos which "good place" and it was a play on that.
4:09 It sounds like you have never really done UI development. Most UI development comes from a poorly thought-out image where as most UIs are dynamic. i.e. there are dynamic in at least 5 dimensions.X, Y, Z-Depth, Time (animations etc), any numerous interactions and states most of which are not documented, often derived or improvised and if not iterated on or documented in entirely inconsistent ways. No, GUI by nature of who is involved and the "expertise" everyone believes they have of design and aesthetics is a clusterfuck. Give me a loose technical spec for backend over a design spec any day of the week (because for a lot of UI devs design is an inherent and expected part of their job description).
I don't understand why working from home blurs the line between work and home. I was warned about this when I started working from home. But when the work day ends I have family commitments that stop me from working? Why is anyone checking work emails after logging off?
Dude I'm literally two years in, but I'm already completely with you on the tools development. I've been working with Terraform to automate generic infrastructure deployments on as many cloud providers as possible so that anybody who has written anything for the web can deploy it anywhere they want with the click of a button if they package it correctly. And the package is containers. That's it. Just containers.
Prime is absolutely right, the hell in my head forced me to start looking at things with blind positivity or indifference. Its not easy but you can do it, trust me on that. The world is on fire, but atleast it means you arent gonna freeze to death. * This doesnt mean you shouldnt address the sources of negativity btw, but you can do alot by seeing the brightside.
When things go sideways and you're tired of being a software engineer, there's still many options out there. Of course management/leadership is an option, but you can also pursue roles like a Sales Engineer. Twenty years of developer experience primed me to be extremely successful as a Sales Engineer. I also get to talk to customers, travel, and be more social. The social aspect sounded horrible to me before but now I love it. Being able to talk to developers every day while also building one-off demos that you can later throw away sometimes makes for exciting days. Plus, the pay can be a whole lot more. So, when you're in a rut, look for some of those tangential opportunities where you can still put your skills to good use.
GPT shouldn't make you feel left behind. It doesn't write secure code at all, even when you tell it that it missed buffer overflow or SQL injection, it won't fix it. Without experienced engineers that know what they're doing, it could become like hacking in the 90s again.
I wonder if this explains why I'm seeing more injection Vulnerabilities lately. 🤔 🤔 🤔 I didn't even think about it. Disclaimer since the audience of Prime is mostly Software Engineers, I am a Pentester who likes coding. (CS degree as well) my day job isn't coding it's breaking things. Also, an alarming number of hackers can't code, which is wild to me.
i used to work in a place where i do the same thing over and over and over again, which i absolutely hate. Not only that, im also doing this like 12++ work hr per day. The overtime demand was so bad, i worked 450ish hrs per month. It was pure suffering, but i persevered. I came in as a boy, and came out as a man. Looking back, im so glad i kept suffering and become the man i currently am; i can see the positivity because i've been in bad places.
It's refreshing to see a nuanced commentary on a topic that is usually treated as "this good the other thing bad". Thank you! On the topic of fearing obsolescence and skill depreciation : There is no magic in computer science, every new "thing" is an optimisation on a different older "thing", if you know the old thing, learning the new thing is relatively trivial: microservices is SOA but good, Go is Java but with a better GC scheme and channels, go channels are UNIX pipes, you get it. For anybody starting out, please don't fall for the marketing BS (learn this language or whatever to stay relevant). Knowledge never goes 'out of flavor', products do.
This sounds exactly like my time at university studying biotech. I ended up falling deep into apathy and escapism, which lead me to my expulsion at last year of study.
There is not only the beautiful world of Netflix-culture, Mr. Streamberry, in big enterprises the blog article exactly describes the working environment. Complex legacy systems were you first debug the application before adding a new feature. Again, you rarely build new a application normally or cool new features on a green field in enterprise companies, you have to deal with old and worst designed existing software. Period. Everybody who isn't ready for this could find themselves very quickly in that exact very uncomfortable situation. So be aware when applying for a new job at an enterprise company.
As a reskiller from the kitchens, it does get difficult to keep up with the hype trains on what is supposed to get you hired. I basically gave up on that and decided to start rolling an MSP with my buddy using modern technologies we like for their effectiveness rather than their popularity. Still getting some details together, but the bottom line is a good system lasts as long as it's well maintained. The less it depends on, the easier it is to maintain. I think if you can effectively leverage those facts, you can carve a niche for yourself. Still testing that theory.
Awesome video, and your take is spot on. I'm on the tail end of recovering from burnout myself, and I definitely felt a lot of what this person was feeling. It was also almost entirely my own fault for exactly the reasons you mentioned. I willingly allowed work to take over too much of my life, and I won't even claim I'm anything more than an average performer in my field (if even). It doesn't really matter, because once you enter that spiral you end up in the same place, because the only direction is down. The moment you decide to start sacrificing energy from other areas of your life without a strict time limit, you're hosed. Then when you inevitably see your performance drop you try even harder, sacrifice even more, and that only adds more gasoline to the dumpsterfire that is your productivity and state of mind. I loved my job, loved the people I worked with, and was never pressured into overworking. Whenever I explain to people why I've not been working for months they seem to default to "it must have been an awful place to work", and I have to correct them. It's hard to explain how this happens, but you can see how if you just assume the perspective of this author. I absolutely love learning new things, but in my burnout I just couldn't do it because I felt the weight of how behind I was on projects because I was just not productive. The prospect of truly exploring and learning a new technology was daunting, and the pain is real when you see your colleagues doing these things while you're stuck. And attempts to help just make the problem worse, because nothing stings more than to become a burden to other people. I definitely say most of the blame lies with us, because we are still rare enough that no employer can afford to explicitly create a toxic work environment with extreme hours. We do it to ourselves and to each other by working extra hours, taking work home, and constantly trying to get ahead. I know there can be good reasons to compete and prove yourself, but I think for most people that kind of sacrifice is not warranted. I can tell you that having plenty of pretty numbers in your bank account won't mean much to you when you're burned out, your relationships are failing, and you have nothing going in your life other than binging TV or videogames by yourself because you feel too exhausted after working to do anything else. Even in a positive and friendly workplace you can put the weight of the world on your own shoulders, and you can easily create the toxic environment in your own mind. I think a lot of this does boil down to culture, though. Imagine the reaction you'd get as an assembly-line or retail worker if you took work home with you, or worked overtime for free. Sure, a salaried position does warrant *some* additional stake, but IMHO it should probably be bad form to do it without being directly asked to (and a balance of 40 hours really ought to be maintained). Constantly going above and beyond should be seen as a positive quality, but also as a problem that needs to be corrected for the good of the employee, their coworkers, and the corpany. Burning through bright-eyed recent grads who don't know what they're sacrificing (or who think they're the exception) cannot possibly be the most profitable system unless you have a shortsighted view of things. Not sure where I was going with this other than just ranting, lol. Oh, the bit about being momentum-driven makes me wonder if Primeagen might have ADHD.
I have been in this industry for not more than 1.5 years, but I completely understand what you mean. The way I deal with burnout is by continuously learning. By expanding my knowledge, I feel less stressed and I'm more capable of solving the problems I encounter. However, some may argue that excessive learning can actually contribute to burnout. Nevertheless, I have embraced this approach because I never saw software engineering as just a job; instead, I view it as getting paid for doing what I love.
I had the opposite experience building tools the last year. But that was because every time someone had a problem somewhere, it trickled through a game of telephone up the organization chart to the nearest common ancestor with my dev team, and then back down, picking up a lot of pointless requirements like "it has to have a SPA front-end" and "it has to look like Excel". We were never trusted to understand the original problem and come up with a solution for ourselves.
10:55 -- I mostly agree with this idea. If you're doing something that seems hard enough (but clearly doable) at a glance, and it will take over 2-3 weeks by your estimate, you really don't know how long it'll take. Most certainly, you'll uncover some part of the problem or process along the way that extends how long it'll take. Sometimes (rare), it could go the oppoosite way and you find that something you thought was north of 2-3 weeks is substantially less because you discover something that does the hard work for you. One of my pet peeves as a software engineer related to deadline pressure, is managers expecting you (the engineer) to put together months long project plans telling them week to week when pieces would be done. What the actual F purpose is this? A deadline as a date is fine, but giving them a week to week playback for that long of a period of time is always a pain in my ass. It feels like double talk because they would also say "oh, its fine if things slide, and get pushed back." So then why am I writing down when I think it'll be done rather than just focusing on getting it done? Why can't my plan list what the pieces are and how they depend on each other rather than spending time an energy describing a future that has a low chance of materializing? No one has told me if this is just a sh*ttest in the corporate world about something else. I've been hit with it way too often and I have easily proven I am a senior level engineer on long lived projects, able to meet deadlines or communicate effectively around realities no one reasonably beats.
I don't think this is an issue with software engineering, I think it's an issue with bad management. Being a dev sucks when none of the people who are foisting their bad decisions upon you are devs themselves... When product dictates the expectations, and devs dictate the implementation, being a dev is pretty awesome! It's when the lines start to blur that things get frustrating.
I can so relate to the momentum bit. That's literally what I face every time. I find it extremely hard to switch to vacation mode and then back to work mode. It always ends up being a half assed vacation because I always have it in the back of my mind to keep the work momentum going, knowing I have to go back and switch back and hit the ground running.
It's good to have experience in different things. Because it is exactly the same in any other job. You can be an translator, a builder, support engineer, whatever you want. If you think that you can escape this by not doing software, you just don't know life. If you don't set boundaries, the management and clients will do it for you and they always push for what they want. The irony here s that people fear that they will miss out, and be replaced, that they have to work long hours and always say yes to anything, but then they're surprised that it does not pay because that exact attitude makes them easy to abuse. If you don't do that, you'll miss the shitty jobs, sure, but maybe you'll have a shot at something better.
21:52 THANKS for the words of encouragement. The only issue is: I hate golang today. For it's interfaces, for the import cycles, for the mess that you get with absence of modules, just packages... My brain is very strained when using this POS
As a software engineer that took that changed career path after a burnout in another field (no regrets, I love it and am very passionate about it, and learning so much and finding very motivated people), the problem of this person is not software engineering, it's time, people and boundaries management. You can do whatever you want, if you don't know how to set boundaries and take care of yourself and prioritize yourself, nobody will do it for you and certainly not your team who first of all is not in your head and does not know how you feel, and also benefits from you overworking yourself in the short term. If this person does not reconsider how they function, they could end up in this kind of spiral with any job. I know I did. It's not bad to mildly inconvenience your team for your own survival. If you need it, verbalize your need for clear boundaries between work and not-work, know your needs and wants of the moment and communicate them in a healthy way, I always do it and it's either well recieved or I don't want to work there anyway.
I think the last line settles the problem: sometimes it is an issue of just surviving, you don’t have to thrive all the time. Just be ok with being human. Strive to thrive when you want and when you can afford to.
Its been 5 years since i start developing. Your last speech exactly true, grow as an orphan in poverty. I can't even remember 3 days in a row that i didn't code 15-16 hours a day. What we lose from birthright we will take ourselves. Rn im miles away from where i start coding but still cant drop overworking habit.
I've been in data science for 7 years now, and I have never had the opportunity to work with neural networks, and it feels like every company and their mom wants their own neural network guru, and I am stuck unable to find a job because I've never been given the raw resources to be able to experiment with NNs in an actual, real environment - the biggest company I've worked in is Coca-Cola, and the most powerful machine i've had there was my work laptop with an integrated GPU. I've worked for one of the biggest forex brockers in the world, and all the resources they dedicated to me for NN experiments were a server with 4 cores and 8 GB RAM which were also shared with some other services. I have no idea what to do, it just feels like my years of expertise building ML models are a bloody waste because I don't have the experience in my Resume.
I work as a maintenance person for residential housing. What the article said at 12:54, the superman syndrome, is rife in this industry to. The sort of "go fix the thing" mentality, even if you have no idea what you are doing. Just the other day, they sent our painter who does minor repair tasks to uninstall furnace parts, when he has zero experience on furnaces and not even the correct tools to do it, and then got upset when he said he needed someone to help and show him what to do.
While I think Prime is a great influence for sofware folks, I respectfully disagree with his takes here. I feel it's important to acknowledge that a huge proportion of jobs actually look like what the article is describing and people feel genuine and, sometimes profound, dissatisfaction affecting their lives. I'm sure advices come from good intention but I'm also sure that hearing "learn to say no to people", "do more and be excited about it", "find a better job", "it's your fault for not doing enough for making things better" will not resonate well with many. If you read this and and fall in this category - my heart goes to you, the world can be a real tough place but you're doing great and take it easy on you ❤
I just can’t relate to these stories, early on my career I was very overworked but one day I decided to say no more often and negotiate more, after that I never worked outside business hours and it didn’t affect my career, it helped me a lot, I naturally was more productive and had more time to study what I was interested. Most opportunities that I had came from side projects, usually dumb ones like telegram bots
@@jel1951 Yes, it is, but I really think saying yes to everything isn’t the way to prove yourself. Being able to negotiate a reasonable amount of work and doing that very well is probably the best way. Of course there are places where this isn’t possible, but if you’re stuck in this situation try to find a way get the hell out of this place as soon as possible. Software engineering is one of the few professions where we have that kind of power, so we better take advantage of it.
As a software engineer of 7.5 years, this article is describing a completely alien world to me. I've never had a hard deadline. I've never had crunch at all, let alone for months. I've never felt a dire need to upskill besides a singular shift from web to mobile (which I got paid to learn on company time, was great). My job has almost never been terribly stressful and most the time it was had nothing to do with coding, but garbage people/situations like getting screwed out of a promotion to another team by my management. Recently the tide has shifted some, but generally software is an in demand field and that's why wages are so relatively high and perks so relatively good compared to most careers out there. Truly baffled by OP not just quitting and finding somewhere that wasn't a trash heap.
"if you leave your job none of your coworkers will keep in contact with you" that hits hard cause it's been like that for me in school, highschool and University as well.
Just left a job where the standard deploy process was running serveral scripts in a specific order on your local machine, using your local code, straight to prod. And pushing directly to master was common. Also most files had 2000+ lines of unrelated code
In startups it's tough. I now see it's all round problem. The pressure is hight all the time but client deadlines are the greatest pain. Being the 'All in one' developer. Now with such experiences we get to endure the challenges that come a long. This is the iceberg that everyone does not speak about. We are only told of good salaries. This is an eye opener and good to know many devs also fee the same around the globe. Working on Bugs, Self growth, New features, Life balance and all these are always in conflict
When asked about deadlines, I usually just tell people the project could take years. I never give an actual number. If I end up finishing the project in a week, then they will just think I'm just really good at programming.
Halfway done watching this and I already appreciate how easy of a time I am getting at my job... Therefore, more motivated to grind and do better here! Communicate and pray you have a good relationship with your manager (lots of things need to go right to accomplish this but if it does happen, it's the dream!)
I'm having such an easy time in my current job I'm worried that I'm not going to be pushed enough to get better! This article is a bit ridiculous Edit: the ending kinda saved the article a bit
In my opinion Rust is very powerful and versatile thanks to its novel approach to memory management at compile time. But it is the first iteration of that idea in the wild, and I suspect we'll get a better approach on a future language. That, combined with a lot of features such as operator overloading, macros, traits rather than simpler interfaces, makes the language very difficult to learn. I think or hope we will get a language that a let's you do what Rust does, but feels and learns like Go. Imagine, for instance, optional GC except when you don't want it or prefer not to have it. Imagine optional goroutine like concurrency with optional runtime for that, only when needed and no async/await (colored functions).
I understand this guy, even if I do not share a lot of the experiences. I think the only thing I dislike are people with a mindset that tries to push the coders to their limits, which leads to such horrible environments. You have to research narcissism if you want to work in Tech, and know how to survive or cope with the situation if you have someone in your company who was hired to find the weakness. Also, it never works out, it will always be random people being fired. Toxic work environment never really saved a business, but it for sure killed them.
My extensive overtime and learning at home stopped when I went freelance. I work less hours now than ever and earn more than ever. Then again like I said I’ve done it all it’s just a different language or framework or even environment. But all my overtime was on me, because I was the tech lead and I found I had to come up with solutions. Now I realize if I’d done less they’d added another person into the team. When there’s no necessary to add people because work gets down, why add them?
Our business unit is in such a mess that I have spent literally the last year doing nothing but hand-holding 20 different teams integrating our simple API that we already deployed in December. Yes, there are 20 teams doing basically the same job. Our API will transparently support any combination of product, region, and integration type, yet we have 20 teams, each doing the exact same work over and over for each combination of product, region, and integration. We used to be 10 developers following Agile + scrum and we could push a new "combo" in two to four weeks. Now we're 60 developers doing the same work and it takes MONTHS because no one knows who is working on what and everyone has their own separate task board and schedule.
It's not a burden to learn for prime because he even says he has no deadlines and no clients. But if you have deadlines, clients, and have to learn, it gets to be a lot. It's a hard balance. It's all about balance.
My parents were bank clerks when computers and ATMs took off. Where I live, bank clerks used to be well compensated and to be considered in a position of trust. Then computers came along and they became essentially a cheap interface between the machine and the customer. So yeah... I have a pretty good life as a SE, but their history stuck with me. I am indeed afraid of becoming obsolete.
10:45 Here's the gist of it: Damocles was punished by a king the following way: He was in a bed with all good foods etc. and was not allowed to leave it. At first he didn't noticed that it was a punishment, but then he looked up and saw a very sharp sword hanging from the ceiling only hold up by one string of horse hair and could as such fall on him at any moment (which would result in a painful death).
The Sword of Damocles that’s based on Greek mythology. He was the executioner at the court of Syracuse. His sword was the method for execution. It’s a very famous European saying.
Man "Creature of Momentum" is the exact description for me as well. I find it so difficult to start, but once things are going I can be consistent for a long time.
I actually really enjoyed this post. It was quite pessimistic, but I think it is someone really feeling it at the moment - they are almost writing this to themselves. I've been through this "dark side" as I had a toxic manager that slowly turned me into a pessimistic person, but now that I've been away for several years I've gotten through it. Sleep, exercise, eating healthily, and social interaction can be the base of the "light side" 💯. It didn't help that my "dark side" coincided with Covid, so my habits were thrown off. Best of luck to anyone going through this - just focus on those good things and take charge - for me it was holding out a little longer until I found a better job opportunity, and relying on my spouse.
I agree it depends on one's ability to say No. As Uncle Bob said "We never borrow tomorrows energy to fix today's problems". You can never do enough in one day so no need to push yourself beyond the normal work hours. However, you have to keep learning.
I came into programming from another job (portfolio management). Every job can burn you out, especially if you’re driven. It’s really up to you to have discipline around habits, separating home and work, etc. Sometimes it’s not your fault, but you owe it to yourself to find out. Otherwise, you’ll find that every job burns you out.
"I just don't like putting all the blame externally. I personally try to take on most of the blame, 'cause often all the things that go wrong are because I have misread the situation." And now we know the _real_ reason for your success.
Fear of feeling left behind becomes real when you have to work in a legacy environment for a long time without any variance in work like tooling or something new. It's real imho and i've felt it aswell.
You cant tell someone how long its gonna take to complete something when you can't tell how long its gonna take to solve the bugs you have yet to run into.
Hot take: if you're doing regular OT in software, it may not be your choice initially but it eventually becomes your choice. Once you're mid-level, there are jobs everywhere you could get that don't do OT. Irregular OT in software is not your choice. ALL companies will have an OT spike here and there. That is just engineering. Sometimes that spike is a 45hr week. Sometimes it's an 80hr week. Game development is known to have regular OT, so if you do game development that was your choice. I would say anything more than 80hrs of OT across the year is not good. That allows for 4 weeks of an extra hour a day in 2 quarters (March and November crunch, if you will), and a catastrophic 6-days & 13hrs/day crunch (or production down), and an additional 24 days a year having an extra 10-minutes because of an end of day or sprint meeting going over time... this assumes there is no flex time and it's an extra 80hrs of OT, not "thanks for coming in 8hrs more last week, take this Friday off" situation. If you're doing more than that, it's just simply your choice for staying with a bad work-life balance.
Scope creep, managements fault or simply being a smart ass with the power of hindsight. It is easy to say "What I plan is what I build" if the most complicated thing you built was a calculator app.
IIRC: Utopia was coined by Sir Thomas More (for his book), based on Greek 'eu' meaning 'good' and 'topos' meaning "place". Dystopia was then coined off of utopia to mean the opposite
This massively depends on the culture and organisation of the company you work for. If you are an experienced software engineer, finding a new job is easy. Leverage it, say no to working 80 hrs a week, say no to midnight bug fixes, demand a work-life balance. Assert yourself towards management. And if it's really affecting you badly, quit the job, or even consider a career change or break from work if you can afford it. Too many people I know, in many different fields, complain about where they work, suffer burnout, etc. Yet seem to stay there endlessly even if another job would be easy to find. I don't get it.
Use cost of delay instead of estimating time. Tell your manager how much money the software is going to make / save. It'll easily justify most budgets. Otherwise you should work on some other task. Make sure you get enough sleep, eat nice food and attend some hobbies. It recharges your creativity which is crucial to write good software. And btw, your creativity span is definitely not longer than 8h per day, probably only like 3h. It's ok to do the complex task tomorrow with a fresh mind. No one will enjoy a half-baked feature on a Friday release. Switch to an easy task if things go wrong to regain some confidence. Deliver something every day. It'll create trust between you and your clients that you can deliver value. Hope this motivated someone who's struggling.
Because the first generation of hackers/founders is still alive. Meanwhile hard-/software has progressed the equivalent of 800 years in just 80. That's bound to be the most interesting time humanity has ever faced!
If you're worried about deadlines, you're either absent from the estimation process of which is very-very bad, or you're estimating too optimistically. You have to multiply your deadlines AT LEAST by 2, because there can be many unknowns along the way during development. Chief O'Brien and Scottie knew that.
corporate managers rarely care about software estimates except the ones they have in mind themselves ("it must take X weeks. I need it in X weeks"). sadly entire companies can be filled with "yes" people who are afraid (sometimes rightly so) they'll be outcast and forced out if they're the sole proponent of sensible estimates and saying no diplomatically.
I wonder if Prime would have gotten to where he is now had he NOT been one of the people who didn't say no early in his career. Easier to let off the gas when you've already established yourself. At many of the companies I've worked at there has been a strong culture of "put in your 80 hour weeks when you're young and reap the reward later."
For a while I was tempted to say to the OP "quit yer whining and pay your dues kid," but I've been where he or she is, and it does suck, especially if you're dealing with poor physical and/or mental health. We're in a society-wide crisis of both and we've either lost or never learned how to deal with it, and the truth is that is the precondition to everything, including dealing with what is otherwise ordinary work stress. When you're unhealthy, even that can feel insurmountable and can even break you. At my most depressed, ordinary deadlines I used to be able to meet became unachievable, to the point where I lost more than one job because I couldn't keep my commitments. From the outside this looked like lazy irresponsibility, and that's not even untrue in a sense--but the very meaning of being ill is that you can't do well what you know you can (which makes you feel even worse). It really, really sucks. You have to be well in order to do well! The only thing I'd add to what Primagen is saying about sleep/diet/exercise--which is the first thing any therapist will tell you to work on--is to find a healthy community to belong to. The root of "toxic positivity" is the lie that we can do it all by ourselves and it's ultimately all our effort (read: all our fault individually if we fail). We need others in order to be happy and succeed.
Ya got me, I don’t know why I missed that, must have slipped my attention while listening…but great react with a lot of compassion and good advice. Thanks.
Unhealthy work environments are not created deliberately or with malicious intent. What does management want but a functioning and succesful team that builds what they need with as little detour as possible? Explain how working differently will be more successful. In my experience, people will welcome the ideas and the input of a team or individuals that exude confidence, maturity, can self-organize, intelligently prioritizes work, communicates well, and requires little guidance. If that's what they see in you, they'll let you do whatever you want.
Any attempt to create a utopia inevitably creates a dystopia. “There are no solutions, there are only trade-offs; and you try to get the best trade-off you can get, that's all you can hope for.”
Avoid the hype trains. There is too much out there to think that you need to learn every new thing. That being said, I work at a company that is not a "tech company" and has only really started having software developers in the last 6~7 years. We don't have a lot of people with diverse experiences or people with lots of experience. We don't have a lot of support to adopt things like cloud, containers, canary, working with IT to improve deployments. It does worry me that I'm not learning enough new things that I'd be able to thrive and hit the ground running at a tech company. Working at Netflix you may not feel that as much as us at smaller companies where tech is not as central to the business. I'm doing what I can to help move our company forward and try not to complain too much about the above issues. In the past I haven't always been as proactive about this but I'm trying to move beyond that. But, yea, I definitely I agree with this, it's on you to fight for yourself and most places there's so much room for you to be in control of your experience. I recently had a coworker replying on tickets on his day off. I've never done that, he wasn't expected to do that. It was in his control to not do that.
The fact that a guy with a CS degree, 40k hours of experience, IQ above 140, knows what a monad is, and works a netflix “got rejected from many a job” puts us all at ease about our job prospects 😊
He has a point about the work following home, though for me its a bit different: I sometime still think about work and actual for work coding in my off hours, where its like a worm that intrudes into my mind and doesn't let me unwind.
It could be worse You could be programming specialized machines where you are dependent on the hardware working correctly, but the hardware itself is a prototype too. Some parts of the machine may not work as thought out by the mechanical gods of architecture, and have to go back to the drawing board. This takes time and until the new parts arrive the deadline is still crawling closer. And suddenly you only have a week to implement and test a complex and complicated process of high speed image capturing and processing of cosmetic defects in a pharmaceutical product made by a well known customer starting with P at production speeds of 600 per minute. And the customer understands why mechanical stuff takes longer, because he can see it, but the software stuff? Its somehwere in a cloud.....
I've worked in really great environments and I've had really shitty experiences. Most recently was with a group contracted by the gov and everyday felt like the hunger games.
It's true to me, burnout comes when I'm not learning or not improving in any areas. Stagnation and doing the same things on a daily basis without opportunity to improve triggers burnout.
To the person who asked how to develop a positive outlook on life. What Prime said is absolutely true, you need to push hard to get out of the slump you're in. Basically you need to get your head above water before you drown, and no its not easy, intact it's extremely hard, but once you're able to tread water and breath air, you realise that it's way easier to stay above water than to be under.
stay healthy. save up a large enough stash to retire at any moment. i am 50. my daughter goes to college for $4k/mo in two weeks. my nightmare started when i became diabetic. in June, i went blind much of the month, for a month. i was let go a month after that. i avoided working for big companies because i lost one eye already, and had the risk of such leaks making me blind. it's so hard to not fall behind, especially if you stay in the job for a decade. i am still looking for a job. but super-high security clearance is out of reach, and i'd probably descend into destroying my health at a big high-profile company. the work itself isn't bad. but it is a gladiator job, and you may not be able to do until the end.
Lovely video but i find disheartening the poll part....How about people are scared of being left behind, not because FOMO as they don't know the whatever flashy hyper-hyped thing, but just because they won't find a job in case of layoffs? people need to pay bills, it's not always about being excited to be part of ....so you kinda have to know it today or tomorrow tops or it'll just get harder trying to chase a faster target. Not everyone can be a rockstar even with hard work...i personally feel for all those people and that is indeed part of this dark side the author is talking about, in my personal opinion
The Darkside of Software Engineering is a pathway to many abilities some consider to be unnatural
Darth Prime the Wise
Life is a lie, there is only code.
Through code, I gain work.
Through work, I gain projects.
Through projects, I gain junior devs.
Through junior devs, my compilers chains are broken
The code will fuck me.
i was reading through and just about to add in my mind "code doesn't get you lai..." oh he addressed it on the last line hahaha😊😇
The price of becoming a professional is not wanting to do the job anymore but people keep asking you and you convince yourself to do it again
Plus money
Dreamberd be upon ye
As an unemployed software engineer, I'm glad that I'm back at the farm
My most fulfilling work is stuff I do on my own initiative. The stuff that people ask me to make tends to be boring and frustrating shit.
Stardew Valley?
Maggies Farm?
ignoring sarcasm assume its not then good for you
Software industry is weird because there are these cool fang influencers who tell everyone how the industry is, but they have jobs/work in enviroments that arent the reality for 99,x % of people.
The only other industry similiar to that is finance, where influencers talk about their cool wall street jobs while 99% of their audience end up in a district savings bank where they permit loans for car port extensions or a new bath room.
For many people, the path to unhappiness is predetermined from the very beginning!
💯 these major tech company devs live in a relatively cushy bubble. ample in-house resources and benefits. it's all become too trendy and I can't believe that those in these large companies can be maintaining the same level of skill that those in smaller companies HAVE to maintain just to stay employed. I wish software dev didn't become so popular cuz it's been flooded with "cool people" larping as devs in big tech thanks to their social status and network
I've definitely felt the "fear of being left behind" before. In a previous position we weren't using anything "modern," and I was only keeping up with newer things because I was sacrificing home life to learn. It was exhausting!
I think this is an important point. Sometimes there's a fear of falling behind because you're not growing in your job. Fear of not being on the front lines
there are some things that will just never die. Wordpress developers don't need to learn anything new. If you want to not have to learn every other day, just go do that. Similar pay too.
The real question, are those things worth to keep up with them? Maybe some new fancy stuff pops up and dies 2 years later, but it was a big hype at that time. Learn principles and you will be able to use any technology.
@@BusinessWolf1 It's pretty flexible, too. For example, if you do want to upskill a little then going headless using the Wordpress rest api allows for a more modern approach to your front end.
That’s exactly why i left my previous Job. It was 10 years old tech. And I felt sooo stuck. Especially in front end devs
I've been programming since 1983 as a kid. I programmed professionally since 1991. I burnt out every 5-7 years, and I didn't know why. I had to take a break for 4 months and then re-engage into employment which is not easy to to do or to explain to prospective employers. In 2015 I retired from programming professionally and started a business to pay the bills. Now, I still spend +30 hours per week programming on my own terms and I love it! I wished I had said NO, NO, NO to all those extra hours I spent working TO MAKE SOMEONE ELSE RICH. It is as simple as that.
I wish I could do this but I don’t have any good business ideas worth dedicating my full time to.
@@DevinWeaver Start something small, maybe a side hustle that you’re interested in, you can’t grow overnight it takes time. I’m sure you have something and some ideas that could bring in a little extra money on the side. A simple idea could lead onto other bigger things in different parts of your life. Please, please, never, ever give up!
@@0runny Never give up
You sound like a cool guy, hope your business thrives man
About burnout, for me it's the opposite, doing backend is the fastest way to burnout. But maybe it's like that because most of my time with backend is with Java (not because the language per se, but architecture of the majority of apps built with it), doing the simples change require an insane amount of files, connections, binders, configs. You spend more time debugging and tryind to understand what's going on and where you can put your code than actually coding
yeah, that stuff kills me
Nothing gets me burned out faster than wasting time on debugging environment issues. I recently worked on a web service that was split PHP 5 and 7 that made API calls to a python back end service. Thousands of random php files that were just building string of html/css/jquery while calling out to a python API to get data. I burned days just figuring out WTF was going on while having people breathing down my neck asking why stuff was taking so long. I have never felt so drained in my life working on that project.
I would argue your system hasn’t enough clear easy to use documentation. The process of ‘trying to find out where to put my code’ is suggesting this at least. There should not BE such a process. All that should be in the docs and should be easy to find (not understand necessarily). It’s like blaming an application for being shit but you never read the manual (or there isn’t one). Anyway if this is the case: time to move on! Never (almost never) work in an environment with poor documentation. It’s a huge sign of bad priorities.
@@paulholsters7932 I totally agree with you, sadly not every company force a policy of good documentation, features, MVP and deadlines takes over good documentation. I sadly worked with very big apps for a pretty large company. For example, the last Java project I worked with was a monolith with 100+ devs working on it. And not only had a massive large source code but also most of the flow was controlled by real production session, so it wasn't easy to debug and try things, all of that with pretty basic documentation.
Maybe I had bad luck with the few companies I worked with. I still haven't seen a enterprise level Java which doesn't suffer from the overcomplex and oververbosity of it's architecture.
Sorry to tell you that your applications are difficult to change.
You can employ a clean architecture approach that makes your work easier.
Honestly this is one of your best takes yet. The amount of support, understanding and overall good advice that you provide here is amazing. Thank you.
Your comment about Hurry is something I realized in my own life recently. An example that clicked for me a while ago was someone describing koi fish swimming in a muddy river or pond. Those who swim too fast kick up the dirt and cloud the water, they are swimming fast but aimless. You need to go slow enough to not kick up the silt and dirt. And in the end if you do this by being intentional, you will get to where you want to go much faster worker a lot less hard/stressed. HUGE. Love the content!!
A similar idea can be found in racing, especially rally. "Going fast" is not about hyper optimizing the braking, turning, and gear-shifts. Its about having a consistent pace, so you dont wreck the car.
80 hour weeks is comparable to taking the highest risk on every corner to save a few milliseconds, it is not sustainable and you will find yourself in a wreck before the finish. the guy behind you will ultimately be more successful.
As someone who’s been in software and hardware professionally for 30. I can honestly say that I’m fed up with software engineering. You do the same crap over and over again with different languages and the challenge gets less and less. Ironically the hardware gets faster and the code gets bulkier and slower because of stupid choices like Rest APIs 😂 we code worse! I’ve seen software life cycles go from decades to on average 3 to 5 years.
It’s sheer stupidity and that’s also what I see with most developers that graduates after 2000.
The whole engineering part is gone it’s become software hacking, trial and error, patch in production. Something that’s just foreign to us old folks.
My dad build online testing systems (hard- and software) for bespoke ball bearings. Some is still running in nuclear power plants’ crane that exchanges fuel rods. And tunnel boring machines.
Some stuff he found out recently ran literally from the year I was born! That is a 50 year lifecycle!
Even the hardware is still running in most cases - DEC PDP-11 is indestructible 😂He recently was invited to check out the new offices and they showed their old colleagues what was still around from their labour; As a token of appreciation for what these now 80+ year olds did.
My dad was so proud to see that some stuff was still running on old hardware but even more proud that for newer hardware they’d recompiled his FORTAN code or ram in a PDP-11 emulator when it was the early assembly language stuff. The biggest challenge was creating new interface boards to connect the existing (often also bespoke) transducers to.
Now that is rewarding.
All my projects start or with “oh this just needs to last 4 years”. It’s not firing you up to do good engineering with that attitude.
its wild. and this is such a great reminder of where we came from and where we are at
@@ThePrimeTimeagen I guess you are right mate. And although I’ve had it, I do realize that it’s a blessed job compared to 90% of the people out there. It’s just normal I guess that when you turn 50, that you get fed up with everything 🤣
Ye ye but who's the ones designing curricula for the youngins
@@rusi6219 I know got a fact that in my country (the Netherlands) most influence comes from back crap companies that live management and processes more than engineering like IBM, Cap Gemini, Vodafone, TMobile. As they provide a lot of internship spaces. We as a small company registered as a “accredited learning company” by the government complained about the terrible syllabus because its all presentation, write a report, what is ITIL that sort of paper rubbish. And the school explained that this is what those companies request.
Prime is like that funny, friendly and extremely loving senior we all lack in our professional lives.
You make me believe in the fact that programming indeed is a happy career if you're into it, I mean you have been in it for over a decade and yet you're never bored of it.
A true inspiration.
It's bad because developer lose their eye sight in 5 years so definitely bad career
@@dudedude6690dudedude come on dudedudedude
@@dudedude6690most careers nowadays are based on staring at a screen 8 hours a day, so this is not only for developers, but then again, I'd to see a research about this.
Also, people stare at screens most of the day, cellphone, RUclips, tv
Yeah, I often wonder: if people on Netflix is like this, I think I'd like to work at Netflix.
@lpls big tech is cushy let's be honest
I've been programming since I was a teenager, it's my passion, and I'm 40 now but you couldn't pay me enough to program for 80 hours a week. Maybe when I was in my 20s but that would kill me now. If they're making people spend that much time at the computer then no wonder they hate their career.
Yeah, 80h would be too much for, but doing 40h actual work + 20h own projects / reading books on the subject is doable
Same here. I’m 39 and been in software engineering for around 20 years and I cannot physically do that kind of thing anymore. If I do a week like that I will be completely useless the following week and overall I will have been less productive over that two weeks.
Partly it’s because I’m older but partly it’s because I did do it when I was younger. I couldn’t say no and wrecked myself.
Now I’m realistic about things and don’t find it hard to say no.
Most things people are working overtime for aren’t really important enough to warrant overtime.
I still do plenty of reading and tinkering in addition to my day job but that carries zero stress and I enjoy doing it.
I could probably work on an exciting personal project for 80 hours a week if I had no other work, but I won’t do it for someone else.
I'm currently reducing my paid hours at my job to 30, because I want to keep working on my private projects without taking all the time from things I need to stay healthy and happy (like sleep, time with my partners, sport).
So yeah, while 60h is doable, I don't think it's sustainable - and 80h would burn me out very soon.
I had a lot of 80 hour weeks the last year. But since I'm now a "senior manager", I don't even qualify for overtime pay so I resent every single second of it since my family suffers.
@@JP-hr3xqdamn
I recently worked as a backend developer intern at a company and my experience there can vouch for everything this article has said.
The boss once told me during a 7 PM standup that I can only leave after fixing a bug caused by some code written by the previous intern, even though I told him that my mom is calling and it's urgent. My mom fell sick the very next day and I quit the job after 30 more days torture known as notice period.
After quitting the job with 4 months of experience, I can't find any other internship and I can understand why many people can't afford to say no to their boss. Some even develop Stockholm syndrome towards this behaviour just to survive because there aren't many jobs left and the market is very competitive.
Good advice. I've worked on both sides of this fence - pressure cookers and non-pressure cookers - and within the pressure cookers it really is on you to be your own advocate - sometimes you only get what you're willing to ask for, or even what you're willing to walk away for.
As a new software engineer back in the day I looked forward to learning new things with bright eyes. It was great. Slowly, slowly it downed on me I had spent two or three decades basically learning how to do the same things but in a different way. For a long time it seemed every project I joined used a different language: Algol, PL/M, Coral, Ada, Pascal, C, C++... that is great, they all have their sweet features, but it seemed to me they were all conceptually the same. I was not really learning anything new. I was just using new syntax, new libraries, etc for the same old, same old. Depression set in. I lost my will to even look at the new shiny things as they came along.
I could say much the same about operating systems and other things.
Having said that my career in software has been great. It has gotten me into places and industries I would never have imagined getting into. It has taken me to many countries. Perhaps I have been lucky but I have always worked with wonderful and smart, helpful people in great companies.
Eventually a programming language came along that grabbed my attention. Finally a language that offered something conceptually new. A language that prioritised the value of correctness and robustness that was in my first love ALGOL. That language is Rust. Now I run my own little company, work at my own pace, using tools that I choose. Software Engineering is great again.
Amazing story man, props to you, what is the name of your company?
I love being in software, because of what it allows me to do, but I also hate it, because it really is only truly good for people at the very top. It's always the whole Steve Jobs vs Steve Wozniak situation. You do all the work, but people only remember your marketing partner. At a vast majority of companies, you'll be treated as a human resource, and you'll be forgotten as fast as you were introduced
You're explicitly hired to automate something. That's literally the entire job, have a machine do all the computation for you. If your company is not project-based but instead in a transition from Manual to Automated, expect that to be finished at some point.
Projects are the way to go, so either choose a big enough company with lots of internal transfer or something like games where it's inherently making small products over and over.
@@alexnoman1498 this is very real, thats why coding for hobby vs coding for work is like heaven and hell
Try to be a software tester for a year and you will feel king again as a software engineer. You guys don’t know what ‘getting no credit’ actually feels like
@@paulholsters7932 software tester is paid end-user
@@tonyhart2744 software testers have to be incredibly efficient at searching out potential bugs, it doesn't seem fun or relaxing in the slightest.
I feel like a lot of the pressure and stress this guy or girl is talking about is self induced. They deep down feel like they need to prove themselves to themselves or others so they work more. It's hard to overcome especially if your family put pressure on you growing up, but you have to learn how to stop working so much if you want to survive.
This is tough, sometimes it’s a loop where you can’t do better because you’re overwhelmed but you’re overwhelmed because you can’t do better
people forget that SWE doesn't paid more by working more vs working less. Unless you're actually enjoying it I suppose you should start to say NO to overtime etc.
A lot of people literally don't know how to handle stability because their entire life is stressing and cramming for tests in school.
The "man of momentum" hit home, saw the same burnout when im back from a vacation
I lost interest to quite an extent even on things that i was super excited to work on before vacation
its wild how it works
Loved this episode, prime. I agree with many things you said. I also have the 3 foundations I try to keep by: eat well (no sugars, no fast/junk food, take it easy on the heavy meats), sleep consistently, exercise regularly. Community is also huge, but I also try to meditate every day.
Stay healthy my friends.
The sword of Damocles is from a story where the king of Syracuse (I think) let a guy sit on his throne for a day but he hung a sword over his head to simulate the experience of being king
Agism and tech bullet lists mean 10 years of experience from 20 years ago is effectively useless; even legacy shops fancy themselves as on the cusp of upgrading and will pass you over.
I personally love that there's always something new and shiny to play with, but I also get how it isn't really 'optional'. If you want to sit on your sweet vb6 or ROR skills, you'll eventually be stuck in a very poorly managed gig you hate with very few options.
Is it really ageism or just boomers being too lazy to adapt and grow bitter about it?
0:41 you are mistaken the meaning is inherent in its construction. Utopia means "not a place". i.e. there is no such thing as a perfect place because everyone's ideals are different (so in a sense yes someones utopia could theoretically be dystopic for everyone else). There is word that is similar in actual greek eutopos which "good place" and it was a play on that.
4:09 It sounds like you have never really done UI development.
Most UI development comes from a poorly thought-out image where as most UIs are dynamic. i.e. there are dynamic in at least 5 dimensions.X, Y, Z-Depth, Time (animations etc), any numerous interactions and states most of which are not documented, often derived or improvised and if not iterated on or documented in entirely inconsistent ways.
No, GUI by nature of who is involved and the "expertise" everyone believes they have of design and aesthetics is a clusterfuck. Give me a loose technical spec for backend over a design spec any day of the week (because for a lot of UI devs design is an inherent and expected part of their job description).
I don't understand why working from home blurs the line between work and home. I was warned about this when I started working from home. But when the work day ends I have family commitments that stop me from working? Why is anyone checking work emails after logging off?
“Tons of rejection, tons of hardship, it’s all nostalgia at this point” -CHAD
Dude I'm literally two years in, but I'm already completely with you on the tools development. I've been working with Terraform to automate generic infrastructure deployments on as many cloud providers as possible so that anybody who has written anything for the web can deploy it anywhere they want with the click of a button if they package it correctly. And the package is containers. That's it. Just containers.
If it’s on Medium I just know he’s going to read the worst takes ever.
This is true
Prime is absolutely right, the hell in my head forced me to start looking at things with blind positivity or indifference. Its not easy but you can do it, trust me on that.
The world is on fire, but atleast it means you arent gonna freeze to death.
* This doesnt mean you shouldnt address the sources of negativity btw, but you can do alot by seeing the brightside.
When things go sideways and you're tired of being a software engineer, there's still many options out there. Of course management/leadership is an option, but you can also pursue roles like a Sales Engineer. Twenty years of developer experience primed me to be extremely successful as a Sales Engineer. I also get to talk to customers, travel, and be more social. The social aspect sounded horrible to me before but now I love it. Being able to talk to developers every day while also building one-off demos that you can later throw away sometimes makes for exciting days. Plus, the pay can be a whole lot more. So, when you're in a rut, look for some of those tangential opportunities where you can still put your skills to good use.
GPT shouldn't make you feel left behind. It doesn't write secure code at all, even when you tell it that it missed buffer overflow or SQL injection, it won't fix it. Without experienced engineers that know what they're doing, it could become like hacking in the 90s again.
I wonder if this explains why I'm seeing more injection Vulnerabilities lately. 🤔 🤔 🤔 I didn't even think about it.
Disclaimer since the audience of Prime is mostly Software Engineers, I am a Pentester who likes coding. (CS degree as well) my day job isn't coding it's breaking things.
Also, an alarming number of hackers can't code, which is wild to me.
@@littlered6340 I'm blue team that likes to code. We've caught a few devs using GPT and had major vulns in their code.
i used to work in a place where i do the same thing over and over and over again, which i absolutely hate. Not only that, im also doing this like 12++ work hr per day. The overtime demand was so bad, i worked 450ish hrs per month. It was pure suffering, but i persevered. I came in as a boy, and came out as a man. Looking back, im so glad i kept suffering and become the man i currently am; i can see the positivity because i've been in bad places.
What this guy doesn't realize is that your situation is the norm for many devs. He's the 1% saying that the other 99% should just git good.
It's refreshing to see a nuanced commentary on a topic that is usually treated as "this good the other thing bad". Thank you!
On the topic of fearing obsolescence and skill depreciation :
There is no magic in computer science, every new "thing" is an optimisation on a different older "thing", if you know the old thing, learning the new thing is relatively trivial: microservices is SOA but good, Go is Java but with a better GC scheme and channels, go channels are UNIX pipes, you get it.
For anybody starting out, please don't fall for the marketing BS (learn this language or whatever to stay relevant).
Knowledge never goes 'out of flavor', products do.
This sounds exactly like my time at university studying biotech.
I ended up falling deep into apathy and escapism, which lead me to my expulsion at last year of study.
There is not only the beautiful world of Netflix-culture, Mr. Streamberry, in big enterprises the blog article exactly describes the working environment. Complex legacy systems were you first debug the application before adding a new feature. Again, you rarely build new a application normally or cool new features on a green field in enterprise companies, you have to deal with old and worst designed existing software. Period. Everybody who isn't ready for this could find themselves very quickly in that exact very uncomfortable situation. So be aware when applying for a new job at an enterprise company.
As a reskiller from the kitchens, it does get difficult to keep up with the hype trains on what is supposed to get you hired. I basically gave up on that and decided to start rolling an MSP with my buddy using modern technologies we like for their effectiveness rather than their popularity. Still getting some details together, but the bottom line is a good system lasts as long as it's well maintained. The less it depends on, the easier it is to maintain. I think if you can effectively leverage those facts, you can carve a niche for yourself. Still testing that theory.
The Damocles' Sword story is a very useful tale...
Awesome video, and your take is spot on. I'm on the tail end of recovering from burnout myself, and I definitely felt a lot of what this person was feeling. It was also almost entirely my own fault for exactly the reasons you mentioned.
I willingly allowed work to take over too much of my life, and I won't even claim I'm anything more than an average performer in my field (if even). It doesn't really matter, because once you enter that spiral you end up in the same place, because the only direction is down. The moment you decide to start sacrificing energy from other areas of your life without a strict time limit, you're hosed. Then when you inevitably see your performance drop you try even harder, sacrifice even more, and that only adds more gasoline to the dumpsterfire that is your productivity and state of mind.
I loved my job, loved the people I worked with, and was never pressured into overworking. Whenever I explain to people why I've not been working for months they seem to default to "it must have been an awful place to work", and I have to correct them. It's hard to explain how this happens, but you can see how if you just assume the perspective of this author.
I absolutely love learning new things, but in my burnout I just couldn't do it because I felt the weight of how behind I was on projects because I was just not productive. The prospect of truly exploring and learning a new technology was daunting, and the pain is real when you see your colleagues doing these things while you're stuck. And attempts to help just make the problem worse, because nothing stings more than to become a burden to other people.
I definitely say most of the blame lies with us, because we are still rare enough that no employer can afford to explicitly create a toxic work environment with extreme hours. We do it to ourselves and to each other by working extra hours, taking work home, and constantly trying to get ahead. I know there can be good reasons to compete and prove yourself, but I think for most people that kind of sacrifice is not warranted.
I can tell you that having plenty of pretty numbers in your bank account won't mean much to you when you're burned out, your relationships are failing, and you have nothing going in your life other than binging TV or videogames by yourself because you feel too exhausted after working to do anything else. Even in a positive and friendly workplace you can put the weight of the world on your own shoulders, and you can easily create the toxic environment in your own mind.
I think a lot of this does boil down to culture, though. Imagine the reaction you'd get as an assembly-line or retail worker if you took work home with you, or worked overtime for free. Sure, a salaried position does warrant *some* additional stake, but IMHO it should probably be bad form to do it without being directly asked to (and a balance of 40 hours really ought to be maintained). Constantly going above and beyond should be seen as a positive quality, but also as a problem that needs to be corrected for the good of the employee, their coworkers, and the corpany. Burning through bright-eyed recent grads who don't know what they're sacrificing (or who think they're the exception) cannot possibly be the most profitable system unless you have a shortsighted view of things.
Not sure where I was going with this other than just ranting, lol. Oh, the bit about being momentum-driven makes me wonder if Primeagen might have ADHD.
I have been in this industry for not more than 1.5 years, but I completely understand what you mean. The way I deal with burnout is by continuously learning. By expanding my knowledge, I feel less stressed and I'm more capable of solving the problems I encounter. However, some may argue that excessive learning can actually contribute to burnout. Nevertheless, I have embraced this approach because I never saw software engineering as just a job; instead, I view it as getting paid for doing what I love.
I had the opposite experience building tools the last year. But that was because every time someone had a problem somewhere, it trickled through a game of telephone up the organization chart to the nearest common ancestor with my dev team, and then back down, picking up a lot of pointless requirements like "it has to have a SPA front-end" and "it has to look like Excel". We were never trusted to understand the original problem and come up with a solution for ourselves.
10:55 -- I mostly agree with this idea. If you're doing something that seems hard enough (but clearly doable) at a glance, and it will take over 2-3 weeks by your estimate, you really don't know how long it'll take. Most certainly, you'll uncover some part of the problem or process along the way that extends how long it'll take. Sometimes (rare), it could go the oppoosite way and you find that something you thought was north of 2-3 weeks is substantially less because you discover something that does the hard work for you.
One of my pet peeves as a software engineer related to deadline pressure, is managers expecting you (the engineer) to put together months long project plans telling them week to week when pieces would be done. What the actual F purpose is this? A deadline as a date is fine, but giving them a week to week playback for that long of a period of time is always a pain in my ass. It feels like double talk because they would also say "oh, its fine if things slide, and get pushed back." So then why am I writing down when I think it'll be done rather than just focusing on getting it done? Why can't my plan list what the pieces are and how they depend on each other rather than spending time an energy describing a future that has a low chance of materializing?
No one has told me if this is just a sh*ttest in the corporate world about something else. I've been hit with it way too often and I have easily proven I am a senior level engineer on long lived projects, able to meet deadlines or communicate effectively around realities no one reasonably beats.
Unfortunately sometimes a bad / unhealthy work environment is the only option for many people, especially juniors
I don't think this is an issue with software engineering, I think it's an issue with bad management. Being a dev sucks when none of the people who are foisting their bad decisions upon you are devs themselves... When product dictates the expectations, and devs dictate the implementation, being a dev is pretty awesome! It's when the lines start to blur that things get frustrating.
I can so relate to the momentum bit. That's literally what I face every time. I find it extremely hard to switch to vacation mode and then back to work mode. It always ends up being a half assed vacation because I always have it in the back of my mind to keep the work momentum going, knowing I have to go back and switch back and hit the ground running.
It's good to have experience in different things. Because it is exactly the same in any other job. You can be an translator, a builder, support engineer, whatever you want. If you think that you can escape this by not doing software, you just don't know life. If you don't set boundaries, the management and clients will do it for you and they always push for what they want. The irony here s that people fear that they will miss out, and be replaced, that they have to work long hours and always say yes to anything, but then they're surprised that it does not pay because that exact attitude makes them easy to abuse. If you don't do that, you'll miss the shitty jobs, sure, but maybe you'll have a shot at something better.
21:52 THANKS for the words of encouragement. The only issue is: I hate golang today. For it's interfaces, for the import cycles, for the mess that you get with absence of modules, just packages... My brain is very strained when using this POS
then choose rust :)
As a software engineer that took that changed career path after a burnout in another field (no regrets, I love it and am very passionate about it, and learning so much and finding very motivated people), the problem of this person is not software engineering, it's time, people and boundaries management. You can do whatever you want, if you don't know how to set boundaries and take care of yourself and prioritize yourself, nobody will do it for you and certainly not your team who first of all is not in your head and does not know how you feel, and also benefits from you overworking yourself in the short term. If this person does not reconsider how they function, they could end up in this kind of spiral with any job. I know I did.
It's not bad to mildly inconvenience your team for your own survival. If you need it, verbalize your need for clear boundaries between work and not-work, know your needs and wants of the moment and communicate them in a healthy way, I always do it and it's either well recieved or I don't want to work there anyway.
What field did you switch to
@@dipanjanghosal1662 Was a speech therapist, switched to software engineering !
I think the last line settles the problem: sometimes it is an issue of just surviving, you don’t have to thrive all the time. Just be ok with being human. Strive to thrive when you want and when you can afford to.
Its been 5 years since i start developing. Your last speech exactly true, grow as an orphan in poverty. I can't even remember 3 days in a row that i didn't code 15-16 hours a day. What we lose from birthright we will take ourselves. Rn im miles away from where i start coding but still cant drop overworking habit.
I've been in data science for 7 years now, and I have never had the opportunity to work with neural networks, and it feels like every company and their mom wants their own neural network guru, and I am stuck unable to find a job because I've never been given the raw resources to be able to experiment with NNs in an actual, real environment - the biggest company I've worked in is Coca-Cola, and the most powerful machine i've had there was my work laptop with an integrated GPU. I've worked for one of the biggest forex brockers in the world, and all the resources they dedicated to me for NN experiments were a server with 4 cores and 8 GB RAM which were also shared with some other services.
I have no idea what to do, it just feels like my years of expertise building ML models are a bloody waste because I don't have the experience in my Resume.
I work as a maintenance person for residential housing. What the article said at 12:54, the superman syndrome, is rife in this industry to. The sort of "go fix the thing" mentality, even if you have no idea what you are doing.
Just the other day, they sent our painter who does minor repair tasks to uninstall furnace parts, when he has zero experience on furnaces and not even the correct tools to do it, and then got upset when he said he needed someone to help and show him what to do.
While I think Prime is a great influence for sofware folks, I respectfully disagree with his takes here.
I feel it's important to acknowledge that a huge proportion of jobs actually look like what the article is describing and people feel genuine and, sometimes profound, dissatisfaction affecting their lives. I'm sure advices come from good intention but I'm also sure that hearing "learn to say no to people", "do more and be excited about it", "find a better job", "it's your fault for not doing enough for making things better" will not resonate well with many. If you read this and and fall in this category - my heart goes to you, the world can be a real tough place but you're doing great and take it easy on you ❤
I just can’t relate to these stories, early on my career I was very overworked but one day I decided to say no more often and negotiate more, after that I never worked outside business hours and it didn’t affect my career, it helped me a lot, I naturally was more productive and had more time to study what I was interested. Most opportunities that I had came from side projects, usually dumb ones like telegram bots
it takes time to get to that point and i think some people don't have spines so its hard
@@ThePrimeTimeagen Its hard to say no when you're trying to prove yourself
@@jel1951 Yes, it is, but I really think saying yes to everything isn’t the way to prove yourself. Being able to negotiate a reasonable amount of work and doing that very well is probably the best way. Of course there are places where this isn’t possible, but if you’re stuck in this situation try to find a way get the hell out of this place as soon as possible.
Software engineering is one of the few professions where we have that kind of power, so we better take advantage of it.
As a software engineer of 7.5 years, this article is describing a completely alien world to me. I've never had a hard deadline. I've never had crunch at all, let alone for months. I've never felt a dire need to upskill besides a singular shift from web to mobile (which I got paid to learn on company time, was great). My job has almost never been terribly stressful and most the time it was had nothing to do with coding, but garbage people/situations like getting screwed out of a promotion to another team by my management. Recently the tide has shifted some, but generally software is an in demand field and that's why wages are so relatively high and perks so relatively good compared to most careers out there. Truly baffled by OP not just quitting and finding somewhere that wasn't a trash heap.
"if you leave your job none of your coworkers will keep in contact with you" that hits hard cause it's been like that for me in school, highschool and University as well.
Heh, people who worked on my team and left the company still get invited to some company parties. Different culture, I guess.
Just left a job where the standard deploy process was running serveral scripts in a specific order on your local machine, using your local code, straight to prod. And pushing directly to master was common.
Also most files had 2000+ lines of unrelated code
The darkside of software engineering, is that it's a pain in the ass to get hired, no matter how experienced you are
In startups it's tough. I now see it's all round problem. The pressure is hight all the time but client deadlines are the greatest pain. Being the 'All in one' developer. Now with such experiences we get to endure the challenges that come a long. This is the iceberg that everyone does not speak about. We are only told of good salaries. This is an eye opener and good to know many devs also fee the same around the globe. Working on Bugs, Self growth, New features, Life balance and all these are always in conflict
If the blame is external there's nothing you can do about it except complain. If you take responsibility suddenly all the power is in your hands.
When asked about deadlines, I usually just tell people the project could take years. I never give an actual number.
If I end up finishing the project in a week, then they will just think I'm just really good at programming.
Halfway done watching this and I already appreciate how easy of a time I am getting at my job... Therefore, more motivated to grind and do better here! Communicate and pray you have a good relationship with your manager (lots of things need to go right to accomplish this but if it does happen, it's the dream!)
I'm having such an easy time in my current job I'm worried that I'm not going to be pushed enough to get better! This article is a bit ridiculous
Edit: the ending kinda saved the article a bit
In my opinion Rust is very powerful and versatile thanks to its novel approach to memory management at compile time. But it is the first iteration of that idea in the wild, and I suspect we'll get a better approach on a future language. That, combined with a lot of features such as operator overloading, macros, traits rather than simpler interfaces, makes the language very difficult to learn.
I think or hope we will get a language that a let's you do what Rust does, but feels and learns like Go. Imagine, for instance, optional GC except when you don't want it or prefer not to have it. Imagine optional goroutine like concurrency with optional runtime for that, only when needed and no async/await (colored functions).
Regarding the origins of the word Utopia, it derives from two Greek words: Eu-Topos (The good place) and Ou-Topos (The place that cannot be.)
I understand this guy, even if I do not share a lot of the experiences. I think the only thing I dislike are people with a mindset that tries to push the coders to their limits, which leads to such horrible environments. You have to research narcissism if you want to work in Tech, and know how to survive or cope with the situation if you have someone in your company who was hired to find the weakness.
Also, it never works out, it will always be random people being fired.
Toxic work environment never really saved a business, but it for sure killed them.
My extensive overtime and learning at home stopped when I went freelance. I work less hours now than ever and earn more than ever. Then again like I said I’ve done it all it’s just a different language or framework or even environment. But all my overtime was on me, because I was the tech lead and I found I had to come up with solutions. Now I realize if I’d done less they’d added another person into the team. When there’s no necessary to add people because work gets down, why add them?
Our business unit is in such a mess that I have spent literally the last year doing nothing but hand-holding 20 different teams integrating our simple API that we already deployed in December. Yes, there are 20 teams doing basically the same job. Our API will transparently support any combination of product, region, and integration type, yet we have 20 teams, each doing the exact same work over and over for each combination of product, region, and integration.
We used to be 10 developers following Agile + scrum and we could push a new "combo" in two to four weeks. Now we're 60 developers doing the same work and it takes MONTHS because no one knows who is working on what and everyone has their own separate task board and schedule.
It's not a burden to learn for prime because he even says he has no deadlines and no clients. But if you have deadlines, clients, and have to learn, it gets to be a lot. It's a hard balance. It's all about balance.
My parents were bank clerks when computers and ATMs took off. Where I live, bank clerks used to be well compensated and to be considered in a position of trust. Then computers came along and they became essentially a cheap interface between the machine and the customer. So yeah... I have a pretty good life as a SE, but their history stuck with me. I am indeed afraid of becoming obsolete.
10:45 Here's the gist of it: Damocles was punished by a king the following way: He was in a bed with all good foods etc. and was not allowed to leave it. At first he didn't noticed that it was a punishment, but then he looked up and saw a very sharp sword hanging from the ceiling only hold up by one string of horse hair and could as such fall on him at any moment (which would result in a painful death).
The Sword of Damocles that’s based on Greek mythology. He was the executioner at the court of Syracuse. His sword was the method for execution. It’s a very famous European saying.
Man "Creature of Momentum" is the exact description for me as well. I find it so difficult to start, but once things are going I can be consistent for a long time.
"Creature of momentum" you touched my heart in a profound way @theprimagean
Thank you.
I actually really enjoyed this post. It was quite pessimistic, but I think it is someone really feeling it at the moment - they are almost writing this to themselves. I've been through this "dark side" as I had a toxic manager that slowly turned me into a pessimistic person, but now that I've been away for several years I've gotten through it. Sleep, exercise, eating healthily, and social interaction can be the base of the "light side" 💯. It didn't help that my "dark side" coincided with Covid, so my habits were thrown off. Best of luck to anyone going through this - just focus on those good things and take charge - for me it was holding out a little longer until I found a better job opportunity, and relying on my spouse.
I agree it depends on one's ability to say No. As Uncle Bob said "We never borrow tomorrows energy to fix today's problems". You can never do enough in one day so no need to push yourself beyond the normal work hours. However, you have to keep learning.
I came into programming from another job (portfolio management). Every job can burn you out, especially if you’re driven. It’s really up to you to have discipline around habits, separating home and work, etc. Sometimes it’s not your fault, but you owe it to yourself to find out. Otherwise, you’ll find that every job burns you out.
"I just don't like putting all the blame externally. I personally try to take on most of the blame, 'cause often all the things that go wrong are because I have misread the situation." And now we know the _real_ reason for your success.
Fear of feeling left behind becomes real when you have to work in a legacy environment for a long time without any variance in work like tooling or something new. It's real imho and i've felt it aswell.
You cant tell someone how long its gonna take to complete something when you can't tell how long its gonna take to solve the bugs you have yet to run into.
The money people will never comprehend that though
Hot take: if you're doing regular OT in software, it may not be your choice initially but it eventually becomes your choice. Once you're mid-level, there are jobs everywhere you could get that don't do OT.
Irregular OT in software is not your choice. ALL companies will have an OT spike here and there. That is just engineering. Sometimes that spike is a 45hr week. Sometimes it's an 80hr week. Game development is known to have regular OT, so if you do game development that was your choice.
I would say anything more than 80hrs of OT across the year is not good. That allows for 4 weeks of an extra hour a day in 2 quarters (March and November crunch, if you will), and a catastrophic 6-days & 13hrs/day crunch (or production down), and an additional 24 days a year having an extra 10-minutes because of an end of day or sprint meeting going over time... this assumes there is no flex time and it's an extra 80hrs of OT, not "thanks for coming in 8hrs more last week, take this Friday off" situation.
If you're doing more than that, it's just simply your choice for staying with a bad work-life balance.
Some good points here. +1 for mentioning the importance of family (e. g. child).
Scope creep, managements fault or simply being a smart ass with the power of hindsight. It is easy to say "What I plan is what I build" if the most complicated thing you built was a calculator app.
IIRC: Utopia was coined by Sir Thomas More (for his book), based on Greek 'eu' meaning 'good' and 'topos' meaning "place". Dystopia was then coined off of utopia to mean the opposite
Sounds like you’re describing the utopia of Brave New World, where everything’s so perfect it’s numbing and dystopian
^ this
This massively depends on the culture and organisation of the company you work for. If you are an experienced software engineer, finding a new job is easy. Leverage it, say no to working 80 hrs a week, say no to midnight bug fixes, demand a work-life balance. Assert yourself towards management. And if it's really affecting you badly, quit the job, or even consider a career change or break from work if you can afford it. Too many people I know, in many different fields, complain about where they work, suffer burnout, etc. Yet seem to stay there endlessly even if another job would be easy to find. I don't get it.
Use cost of delay instead of estimating time. Tell your manager how much money the software is going to make / save. It'll easily justify most budgets. Otherwise you should work on some other task.
Make sure you get enough sleep, eat nice food and attend some hobbies. It recharges your creativity which is crucial to write good software.
And btw, your creativity span is definitely not longer than 8h per day, probably only like 3h. It's ok to do the complex task tomorrow with a fresh mind. No one will enjoy a half-baked feature on a Friday release.
Switch to an easy task if things go wrong to regain some confidence. Deliver something every day. It'll create trust between you and your clients that you can deliver value.
Hope this motivated someone who's struggling.
The online software engineering community is such a bizarre space.
Because the first generation of hackers/founders is still alive. Meanwhile hard-/software has progressed the equivalent of 800 years in just 80. That's bound to be the most interesting time humanity has ever faced!
Outopia means "no place" and eutopia means "good place."
Im doing a CS uni atm and one thing I hate with passion is writing stupid reports about ethics and philosophical crap.
If you're worried about deadlines, you're either absent from the estimation process of which is very-very bad, or you're estimating too optimistically. You have to multiply your deadlines AT LEAST by 2, because there can be many unknowns along the way during development. Chief O'Brien and Scottie knew that.
corporate managers rarely care about software estimates except the ones they have in mind themselves ("it must take X weeks. I need it in X weeks"). sadly entire companies can be filled with "yes" people who are afraid (sometimes rightly so) they'll be outcast and forced out if they're the sole proponent of sensible estimates and saying no diplomatically.
I wonder if Prime would have gotten to where he is now had he NOT been one of the people who didn't say no early in his career. Easier to let off the gas when you've already established yourself. At many of the companies I've worked at there has been a strong culture of "put in your 80 hour weeks when you're young and reap the reward later."
For a while I was tempted to say to the OP "quit yer whining and pay your dues kid," but I've been where he or she is, and it does suck, especially if you're dealing with poor physical and/or mental health. We're in a society-wide crisis of both and we've either lost or never learned how to deal with it, and the truth is that is the precondition to everything, including dealing with what is otherwise ordinary work stress. When you're unhealthy, even that can feel insurmountable and can even break you.
At my most depressed, ordinary deadlines I used to be able to meet became unachievable, to the point where I lost more than one job because I couldn't keep my commitments. From the outside this looked like lazy irresponsibility, and that's not even untrue in a sense--but the very meaning of being ill is that you can't do well what you know you can (which makes you feel even worse). It really, really sucks. You have to be well in order to do well!
The only thing I'd add to what Primagen is saying about sleep/diet/exercise--which is the first thing any therapist will tell you to work on--is to find a healthy community to belong to. The root of "toxic positivity" is the lie that we can do it all by ourselves and it's ultimately all our effort (read: all our fault individually if we fail). We need others in order to be happy and succeed.
hah! did you see that my 4th point was community?
we are social creatures, we require others
Ya got me, I don’t know why I missed that, must have slipped my attention while listening…but great react with a lot of compassion and good advice. Thanks.
Unhealthy work environments are not created deliberately or with malicious intent. What does management want but a functioning and succesful team that builds what they need with as little detour as possible? Explain how working differently will be more successful. In my experience, people will welcome the ideas and the input of a team or individuals that exude confidence, maturity, can self-organize, intelligently prioritizes work, communicates well, and requires little guidance. If that's what they see in you, they'll let you do whatever you want.
Any attempt to create a utopia inevitably creates a dystopia. “There are no solutions, there are only trade-offs; and you try to get the best trade-off you can get, that's all you can hope for.”
Avoid the hype trains. There is too much out there to think that you need to learn every new thing.
That being said, I work at a company that is not a "tech company" and has only really started having software developers in the last 6~7 years. We don't have a lot of people with diverse experiences or people with lots of experience. We don't have a lot of support to adopt things like cloud, containers, canary, working with IT to improve deployments. It does worry me that I'm not learning enough new things that I'd be able to thrive and hit the ground running at a tech company. Working at Netflix you may not feel that as much as us at smaller companies where tech is not as central to the business.
I'm doing what I can to help move our company forward and try not to complain too much about the above issues. In the past I haven't always been as proactive about this but I'm trying to move beyond that.
But, yea, I definitely I agree with this, it's on you to fight for yourself and most places there's so much room for you to be in control of your experience. I recently had a coworker replying on tickets on his day off. I've never done that, he wasn't expected to do that. It was in his control to not do that.
The fact that a guy with a CS degree, 40k hours of experience, IQ above 140, knows what a monad is, and works a netflix “got rejected from many a job” puts us all at ease about our job prospects 😊
Hearing ppl with life figured out giving advice is always like yeah I'm 100% my worse enemy.
He has a point about the work following home, though for me its a bit different: I sometime still think about work and actual for work coding in my off hours, where its like a worm that intrudes into my mind and doesn't let me unwind.
It could be worse
You could be programming specialized machines where you are dependent on the hardware working correctly, but the hardware itself is a prototype too. Some parts of the machine may not work as thought out by the mechanical gods of architecture, and have to go back to the drawing board. This takes time and until the new parts arrive the deadline is still crawling closer. And suddenly you only have a week to implement and test a complex and complicated process of high speed image capturing and processing of cosmetic defects in a pharmaceutical product made by a well known customer starting with P at production speeds of 600 per minute.
And the customer understands why mechanical stuff takes longer, because he can see it, but the software stuff? Its somehwere in a cloud.....
I've worked in really great environments and I've had really shitty experiences. Most recently was with a group contracted by the gov and everyday felt like the hunger games.
It's true to me, burnout comes when I'm not learning or not improving in any areas. Stagnation and doing the same things on a daily basis without opportunity to improve triggers burnout.
To the person who asked how to develop a positive outlook on life.
What Prime said is absolutely true, you need to push hard to get out of the slump you're in. Basically you need to get your head above water before you drown, and no its not easy, intact it's extremely hard, but once you're able to tread water and breath air, you realise that it's way easier to stay above water than to be under.
stay healthy. save up a large enough stash to retire at any moment. i am 50. my daughter goes to college for $4k/mo in two weeks. my nightmare started when i became diabetic. in June, i went blind much of the month, for a month. i was let go a month after that. i avoided working for big companies because i lost one eye already, and had the risk of such leaks making me blind. it's so hard to not fall behind, especially if you stay in the job for a decade. i am still looking for a job. but super-high security clearance is out of reach, and i'd probably descend into destroying my health at a big high-profile company. the work itself isn't bad. but it is a gladiator job, and you may not be able to do until the end.
Lovely video but i find disheartening the poll part....How about people are scared of being left behind, not because FOMO as they don't know the whatever flashy hyper-hyped thing, but just because they won't find a job in case of layoffs? people need to pay bills, it's not always about being excited to be part of ....so you kinda have to know it today or tomorrow tops or it'll just get harder trying to chase a faster target. Not everyone can be a rockstar even with hard work...i personally feel for all those people and that is indeed part of this dark side the author is talking about, in my personal opinion