Tips Every Junior Developer Should KnowReading Time: 6 minutes
Whether you’re studying computer science or starting out in your adventure as a junior developer. There are some things you could and should do to get the most out of your time as a junior.
#1 Learn Everything
It’s a whole new world! You’ve just come off your degree/bootcamp and got your first junior developer job, congrats! This is an incredible opportunity for you to really get into all the tech the business uses. The tech stack itself is very important. You need to learn all there is to know about it. From the DB, OPs, security, backend and frontend. Just be a sponge and aim for as much exposure as possible. Also look into the reasoning behind the company using that particular tech stack.
Most team leads will dish out simple tasks and some that require some problem solving skills. Yes, they’re testing you. You need to start demonstrating your ability even as a junior developer. But, in order to succeed you need to be able to rely on your team. My rule of thumb is if you haven’t solved a problem within 20 minutes, walk away. Once you’ve taken a break, come back to it with the help of another developer and explain your problem. This is known as “Rubber Ducking” and a very common technique in our industry. When the developer is actively working with you to help solve the problem, you are now “Pair Programming”.
One common issue behind most problems is, lack of understanding. Instead of trying to fix your problem. Take some time to understand how the framework, library or language actually works behind the scenes. This will give better context for your problem and lead to a more concise and understood solution.
#2 Take on Responsibility
So now you’re in the flow of development. You have a few sprints under your belt and you’ve even pushed to production. Once you have settled into your role you shouldn’t get comfortable there. Start getting in the meetings where the technical decisions are being made. You don’t have to contribute straight away, just gather information for yourself. When you feel comfortable, find a need and take on that responsibility.
If you look hard enough you will find developer gripes with most systems. Find some manageable annoyances and fix them for your fellow developers. Generally programming can sometimes be so granular it’s really hard to see the bigger picture. Be that person who can insightfully discern issues and fix them for the good of the business.
Even something as simple as documenting your own progression and experience at the company. Highlighting on boarding issues you first encountered and some tips for your fellow juniors will definitely help the company long term.
Taking on these extra responsibilities shows a passion for the job and a willingness to progress. I believe that in order to move on in your career you should be exceeding your role’s requirements. Not just doing the same work you were on day one.
#3 Engage Senior Developers
Senior developers are a fantastic nexus of knowledge, use them! They have been doing this job a long time and have been exactly where you are. If you have questions, just ask. In my experience (myself included) senior developers are happy to help and mentor people who are passionate and curious. This also goes for developers who aren’t in your team. It might not be their job requirement but they want to help. Making yourself known to multiple teams as a collaborator and a quick learner will help further your recognition in the company too.
#4 Move around
It’s hard for me to write this because this is where I struggled most. I spent way too long in a place where I was making no logical progression. As a junior developer you have to get that exposure to different tech stacks, environments, developers and management styles because that will only help your career as a whole.
The company who hired you also may not be able to give you the progression you need, if it’s a small team and they can’t afford to pay you more to be a mid level developer then you need to move. Realistically if you are exceeding your job expectations and seeing no progression then that is the time to consider your options. But you don’t need to squirrel away your intentions only to hand in your notice. Keep a good dialogue with your manager and let them know how you feel.
#5 Failure and Mistakes
This is a big one, in an industry full of perfect machines, we are so imperfect. I need to tell you that mistakes and failure are just par for the course. You will make a mistake and it might be big but it won’t be the end. If caffeine doesn’t work in the morning just try dropping a couple of production tables, that will soon wake you up.
The difference is how you act after the mistake has been made.
First of all, once a mistake has been made, do not and I can’t stress this enough. Do not try to hide it. If it affects production, tell your team lead straight away! Now you’ve told the relevant parties, be part of the solution. Help fix the problem or pair with a senior to get it done. The problem has been dealt with, don’t try to place blame elsewhere, own your mistake. People will respect you for it.
Going forward, if that problem could have been avoided by a procedure, test or pipeline change then put that in place to stop anyone from making the same mistake. Be the person who made the mistake and never let it happen again for anyone.
#6 Mental Health
Stepping into this world may feel like you have to prove yourself to everyone and by all means do. But don’t do it on your time. The urge to stay that extra 30 minutes to do that bit more work may seem like you’re impressing people. But what you’re actually doing is giving an inflated expectation of your output. Those 30 minutes will soon turn into hours and you will grow to resent your job. Instead focus on ways you can be more efficient within your contracted hours.
If you feel like you’re struggling with your mental health then tell the relevant person in your company. If you’ve made your feelings clear and the company isn’t supporting you then that’s a sign you shouldn’t stay.
Make sure you take breaks, step away from the screen and go for a walk. Sometimes you just need to reset and come back with a fresh head.
You are a programmer therefore you use your brain, get some sleep! Getting the right amount of sleep will help to keep you focussed and efficient but not burnt out by the end of the day. It sounds obvious but it’s difficult to do every single night.
Don’t neglect physical exercise, you’re sitting at a desk for nearly a third of your day. Make sure you do something active to mitigate that. I personally go rock climbing, more specifically bouldering because there’s a lot of problem solving involved and I know you love to solve problems!
There is another blog that specifically deals with mental health here
#7 Programming Outside of Work
Sometimes when you get home the last thing you want to do is code. If you keep finding new things that keep your interest. Then you will have no end of half finished projects dotted about all over the place. The important thing is that you’re still learning and expanding your horizons. You should never stay comfortable and you can always learn more.
One way of programming outside of work is by doing a hackathon. Hackathons are a great way to collaborate, meet new people and try new tech. Most cities have a hackathon at some point so just keep an eye out wherever you are. They are open to everyone from both senior and junior developers to CS students and even people just generally interested in technology.
Another way is working on open source repositories. It’s a great and free tool to keep your skills sharp. Contributing to big repos will see your code reviewed by developers much more experienced than you and as a junior developer getting that kind of feedback is very important. It’s also a great way to give back to the community. One of the best ways of getting into it is to find a repository that you use often and contribute to it.
#8 Next Steps after Junior Developer
As you progress through your role trying different things, make sure you move towards what you find most interesting. Whether that be OPs, architecture, security, management or coding.
Think about the different career paths before you and make sure that you are on that career track to move in the direction you want. The last thing you want is to accidentally pigeonhole yourself to something you don’t enjoy because you couldn’t think of anything else.
Thanks for reading and best of luck in your future career!