The Worst Thing About Being a Software Engineer

  Рет қаралды 13,679

Alex Hyett

Alex Hyett

Күн бұрын

Being a software developer isn't all free food, amazing offices, and swag. There are quite a few things that aren’t great about being a software developer. In this video, I cover the top 5 things you need to know before becoming a developer.
☕️ I don’t accept paid sponsorships and I have turned off mid-video ads. You’re welcome! If you would like to support my channel see: ko-fi.com/alexhyett
📨 Join my free weekly newsletter for advice, technology and more: newsletter.alexhyett.com
🗺️ Backend Developer Roadmap: www.alexhyett.com/backend-dev...
📚 Your Money or Your Life: geni.us/H0JB
⏳ TIMESTAMPS
00:00 Introduction
00:20 Learning outside of work
01:22 Long hours
02:53 Burnout
04:34 Management doesn't understand programming
06:24 On-call
09:00 Watch this next
📚 RECOMMENDED BOOKS
Software Development
Clean Code - geni.us/5AEwj2
Clean Architecture - geni.us/yBrTX
Domain Driven Design - geni.us/WiR0Q0x
Design Patterns - geni.us/5ncUt
Developer Hegemony - geni.us/lAXy
Pragmatic Programmer - geni.us/GfNj9
Data Structures and Algorithms Made Easy - geni.us/sqg6kJ
Refactoring - geni.us/ufAP0mE
The Productive Programmer - geni.us/IT9WiN
Pragmatic Thinking and Learning - geni.us/x81A
Test Driven Development - geni.us/HFV52
Microservices - geni.us/8vMA
💻 MY FAVOURITE GEAR
⌨️ Keyboard - Keychron K1 v4 - www.keychron.com/products/key...
🖱 Mouse - Logitech MX Master 2S - geni.us/qId7w
🎙 Microphone - Blue Yeti X - geni.us/0vZluGN
🎥 Camera - Logitech Brio 4K - geni.us/dcOcDQy
🚀 MY FAVOURITE TOOLS
Visual Studio Code - code.visualstudio.com/
Obsidian - obsidian.md/
Notion - affiliate.notion.so/alexhyett
You can check out more of my favourite tools on my website:
www.alexhyett.com/tech/
🔗 MY KEY LINKS
🌍 Blog - www.alexhyett.com/
🐘 Mastodon - social.alexhyett.com/@alex
🧑‍💻WHO AM I
I'm Alex, a Software Developer and KZbin working in the UK. I make videos about software development to help developers with the skills they need to be senior developers. As well as this KZbin Channel, I also write articles on my website (alexhyett.com) as well as write a regular newsletter that contains some thoughts to help aspiring developers.
‼️ DISCLAIMERS
Some of the links in this description are affiliate links, which I get a small commission, at no extra cost to you 🙂. I appreciate you supporting my channel so I can continue providing you with free software development content.
#coding #programming #developer

