Career Advice for Junior Developers
Let me start by wishing you Eid Mubarak. It's a season of peace, joy and happiness and may those never social distance from you.
I want to give a little advice to Junior developers on accelerating their career. It could be harsh or crazy, but you would thank me 2 decades from now. The wisdom in here is from advice I've received personally and some of the things that work for me.
I have got a ton of mentors and not all of them are in the software industry. But their life story stands the same, their first few jobs out of college wasn't motivated by money but "career goals". I got talking with a mentor and he narrated his first job experience out of the University, he studied Marketing and graduated in the 1970s or 80s, can't really recall. While the bulk of his classmates quickly joined the ranks of large multinational corporations earning large salaries, he helped build a "not so big" company from scratch earning a fraction of what his colleagues earned but was enough to survive on. Two years after graduation, he was one of the few who didn't have a luxurious car or lived a luxurious lifestyle, it was tough (very tough), but while the next three decades unfold, every bit was worth it.
I'm not narrating you a "rags to riches story", he was from an average well-to-do family but chose his path carefully and it paid off big time. This article frames an advice he and many others have given me in simpler and "nicer" words.
You probably got out of school at age 22 and you're looking at spending the next 30 years building a career, supporting a family, leaving your mark on the world and making a lot of money. Personal choices might differ, but it all boils down to wanting to live a fulfilled life.
First, don't set a "Waterfall model goals", this might end in regret. When handling issues that have to do with your life, new year resolutions which take you 365 days or 32million seconds to evaluate seems gross, you should break it down to sprints (1-4weeks) and set realistic targets. You don't want an hourly evaluation of your life either, you'll just become an analyst with no visible outputs.
Next, have a long term plan, e.g by the end of June, I want to have achieved/completed/earned X, by July I should be good in Y and by 2024 (4 years from now), I should be a Z. Long term goals are important, but making shorter actionable targets keeps you productive and on track.
Don't compromise your long term goals for short term benefits. You want to be a Google engineer in 5 years but there's this juicy offer as a bank teller and you spend your evenings hanging out with friends. The term I use to describe such, "Lazy ambitious"
Whatever you do, always build... regardless whether someone would use it or not. It gives you insight you can't get from watching one thousand hours of youtube videos.
And Finally, you'll never know enough. Keep in mind that there's always one more thing (concept, technology, library, framework, plugin, ...) that if you're to learn would make your life a lot easier, you must find it.