At some point in our career, we've had to look back at how we started and how we are progressing and then we ask that important question, what would have been beneficial to a less experienced me?
And so I decided to write to other new developers. In no particular order here are a few things I think you should know:
Do not waste your time getting into language wars:
Yeah, you read that right, don't. Every language has something someone would have an issue with and that person is likely not going to be you. Pick one and start learning. When you get more experienced you'll decide for yourself.
Not every solution marked good on stack-overflow applies to your case
I know at some point you'll be told or rather intuitively you'll only be looking out for ticked answers on stack-overflow, but that's not always the case. Some answers for your situation might be somewhere unmarked. Also do not forget to read the comments, there you'll understand certain things.
Before copying and pasting a code ask yourself Do I understand how it's working?
Every challenge you can't solve is an opportunity for you to learn something new. Do not throw the opportunity away by just pasting the solution. At some point, you might need a similar solution or to even maintain it. Try to understand why it's working.
Any Tutorial without practice exercises is a waste of time
I'm sure you might have heard about the tutorial hell, well it's closer than you think. Before you jump into any tutorial (unless you are an experienced dev just seeking to improve knowledge) check if it has practice exercises because that's where the real learning is, and do not just stop there let your mind travel and ask yourself where can this knowledge be applied.
As painful as it may sound there's an advantage in the Job market and also intellectually a college graduate has over the opposite. Yeah everyone is saying college doesn't matter this and that trust me behind the scene they do the opposite. Sorry, your background doesn't fit the requirement (lol). Keep studying and Improving always no matter the challenge.
That your Code works don't mean its good enough
Hmm, the painful truth. Always try to get feedback and code reviews from seniors. This act can speed up your learning process a whole lot.
Software Developer Interview process is a frustrating one
Get ready to be rejected a lot for the road is very narrow. First, no one wants to hire a junior unless you are a senior that's a junior for a lesser pay you get the gist. You'll pass 3 rounds of interviews only to be told we are sorry you won't be moving on to the next round without compensation like who invented this system. The interview and the Job sometimes do not match like all you'll likely need is an ORM but they'll still test extreme SQL skills, You'll just need to write basic rest API and they'll still ask you how node.js was created.
Be strong and be ready.
Understand the Framework/Language
Yeah that you can create a CRUD application with your framework or library isn't enough. Try to get an understanding of the system for as you grow into more advanced roles, you'll likely be building tools for others to also use and the knowledge acquired would go a long way.
The curse of Knowledge is real
As you become better try to remember you also had a starting place. Don't get too extreme with newbies. Try to remember the tutorials and steps you took to understand a concept and share them. You already know the curse of knowledge and I must say it's so much in software development teams.
You are only as good as the challenges you've faced
The simple difference between a senior and a junior is experience. There's so much you need to learn. It starts by you asking yourself what should I be building. When you encounter obstacles you'll learn something new.
Start writing, documenting, blogging
Take us on a journey. Share your experience with the world. You do not have to be a good writer. You also do not always have to be right about a concept. I can boldly say I've learned a whole lot from the comment sections of an article and then I wonder what if the author didn't post in the first place.
Start connecting and Build your brand
Meet developers, attend events, join forums, and have interactions. At some stage, you'll get stuck and these things will open doors for you.
LinkedIn is a great tool I hope you are using it? don't be shy to showcase yourself and your skills.