Advice for new and aspiring junior developers
Today I am saying good bye and thank you to Technology Will Save Us, where I have been working as a junior developer for the past 7 months. As a reflection on my time here and in the interest of helping other people, I have compiled a few bits of advice to pass on to people like Past-Louise as they start (or want to start) work as a web developer.
Gain confidence using the command line, particularly for git
The command line is an interface that allows you to run commands such as for navigating through files and folders or modifying them. The more advanced web development you do, the more you will need it, you will have to use it for things like preprocessors or modern development tools like NPM. It is a really powerful tool and getting to grips with it will save you a lot of time as you become a developer.
When you are starting out and doing personal projects, the git command line interface is a really valuable tool to learn how to operate. When you start working you will be part of a larger team of developers, a lot of the work that you will do will be highly collaborative and the GitHub GUI just wont cut it.
To get started with using git in the command line, this tutorial is really quick and simple, for a more in-depth and visual demonstration of the commands there is git branching. And to keep you going, here is a great cheat sheet that I keep at my desk.
You’re not expected to know everything and you are expected to ask a lot of questions
Accept that you have knowledge gaps, accept that you have more knowledge gaps than your more senior colleagues, and know that it is expected of you. It’s hard when you are surrounded by coding ninjas to remember that they were once as inexperienced as you. It takes practise and patience to get up to that standard.
As a junior developer you are not expected to understand the ins and outs of everything (of many things) as soon as you start. You’re expected to ask questions. Accepting this, letting yourself feel a little bit annoying will really help you to grow and will of course also help you to progress most effectively.
Always be learning and make use of the supportive community that is out there
You’re expected to learn independently too, spend time learning about new framework or library that you’re interested in during working hours, or in your own hours. When I learn about a new topic I share it with my team, which is valuable for us all.
Development is a fast changing world of new technologies, libraries, web standards and all sorts. Keep on top of it, go to meet ups, go to conferences, or even just sign up to a newsletter. You can teach your team new things and you’ll begin to develop specific interests that can enhance how you experience your career. There are plenty of things that even as a junior you can own and bring back to your team, chances are your team probably have a lot to learn about accessibility. Learn from events and the community and feed the ideas into your professional and personal projects.
It is ok to feel apprehensive about a challenge, and if you feel overwhelmed, its ok to turn it down too
At a meet up I went to a few months ago I listened to a talk by @jesslynnrose and she spoke about this concept called the “zone of proximal development”. Keeping this in mind when I face a new challenge at work or with a personal project helps me to regain focus when I am nervous. Whenever you start to second guess your ability to take on a new challenge, keep on going and don’t worry about asking for guidance, you are probably more capable than you realise.
Also have this concept in mind to encourage you to actively take on challenges at work or to try something more advanced in your personal projects. Surprise yourself and surprise others, this will help you to find that zone of proximal development, and in turn help you to grow in your role.
This being said, although you are a super junior developer with sky high ambitions, some challenges are just not sensible. A challenge that is too new or too difficult will make you feel like you’re standing at the bottom of a huge wall, and you’ll find yourself wasting a lot of time.
Just be nice
This is by far the most important characteristic in a team member. Listen to your team members and be considerate of their styles and ways of doing things and you will learn a lot from it.
Express your opinions in constructive and non-confrontative ways. Strong convictions tend to cause contention and can slow down processes. It’s much more impressive to show you can listen and diversify than display your technical insightfulness by coming on too strong.
Just be great to be around, be kind, be polite, have fun.