Пікірлер: 53
@sujitkumarsingh3200
@sujitkumarsingh3200 Жыл бұрын
Finally, someone courageous enough to mention other sides of software development. Man, thank you for creating this video. 🙏
@alexhyettdev
@alexhyettdev Жыл бұрын
Your welcome, it definitely isn’t the sunny career people make it out to be!
@computerguy1579
@computerguy1579 Жыл бұрын
TLDR: You don't necessarily work a lot of long hours or are expected to spend a lot of time outside of work learning. There are plenty of software jobs out there that have great work life balance. Talented engineers find those jobs. There are a lot of software enthusiasts that get into software engineering only to learn they don't like it or find that it's overly stressful and end up working a lot of long hours to keep up. I have been a software engineer for over 7 years, and I've been with multiple companies and clients during this time. I think this video is great to have in contrast to all the other influencers claiming software development is some kind of cakewalk. But I wanted to comment on a couple of his points. Firstly, you don't necessarily need to spend a lot of time learning outside of working hours. There is often time that can be found at work to spend time learning. Sometimes you just take on a task and learn it as you go. There is not an unwritten requirement that you spend a lot of your off hours learning and working on side projects. That being said, it's important to always be learning. Whether stretching yourself at work or taking some time to read up on new technologies and frameworks. Those that really excel in the field, though, are software engineers that really love what they do. Most software engineers I've spent time with like to do side projects at home, not because they're pressured by work, but because they find it enjoyable. I spend a lot of time working on open-source projects and just building new things at home because I find it relaxing and enjoyable -- even after spending time at work doing it. I'm one of the lucky few that really loves what I do -- not because of anything about money, but because I love building software. This is not to say that those who decide they're done programming after work are not going to be successful, but these are the people that just aren't going to be the top developers that make the money that so many people claim software engineers make. And that's totally fine. There are plenty of people out there who like to work the amount they need to in order to make ends meet or be at whatever comfort level they envision for themselves. Another part I wanted to comment on was the long hours. I've seen a little bit of it in various areas. However, in order to have an accurate gauge on resources, I've always clearly established what expectations are when I'm working with someone. It has to be clear whether a company expects 50-60 hour work weeks vs a 40 hour work week. And for me, it has to be reflected in the salary. If I am going to be at a place that requires 60 hours a week as the norm, then I need to get paid 1.5 times what I would expect to get paid for a 40 hour work week. However, this is often not the case. The places that tend to do long hours are either startups (as Alex mentioned in the video) or software jobs that are in high demand or prestigious (the Big Tech companies and video game developers -- also mentioned in the video). The big thing is to really get a gauge of what you're getting into. Find out if the place you're looking to work requires a lot of hours or is more regular. Most of the places I've worked want to have a realistic gauge on what can be accomplished in a sprint and don't want burnout. To add to what was mentioned in this video, the industry wants to find talented software engineers. This is beyond just people who know how to write a basic script or has some knowledge about if-statements. The industry needs people who can jump into a system, figure it out, and start working on it. The problem is that there are a lot of people who take a coding bootcamp or even those who get a computer science degree or software engineering degree but don't actually have passion for it but love the idea. For example, I've met plenty of people that love computers and like talking about code, and often talk about it from a popular science kind of perspective. For example, they'll talk about cool things that the blockchain technology can be used for. Or talk about the idea that React is used to create components that are meant to be reused across a web application. The point I'm making here is that there are plenty of new developments that people may be interested in or talk about, but the actual reality of software engineering is being able to get into the meticulous pieces to actually make it work. It's about learning how to debug and research and building robust components and systems. Going from talking about the interesting high level ideas around software engineering and code into the actual front-lines where you build software that works, is scalable, efficient, and clean is a significant leap, and I think a lot of enthusiasts don't realize there is a lot of meticulous problem solving and work that goes into ensuring each piece is built properly. The other thing a lot of enthusiasts don't necessarily realize is that a lot of time is spent researching and debugging. Writing code is not just about typing. In so many cases, it's often about bringing together frameworks, libraries, and other pieces of software to solve a particular problem. People who watch "hackers" and "software engineers" in movies and TV Shows see a lot of typing and code just scrolling through the screen like that's what software engineering is. The reality is that there's often a lot of time spent doing research, which includes doing things like testing how the software you're working on works even before writing any code. A lot of my time is spent reading technical documents to figure out how something works. Many software enthusiasts are quickly disappointed when they realize that a lot of their time is spent doing research and reading code rather than just writing reems of new computer instructions. This also goes for those are in it because they want a big paycheck. The overall point is not that software engineering is miserable or that no one should do it. The point is that it's a very technical field and typically those who don't already love getting really technical (and I don't mean just reading about stuff they find interesting that's science related, but actually dealing with meticulous details to build a system) are not going to enjoy it, and as such, they're not going to work at the level of a high-performing software engineer and not get the really high salaries. A lot of software engineers (particularly really talented ones) don't feel like their job is technical because they do it every day and love it. But they quickly realize that when explaining the details of their work to someone who is non-technical that the average person just isn't interested in that level of detail. If you've gotten this far, congratulations on reading my whole novel. The big point is that I think software engineering is great. I love working on code in my free time just because I enjoy the process. I think anyone can learn how to code, but the point I'm making is that so many people hear that software engineering is unicorns and rainbows , and it can be for really talented engineers because these are the engineers that are in most demand and get the best jobs, but also because they're the ones that love what they're doing while they work. I've talked to many software enthusiasts that love the ideas, but when it gets down to getting into the actual details, they quickly find out that it's not for them. So if you're someone interested in software engineering because you love solving problems, then it's probably a field you'll do well in. If you're interested in it because you want money or you think it's a cool idea but don't like solving problems, then maybe you work in a less technical in software development.
@sibtycodes3358
@sibtycodes3358 Жыл бұрын
Can not believe I read the whole thing....😄
@pearlwonder9533
@pearlwonder9533 Жыл бұрын
Amazing comment! As someone who’s been on the journey, I appreciate your perspective. Thank you for sharing!
@Ironically-Sarcastic
@Ironically-Sarcastic Жыл бұрын
I think you could be talking about a very specific kind of software development job which I've only experienced once, and even then the management were very aware of the difficulties of development and were very careful not to push people too far. I've been a software developer 10 years professionally and I now choose to work 4 days per week, and all learning specific to my work is done within the working hours of the job. Agile has never been an enjoyable concept to me, so it is not followed. This job earns me around £80k. Outside work hours I sometimes do a very different kind of programming (microcontroller assembly) and various geeky technical hobbies, but otherwise keep my software development to the 4 days per week of my job. The focus of my work is not to cram as many features into the product as possible, but to use my time wisely to make the most valuable changes in as little time as possible. Good software development should build on your previous work. Sometimes working slower and with more care can save you more time overall. It is very easy to waste your time with all of the hundreds of new frameworks constantly popping up, and new trendy ways to style your code. Use older, more time tested tools, and always remember what the end goal is. Software doesn't need to be perfect, it just needs to work effectively enough to do its job, and be structured simply to maintain your sanity.
@easylearning-8153
@easylearning-8153 Жыл бұрын
For every work there are certain drawbacks and benefits, we have to see both sides of one thing
@sujitkumarsingh3200
@sujitkumarsingh3200 Жыл бұрын
There are few more points I think we can add - 1. Health(including mental) issues in long term. 2. Feeling being noob due to frequent changes in techs. 3. Zero brand image in the world even after being soo talented. Probably a side-hustle/social-presence would solve that.
@alexhyettdev
@alexhyettdev Жыл бұрын
Great points. +1 on starting a side hustle.
@diyangeorgiev6191
@diyangeorgiev6191 Жыл бұрын
Thank you for sharing this information. There is a lot of ways to make more money sometimes and have more freedom...
@davidspez7267
@davidspez7267 Жыл бұрын
100% on point!. Agile is a slow burn of a candle at both ends. The only thing I would add is bad equipment/tools or a client site that has no windows.
@alexhyettdev
@alexhyettdev Жыл бұрын
Yes! I once worked in what I can only describe as the boiler room of the building. I was working as a contractor so obviously we didn’t deserve sunlight lol
@ButterflyCreativity
@ButterflyCreativity 9 ай бұрын
This is very true!
@iyobosajefferson6457
@iyobosajefferson6457 Жыл бұрын
This was a good watch. ❤
@faridguzman91
@faridguzman91 Жыл бұрын
thanks for his video, it is certainly not all rainboes and unicorns like most influencers make it out to be, its a tough field. i started coding proffesionally 4 years ago, and i burned out 3 years ago.
@alexhyettdev
@alexhyettdev Жыл бұрын
Yes a lot seem to think you can do a bootcamp and then earn 6-figures while drinking beer and playing video games in the office! I am pretty sure the devs at Twitter at the moment can relate to a lot of these points.
@F-HARIFMOHAMEDB
@F-HARIFMOHAMEDB Жыл бұрын
Hii, I am currently learning front end developement. Your comment made me sad. It's not worth learning? Please guide me
@alexhyettdev
@alexhyettdev Жыл бұрын
@@F-HARIFMOHAMEDB it is worth learning but it is not as easy as some people make out. My advice is to use your skills to build your own projects not just for working for someone else. Naval Ravikant (famous angel investor) once said “Code and media are permissionless leverage. They're the leverage behind the newly rich. You can create software and media that works for you while you sleep.” It is definitely a skill worth mastering but full time software developer isn’t the only way.
@aris13pat1
@aris13pat1 Жыл бұрын
I have experienced the first 4, but damn the 5th is the worst
@alexhyettdev
@alexhyettdev Жыл бұрын
Yes I once did an extended on call which was essentially 24/7 for months. Not good!
@jacktilley7299
@jacktilley7299 Жыл бұрын
Many of these reasons are why I switched to Dev in test. The research is less, a lot of the work is saved by just communication in refinements. And the patterns needed to write a decent test automation framework are rarely changing. Also not too many developers working on the same repo so not many merge conflicts and the pressure is a lot less. I would say most developers need to stand up for themselves regarding long hours and should demand overtime pay. Rarely see it happening though
@alexhyettdev
@alexhyettdev Жыл бұрын
Yes I think if more developers demanded overtime pay it might become the norm. At the moment, it might reflect negatively when review time comes as you are not “pulling your weight”. I like to cancel meetings if they get scheduled past normal working hours.
@avalias7208
@avalias7208 Жыл бұрын
Coincidentally as I happened upon this video, I recently hit burnout and am looking to fix that right now. :) Agree on all points which can vary. As I'm looking around, I read between the lines in job descriptions a lot. Have you done a video on interpreting job descriptions? Multi-tasking is code for priorities will shift possibly multiple times per day. That is a really bad recipe for coding. High salaries will have matching responsibilities typically beyond just coding. Likely also comes with tight deadlines and long work hours. Fast paced environment = tight deadlines
@alexhyettdev
@alexhyettdev Жыл бұрын
I am sorry to hear about your burnout. I have been there before and it is not nice. I do find you come out the other side with a lot less “f**ks to give” and get more comfortable saying no. I haven’t done a video like that yet but will add it to my backlog. You can read quite a lot from the job descriptions. A lot of the job “perks” are just ways to keep people working in the office for longer.
@lardosian
@lardosian Жыл бұрын
Can definitely relate, often spend sunday dreading monday or getting stuck on tickets in a sprint feeling like an idiot in standup.
@StishFicks
@StishFicks Жыл бұрын
Uhh on Friday I worked on this ticket, talked to a few people. Today I'm gonna continue working on it, maybe make a sandwich for lunch... no blockers.
@lardosian
@lardosian Жыл бұрын
@@StishFicks lol!!!
@minevr5839
@minevr5839 Жыл бұрын
This is it. Just validated it. Thank you
@thomasbates9189
@thomasbates9189 Жыл бұрын
Thank you
@alexhyettdev
@alexhyettdev Жыл бұрын
You’re welcome!!
@RJ-is9ko
@RJ-is9ko Жыл бұрын
It's either that or break your back doing manual labor. You pick
@Andy-lo9sp
@Andy-lo9sp Жыл бұрын
Respectfully, I strongly disagree with the claim about work-life balance, particularly for a certain search engine company you mentioned, which I can say not only does not demand long work hours (in 90% of cases), but actively discourages such an office culture. Work hours at that (and many similar) tech company are extremely flexible and the general culture is very laid back. The job can still be stressful, but that’s mostly due to the complexity of the work and not because of the imposition of work hours. It may be true for some other companies (and teams), but industry-wide software developers tend to have much more flexibility than most office hours in the United States. You can research the company you’re getting offers from to help in making your decision on who to work for.
@alexhyettdev
@alexhyettdev Жыл бұрын
Yes that is true , work life balance in the United States is a lot worse than it is here in the UK and Europe. My comparison was with other companies in the UK which tend to not demand as many long hours. It definitely does vary between teams in the same company as well.
@kozas0
@kozas0 Жыл бұрын
That's why we software developers need to subscribe to our worker unions and fight for our worker rights. Don't get fooled by the relative high salaries. Don't try to find the company that has good "work life balance", demand for 8hours workday instead. Leave after 8 hours. Don't give them their personal phone number. Deadline tomorrow and the project is not finished? Too bad the manager didn't plan for 8 working hours but 12. Don't do on-call. They want 24/7 support? Sure. Put us to work in 8hour shifts then. Organize in your union.
@eliomargarzon326
@eliomargarzon326 Жыл бұрын
Im on call in this moment. :(
@alexhyettdev
@alexhyettdev Жыл бұрын
Hopefully it was a quiet night for you!
@joeponthetrails
@joeponthetrails Жыл бұрын
Sounds like you're employed in a toxic work environment where overtime is expected and burnout is common and normal. I do think that employees who are in such an environment are part of the problem. Imagine being a manager, and no matter how much stuff gets crammed in a sprint it almost always is finished. Then of course you get the expectation that people go the extra mile. Your company doesn't care if you burn yourself out, have no private life and spend all your 'free' time on the company and work. The thing that has to change is to start setting the right expectations: 1. Stop making overtime 2. What I understand from Agile the TEAM itself determines HOW MUCH work goes into the sprint. The PO only orders it by priority and clarifies the work. So stop taking so much work into the sprint as a team. 3. If all this fails: just start NOT finishing your sprints consistently. Why didn't you finish the sprint? Because there was TOO MUCH work in it. Keep repeating until the message sinks in. 4. Being on call sucks big time. I did that for 5 years and I will never do it again in my life, no matter the compensation. So to sum up: stop sacrificing your life for a job. Quiet quitting my man :) One thing I realized after I became a manager is that very little of what is delivered in a sprint will actually make the company money if things are already up and running. New features RARELY make any money, or they cannot be quantified objectively. Implementing a big change that makes stuff more efficient, and saves money will, and those are generally rare and take a lot of time and effort. Hopefully you can find a PO that understands that.
@ServerSideSquid
@ServerSideSquid Жыл бұрын
In the video it is worrying that 'crunch time' is mentioned as part of the job in software development. That should never be the case. One of the managers at an old job got into a lot of trouble and ended up getting fired because he thought overworking people as the deadline got closer was acceptable. Agree very much about the added value of features. It's only when you take your eyes outside of your domain of software development that you see exactly what the value of your work is. Becoming more of a generalist can save you time by realising when something is a waste of time and should be scrapped.
@alexhyettdev
@alexhyettdev Жыл бұрын
I am not here anymore but it was a toxic environment. I think a lot of it is down to bad management. If management set unrealistic deadlines you either miss them and lose out on pay rise and bonuses or do overtime to meet the deadline. I am definitely in the “my time is my time” camp and won’t do overtime even for extra pay. Junior developers aren’t always comfortable doing that though.
@michaelouellette2197
@michaelouellette2197 Жыл бұрын
this thumbnail pose is getting out of hand with dev channels lol
@__Peter
@__Peter Жыл бұрын
can got me fuck up lol 60 hours and not getting paid for it so why you do it ?
@alexhyettdev
@alexhyettdev Жыл бұрын
It is more the 20 hours overtime that is unpaid. It depends whether you are willing to work 60 hours a week for 6 figures.
@__Peter
@__Peter Жыл бұрын
@@alexhyettdev and if u decline u get fired ? How often do companies fire software engineers get fired ?
@schewpid3742
@schewpid3742 Жыл бұрын
@@__Peter I cant speak for other companies, but as a general rule of thumb, what you aren't willing to do, someone else will be. In an industry where you are expected to be available within 10 minutes of being notified, you can expect to be replaced if you are unable to fulfil demands just as fast.
@jacktilley7299
@jacktilley7299 Жыл бұрын
As a QA I would also like to apologize to all developers
@alexhyettdev
@alexhyettdev Жыл бұрын
No need to apologise! I have worked with some amazing QAs in my time, they always asking the right questions and a good QA can usually help developers right better code in the long run.
8 DATA STRUCTURES You NEED to Know
10:50
Alex Hyett
Рет қаралды 7 М.
0% Respect Moments 😥
00:27
LE FOOT EN VIDÉO
Рет қаралды 46 МЛН
Barriga de grávida aconchegante? 🤔💡
00:10
Polar em português
Рет қаралды 45 МЛН
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 152 М.
Idempotency - What it is and How to Implement it
8:05
Alex Hyett
Рет қаралды 9 М.
How to Tell if You're a Good Programmer
3:54
The Tech Dad
Рет қаралды 263
Programmers are NOT Engineers?!
12:28
ForrestKnight
Рет қаралды 109 М.
Why Most Google Employees Quit After 1.1 Years (On Average)
10:00
Aaron Jack
Рет қаралды 1,5 МЛН
Knowledge Management for Software Developers
7:00
Alex Hyett
Рет қаралды 7 М.
The worst things about being a software engineer
11:34
Engineering with Utsav
Рет қаралды 64 М.
Most Tech Interview Prep is GARBAGE. (From a Principal Engineer at Amazon)
12:57
5 Uncomfortable Truths About Software Engineering
5:17
Alex Hyett
Рет қаралды 4,5 М.