30+ year systems architect here. I give all my "newb" developers the same advice. Learn to say "no". Learn to say "I need help". Learn to say "I can't finish in time." There is nothing wrong with being human but there is a lot wrong with being stubborn and prideful.
Being a software engineer is so mentally exhausting. I don't think people realize just how hard it is to recover from mental exhaustion in a field that rarely gives you a break from working at full mental capacity all day everyday.
I was afraid of becoming a software engineer because I knew it would be stressful at times. It was and still is stressful. Burnout, imposter syndrome, exactly is the way I feel and I've been a developer for 18 years. On the bright side, I've taken a majority of my money over the years and invested it wisely. I'm planning on getting out of the industry all together by the end of 2023. Life is too short to have this much stress all the time.
I’ve been writing code over 20 years now... still feel like an “impostor” sometimes. This man speaks the truth. Bravo.
Take it from a guy who's been in IT professionally for over 25 years and a computer addict for about 40 years ... KNOW YOUR LIMITS AND EMBRACE THEM! Along with that is NEVER apologize for being you. The truth is that your skills are needed and there is no foreseeable end to that demand at this time. That being the case means that you'll always find work and you need NOT be someone that a corporation expects you to be. Learn how to shut down the laptop at 5pm because when it all boils out in the wash ... no one ever said on their death bed that they wished they had worked harder - FAMILY IS FAR MORE IMPORTANT THAN WORK‼And I cannot say that enough nor can I stress it enough. If you do not TAKE THE TIME EVERY DAY and spend it with your family, you have no idea how quickly 40 rolls around and you look behind you and you realize that you missed ALL of it because you were trying to be what someone else expected you to be and for what? A few extra bucks? ITS NOT WORTH IT - TRUST ME ITS NOT WORTH IT! If someone at work wants to make demands on your time after 5pm ... you have to simply tell them "I'm sorry, but I have plans with my family" and you have to say that EVERY TIME ... could it mean that you get looked over for a promotion? ABSOLUTELY IT MIGHT ... but what good is money when you're living by yourself? Or what good is money when you miss the most important times in your children's lives? Cause man... I'm telling you ... all the money in the world could NEVER replace those moments that you can NEVER go back and get ... and children grow up so damn fast its insane and if you don't force yourself to step away from the corporate greed for your time ... you'll piss it all away and you'll regret it for the rest of your life and living in that kind of regret is a hell all of its own... Work to live ... don't live to work - and that's not some coined cliche' ... those words should dictate your life - literally!
Here in Japan there aren't many companies that do a technical interview. The culture here for any position is that you learn on the job, so most companies are happy to hire you even if you have zero experience. And for that reason they also expect you to be pretty much useless for a year or two. I always liked this because it gives you time to slowly learn the skills you need, while getting fully paid!
I've been an engineer for over 10 years, and my biggest piece of advice for new engineers is that you have to prepare that its going to be a GRIND to go from zero to being a professional level programmer. Its HARD to learn how to code, like REALLY hard, and you are going to often be very frustrated while you're working through bugs and learning how a language works. Don't give up! As long as you keep grinding through the problems, you will make it
I've been a software engineer for like 14-15 years, I lost track, but there is one piece of advice I could give to anyone. Always estimate your tasks at least 2x or better 3x than you think the task will take to finish. Don't be that guy who underestimates everything and then works after hours to meet the deadlines. And you will be overflood with "side tasks", management will take advantage of your work pace. The world will not burn when you won't make something on time. I know, no one wants to lose their job. But companies don't want to lose good programmers either because of one fault, one misjudge. Also, when you are done, you have done that day. Don't check your email, don't respond to any Slack messages or whatever you use. You are done and you have free time now! Otherwise, you will have that feeling that you are at work 24/7 and burnout will come really fast.
Thank you for this, it's all true. A few things I've learned in over 25 years of being a software engineer: 1. Being able to write code fast is not the same as being an expert software engineer. Expert software engineers think about how their project will look years from now, learn from their mistakes and design in flexibility, security, and scalability from the beginning using best practices, standards, and design patterns. That takes more initial time and effort, but it pays off over time in so many ways. Your boss probably won't understand that -- they just want "fast", so explain it to them. If they don't care after a few attempts to explain the value of this approach, you are probably not going to further your software engineering skills much on that project with that boss. 2. Don't be afraid to ask your own questions when you are being interviewed. You can learn a ton about whether the team and company are a toxic environment or a supportive, positive environment just by asking a few questions. For example, how do you handle technical disagreements, how do you further the skills of developers on your team, how are decisions made about promised deliverables and timelines (you want them to tell you the team is consulted). If they are put-off by these questions or the answers don't sound good, you probably aren't gonna be happy there. If you don't hear good answers don't be afraid to pass it up, there are some great companies and teams, and a lot of not-so-good ones with ridiculous expectations. 3. Find a body-based interest outside of work: yoga, meditation, strength training, fast bicycling for me, and bend your work life to fit around that. It will keep your mind sharp as you get older and help you be calm when you are under pressure at work. If you don't do this you will probably become unhealthy over time because the nature of most software jobs is to sit all day and overwork you unless you push back. Don't be afraid to push back. I've worked 40 hours or less nearly every work week of my career, and had a few jobs where I worked 32 hours with Fridays off. You can do that too. 4. There will always be someone on your team or at your company who is faster and better at coding than you, you will still make mistakes after 25 years and it's rare that you will do perfect work the first time. Be kind to yourself, pay attention and learn from your mistakes, let go of comparing yourself to others, keep learning (but don't obsess about constant learning). Find your unique strengths and use them to your advantage. For example I discovered I have a knack for designing user interfaces even though I'm self taught in that, so I'm the go-to guy for U/X and I co-design U/X with a classically trained U/I expert. Find your special power.
Its comforting as a junior developer seeing all the advice from experienced devs in the comments. I feel parts of the internet portray this mindset of grinding day and night.
I just want to take a moment and think all the folks on here who have been in the industry for so long… Freely given away great advice… It really helps Junior developers like myself navigate this technology space and really learn what areas I need to be focusing on… You guys are the real heroes
Nice video. I'm an aerospace engineer...so not exactly the same issues, but similar. Interviewers are often unrealistic about what skillset is even possible. If you are an expert at computational fluid dynamics....it's unlikely that you are also an expert stress analyst. Then there are some guys who hyper focus on their career and professional skills and *shocker*, they have personality and behavior issues because they have no life outside of work. It was best explained to me by a former boss: "When you die, your gravestone isn't going to say that this employee exceeded expectations"
Something that’s really not talked about (or thought about) enough is the morality of software we create. Coming out of uni and being thrown a tonne of cash is so enticing but ‘waking up’ five years later and realising you just helped make some shady surveillance software that actually messes people up, is something that no amount of money will help with your conscience. It sounds whacky but I really think we need to hit the brakes on software, sit back, really think long and hard about what it actual does and where it’s going and then build something based off of real values and morals for the whole world. Not just super wealthy control freaks.
Worst thing I experienced in my 7 years of being a software engineer is when I have colleagues "being bored" over the weekend doing extra coding hours for work. Coding outside of work is of course fine, but do it on a personal project instead. This from my experience puts extra pressure on others who can't or don't want to do the same to deliver more etc. Love the video BTW, subbed.
In my 24 years of experience. As a developer, engineer and now architect. Once you have experience and are able to hold down a job and take on the challenges, you are good enough. Furthermore, don’t allow your employer dictate your hours. Lastly. I cannot stress this enough. Stay a tech expert and don’t let any employer make you an expert in their problems.
I've been programming for over 20 years. I am 50 now and the I one thing I regret most is that I spent so much of my time coding whether at work or at home and not enough time with my wife. I only realised too late after my wife passed away that it wasn't worth it. I love coding, but @Gyasi you are so right that no other field expects you to be constantly updating your skill set. It's an amazing field to be in, but it can take over your life. Peace fellow programmers.🖖
Critical thinking all day is super tough on the mind and body, you really have to remember and prioritize to taking care of yourself to not burn out
I have been feeling a lot of burnout as a developer recently. I have been prepping for technical interviews and I have began to ask myself if this is even really what I want out of life. It feels like you have to sacrifice your mental health to continuously improve as a dev. Being glued to the screen and neglecting your life outside of that really adds up over time...
I'm a senior dev at a large company (not FAANG, but at that sort of size). For us, as you move up you spend less time coding and more time in the abstract. I enjoy doing design work and solving abstract problems, but man when I get to write code in a sprint I am on cloud nine. For you junior devs out there, enjoy your time in the weeds, but keep the balance. I gave up a lot of personal growth in my 20s chasing a better career, and even though I hit my goal I wish I had spent more time with myself and my family.
@ToddGuillet