Finally, someone courageous enough to mention other sides of software development. Man, thank you for creating this video. 🙏
@alexhyettdev2 жыл бұрын
Your welcome, it definitely isn’t the sunny career people make it out to be!
@Ironically-Sarcastic2 жыл бұрын
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.
@computerguy15792 жыл бұрын
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.
@sibtycodes33582 жыл бұрын
Can not believe I read the whole thing....😄
@pearlwonder9533 Жыл бұрын
Amazing comment! As someone who’s been on the journey, I appreciate your perspective. Thank you for sharing!
@davidspez72672 жыл бұрын
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.
@alexhyettdev2 жыл бұрын
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
@sujitkumarsingh32002 жыл бұрын
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.
@alexhyettdev2 жыл бұрын
Great points. +1 on starting a side hustle.
@subi-3332 жыл бұрын
For every work there are certain drawbacks and benefits, we have to see both sides of one thing
@faridguzman912 жыл бұрын
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.
@alexhyettdev2 жыл бұрын
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-HARIFMOHAMEDB2 жыл бұрын
Hii, I am currently learning front end developement. Your comment made me sad. It's not worth learning? Please guide me
@alexhyettdev2 жыл бұрын
@@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.
@diyangeorgiev61912 жыл бұрын
Thank you for sharing this information. There is a lot of ways to make more money sometimes and have more freedom...
@jacktilley72992 жыл бұрын
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
@alexhyettdev2 жыл бұрын
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.
@aris13pat12 жыл бұрын
I have experienced the first 4, but damn the 5th is the worst
@alexhyettdev2 жыл бұрын
Yes I once did an extended on call which was essentially 24/7 for months. Not good!
@lardosian2 жыл бұрын
Can definitely relate, often spend sunday dreading monday or getting stuck on tickets in a sprint feeling like an idiot in standup.
@StishFicks2 жыл бұрын
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.
@lardosian2 жыл бұрын
@@StishFicks lol!!!
@iyobosajefferson64572 жыл бұрын
This was a good watch. ❤
@ButterflyCreativity Жыл бұрын
This is very true!
@avalias72082 жыл бұрын
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
@alexhyettdev2 жыл бұрын
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.
@RJ-is9ko Жыл бұрын
It's either that or break your back doing manual labor. You pick
@isgarci3 ай бұрын
Ultra competitive juniors that turn out into bullies when they get outperformed. So far, they always win the corporate game. 🏅
@Andy-lo9sp2 жыл бұрын
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.
@alexhyettdev2 жыл бұрын
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.
@kozas02 жыл бұрын
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.
@joeponthetrails2 жыл бұрын
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.
@ServerSideSquid2 жыл бұрын
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.
@alexhyettdev2 жыл бұрын
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.
@thomasbates91892 жыл бұрын
Thank you
@alexhyettdev2 жыл бұрын
You’re welcome!!
@michaelouellette21972 жыл бұрын
this thumbnail pose is getting out of hand with dev channels lol
@eliomargarzon3262 жыл бұрын
Im on call in this moment. :(
@alexhyettdev2 жыл бұрын
Hopefully it was a quiet night for you!
@__Peter2 жыл бұрын
can got me fuck up lol 60 hours and not getting paid for it so why you do it ?
@alexhyettdev2 жыл бұрын
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.
@__Peter2 жыл бұрын
@@alexhyettdev and if u decline u get fired ? How often do companies fire software engineers get fired ?
@schewpid37422 жыл бұрын
@@__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.
@jacktilley72992 жыл бұрын
As a QA I would also like to apologize to all developers
@alexhyettdev2 жыл бұрын
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.