It’s an exciting time, applying for your first programming role – and naturally, it can raise a few questions. Am I experienced enough? What should I emphasize? How do I need to prepare?
In this blog post you’ll learn what to focus on when applying for your first job as a junior developer, how most of the engineering interview processes work and what to expect from working at Smartly.io. I’ll reflect on my own experience from last year when I applied for and got the job as a software developer in the Product Development team.
We are looking for developers who want to kickstart their coding career. Learn more at smartly.io/careers/launchpad
What to focus on when applying
If you’re applying for your first job as a developer, experience might not be your best weapon in the arsenal. Therefore the ability to show your potential, motivation, interest and hunger to learn are your most powerful keys to succeed in landing an interview. To best express the aforementioned, you need to think hard about:
- Why do you love programming?
- What kind of a developer are you? (e.g. frontend or backend)
- How have you improved over time and what have you learnt?
- How can you improve in your weaker areas?
Reflecting on these types of thoughts and talking about them makes you stand out from the crowd. You can also consider showing some of your own side projects, ideas or even some school projects meaningful to you. Whichever you choose, it would be awesome if you could highlight your learning curve already in the application process.
How to prepare for interviews
Personally, when I went in for my first interview, I wasn’t sure what to expect. In my mind I had built it up into a scary, difficult exam which I’d have to try my hardest to pass. A mindset like mine would make anyone feel nervous. In reality the interviews were nothing like that, and I’d like to shed some light on what is expected of an upcoming junior developer and what kind of a situation the interview actually is.
Job interviews for developers usually consist of at least 2 parts: A casual chat about who you are, and a more technical part where you are given some problem to solve. First things first, if you’re a student applying for their first job, by no means are the interviewers expecting you to know everything, or even half of everything. It’s not always the years of experience that’ll give you a position as a software developer; the interviewers know that everyone has to start from somewhere.
The casual interview
In the casual interview, the key points interviewers are looking for in a junior candidate are:
- Are you willing to face difficult problems and improve yourself?
- Do you have an understanding of the basics of developing an application?
- Are you able to use that understanding in practice to develop small applications / parts of an application by yourself?
- What are your interests, what motivates you?
- Are you able to work together with other people?
- How great is your growth potential?
Don't fixate on trying to tick every box – just be yourself and show the interviewer how motivated and ready to learn you are. A good idea might be to flick through the company's website and briefly familiarize yourself with the product. Preparing a list of questions to ask is always a good way of showing your curiosity and willingness to learn. It’s also important to show that you know where you can improve – don’t start guessing answers to questions around unfamiliar topics, it won’t progress the discussion towards anything meaningful. With the appropriate mindset and willingness to learn you should be able to ace the first interview.
The technical interview
The technical interview is meant to test the candidate’s skills in practice. Usually there’s a small application which has a problem, and the candidate is tasked to solve that problem in a timely manner. There might or might not be an interviewer present during the coding itself, but if one is present, make sure to communicate your process of thought clearly. When I was given my first coding challenge, at first I had a hard time even understanding what I was being asked to solve.
The idea of the challenge is precisely that – to throw a difficult problem at the candidate and see how they can cope with it. If you can break the problem into parts, solve them one by one and communicate your chain of thought concisely, that’s a good demonstration of both your skills and willingness to solve problems. A junior developer will be thrown into similar situations countless times during their daily work, so It’s important to see if they can be proactive and face the challenges. If the candidate freezes up instead, doesn’t ask for any additional details from the interviewer and isn’t able to even start solving the problem, it’s a sign that the candidate might not be ready to ramp up their skills yet. So don’t get dazzled, ask for help if necessary, and face the challenge with a “Let’s do this” -attitude.
So you got hired, what to expect from your first job as a developer?
When I finally got hired, after a brief celebration I started questioning if I actually had the adequate skills to carry out my upcoming work. This worry turned out to be for naught though, as after two months I already felt like I was a part of the team like anyone else.
The first day
On your very first day you’ll be assigned a buddy, a mentor of sorts if you will, to help you get started. They’ll answer any questions you have, introduce you to the codebase and help you set up your working environment. Unlike many university courses, you’re not required to have specific prerequisite knowledge when starting. That’s why there are thorough onboarding processes in place for all newcomers to ensure that no one falls between the cracks.
Starting the work
In the beginning you can expect yourself to feel confused and overloaded with information. (And if not, what on earth are you doing in a junior position?) Even though the start might feel like being thrown straight to the deep end, remember that you don’t have to learn everything at once. In my case, my first task was to replace the default google chrome confirmation pop-up with a confirmation modal from our component library. A simple yet effective task, as I got to explore and understand an area of the codebase.
Ramping up your learning
At the time I had no idea how our infrastructure worked as a whole, or even what different services existed under our team’s jurisdiction. And that’s the way it’s supposed to be. You’ll gradually start building up your knowledge by first learning about only a few components, later about the areas which your team is responsible for, and only after a longer time will you understand the big picture. If you keep up the attitude and eagerness you had during the interview phase, by facing various challenges in your everyday work, you’ll become a proficient software engineer in no time.
Want to test this blog's tips in action? Check out our open roles for junior software developers at smartly.io/careers/launchpad.