As a junior developer, I was often fraught with insecurity and imposter syndrome with regards to my technical ability. I actually postponed the beginning of my career by at least a year due to these feelings.
Over the years these feelings have diminished somewhat, although not completely. Whilst not all of these points are related to confidence, if I had a time machine, I’d go back in time and tell myself these things. Ah, the power of hindsight!
1. You Don’t Need To Know Everything
Companies that are looking for junior developers are not looking for experts. If they were, the job advert would be for a mid or senior level developer. As I was starting out in my career, I managed to convince myself that I didn’t know enough or have enough experience.
In reality, it’s all about your attitude. A junior developer should be motivated, curious and capable of learning new things. As long as you have a reasonable thirst for knowledge, everything else will fall into place.
If a company expects more from a junior developer, they might not be worth working for in the first place.
2. Interviewers Aren’t There To Catch You Out
Due to my inexperience at the time, I always had it at the back of my mind that any interviews for developer jobs would go terribly for me. I would imagine these scenarios over and over in my head. It would often involve some kind of whiteboard test where I’d cave in under the pressure. I would forget everything I knew. The unfriendly interviewer would flip over the table and shout, with an air of superiority: “Aha! I knew you didn’t know how to reverse a string, fool!”.
In reality, most interviews are nothing like this. The interviewers are not there to catch you out, or to prove you wrong. They’re simply there to find the best candidate for the position they’re recruiting for. Any company that has the unfriendly above attitude toward interviewing is almost certainly not worth working for in the first place.
3. Don’t Be Afraid To Make Mistakes
As I started my career, I somehow convinced myself that I must not make any mistakes, and would be hard on myself if I did. I fully expected the company I was working for to punish me and banish me to a life of unemployment.
As a junior developer, you will make many mistakes. You should make mistakes — as long as you learn from them — and they are not always due to carelessness. It’s human to make mistakes. Senior developers make mistakes all the time. Although they are much more likely to anticipate and diagnose problems due to their experience.
If you find yourself working for a company that has unrealistic expectations about making mistakes — or has a blame culture — consider whether this is the best place for you to be working.
4. Embrace Change
Early in my career, I became a diehard native iOS developer. I would preach the benefits of native development over web technologies, iOS over Android, Objective-C over Java. I felt threatened by a suggestion that there was any other way to develop apps.
How things change! These days, whilst still primarily an app developer, the face of the technological landscape has changed substantially. I no longer preach Objective-C over Java, or iOS over Android. In fact, I’m no longer a diehard native advocate either. My preferred stack for the last few years is Javascript based (React/React Native) simply because it is the best tool for the kind of problems I’m working on.
I embrace that this will one day change. I’m comfortable with the fact that I can and will need to learn new technologies to best solve the problems at hand.
5. Figure Out What Inspires You
As I started my career, I didn’t really have much of an idea of the kinds of things that inspired and motivated me. Your first few industry jobs will likely be a journey of discovery that will help you calibrate your motivational compass.
Some people enjoy focussing on technical problems. Others like to focus on building software that adds value to people’s lives (where technical problems are just things that need to be solved). Somebody else might just enjoy learning new things or managing a team. Indeed, it’s quite possible to enjoy all of these things!
Whatever the case is for you, it’s completely okay not to know this at the start of your career as a junior developer. These things will likely change for you over time anyway. Don’t be afraid to try new jobs, work on new projects within a company or with new teams to discover what inspires you.
Summary
These are a few things I wish I could have told myself at the tentative beginning of my career. Of course, the journey of the junior developer never actually ends. Rather, it’s the very start of a lifelong journey as a developer. Stay curious, embrace change, figure out what inspires and motivates you and have fun!
Top comments (2)
Figure Out What Inspires You -- So true. I used to feel inadequate because I wasn't up on all the latest frameworks and (in some cases) buzzwords. It would stress me out. Eventually I realised that being bleeding edge wasn't me -- I'm more of a code maintainer kind of guy ... and that's okay. There's a place for everyone.
James, this is so well put! This is good advice for everyone, whatever career stage. I would also add always be humble, it's the best way to learn. And a small twist on your powerful point about inspiration: find what inspires you in whatever you feel you need to be doing. Sometimes people walk away from a difficult road because a section did not inspire them --- and they miss getting to the destination they would have loved.