Congrats! You have chosen the best and most overwhelming career and you are at the magical point where very little is expected of you. There are so many great things about being a developer or software engineer but be sure to do these things as a junior engineer to get your career on the right track!
Some people may think this is a given but you may be amazed how many junior engineers feel they should know everything and stay quiet rather than asking questions, or they think their question is stupid so they don’t want to ask it. As a junior developer people do not expect you to know everything and that is okay! However, they don’t know what you don’t unless you ask them! You also may ask questions that make the team think about how they have implemented something in a different way or bring up something they have never thought of. A fresh pair of eyes is always a good thing.
Also learn the right questions to ask. Asking a question may sound basic like, Rachael I learned how to do that in kindergarten. But, there is asking questions and there is asking the right questions. Watch your seniors and see how they are phrasing their questions and the kind of clarifying questions they are asking. It is important to learn the amount of information to give out, the right questions to ask, and the right way to phrase them to save yourself a lot of headaches. It will ensure you stay in good political (office politics) standing and make sure that you are doing the right work not the work you think is what is right. You will frequently find yourself in situations where you aren’t clear about what the business wants and need to learn how to ask what they need.
This may be beating a dead horse but seriously do it. I have learned SO much from all of my mentors. They are frequently my senior that I am under or other seniors in my company. Your mentor does not have to be in your company, on your team, or even a dev. Having a business mentor to help you navigate working in a company and being in an office is so important. They will help you understand how to present yourself and be yourself without upsetting other people around you. I personally have had multiple developers and non-developer mentors all of which have taught me very important lessons.
The most important part of this is finding the right mentor. Your company may assign someone to be your “mentor” but you don’t really get along with them or maybe they just show no interest in helping you. That’s fine, find someone else. Find someone that goes the extra mile to make sure you understand why decisions are being made, why you are implementing something in a certain way, and shows interest in you as a person and your career. I am personally great friends with all my mentors and they are people I talk to daily. Seriously take time to find them. They will be SO important in your career progression!
Becoming a software engineer or developer can be super exciting but also daunting at the same time. There are SO many languages to learn and all kinds of fun stuff you can do. Learning the foundations of development and of the specific stack you are working in is SO important. You will find yourself getting much further in your career by focusing on principals. Take your time to understand development principals and the stack your job is requiring you to understand before moving on from there. Principals and a lot of the base knowledge will transfer to other languages. You will find picking up languages is much easier when you understand the principles and designs behind software development.
I see SO many juniors trying to learn a bunch of different frameworks and skip the basics because why would you use the basics of the framework does it for you?! Well, there are a lot of reasons. I touch on those in this article if you want to learn more about that!
This will save you SO MUCH TIME. Debugging is a skill that is so important. Being able to quickly know what is wrong and how to figure out where the error is happening is no a skill every developer has. If you learn how to debug properly you can write and fix code so much faster. It will also save you a lot of frustration. This however leads back to understanding the language as a whole. Being able to understand how things work will help you understand what the errors mean and how to read the stack traces you are getting. Be sure your dev mentor is good at debugging and spends time with you to teach you how to save yourself a lot of time and headache!
Everyone should always be asking for feedback. I ask for feedback on every presentation I do and any architectural decisions I make. As a junior developer, it is so important to get feedback about everything from how you are acting in meetings, to presenting, to your code. You will learn so much from the feedback. You may think you are coming off one way but others are taking it another way and you won’t know unless you ask. Or maybe you think you come off as super nervous while presenting but really no one could tell. You won’t know until you ask. You will find yourself making the right corrections rather than the corrections you think you should be making. Everyone always has something to improve upon. Find out what yours is and start working on it!
Also, learn how to take feedback. A lot of people take feedback personally or get defensive. If someone is taking the time to give you feedback they are doing it for you, not themselves. They didn’t have to take time out of their day to give you that feedback. Remember they are giving it to you to help you and your career not to make themselves feel better.
I hoped this helped and I hope you love being a software engineer as much as I do it’s an amazing unique career but also a lot! Take your time! Enjoy your time as a Junior Developer to learn and stoke your passion for it before people actually expect things from you ;p