TIPS FOR GETTING A JOB AS A DEVELOPER

TIPS FOR GETTING A JOB AS A DEVELOPER

COzero is hiring developers right now and a few of us devs have been involved in the process. It’s been interesting sitting on the other side of the interviewing table. I remember being pretty nervous putting together my application and going through the various interviews so thought I’d write up some tips that might help people applying.

TL;DR

To maximise your chances of getting through the initial stages, follow this checklist:

  • Include a cover letter with your application that is very clear on Why you want to work with us and how your skills align with the job description
  • Make sure your Github profile has at least four substantive projects that you’ve worked on so we can evaluate your technical skills
  • Be ready on time for the phone interview and find a quiet place to have it
  • Prepare for obvious questions in the phone interview and come up with a few of your own
  • Practise algorithmic questions so you can ace the coding test
  • Emphasise your Why in subsequent interviews

STEP 1: THE APPLICATION

I found the job description pretty intimidating when I was applying. I was only really confident with about 1/3 of the technologies listed. I can hold my own with HTML/CSS/JS but had barely touched Rails or AWS. The mission of the company really appealed to me though so I put in an application anyway making sure that I was as transparent as possible in the cover letter. This tactic of transparency seems to be effective: many of the applicants who get through our initial screening round don’t necessarily possess all of the skills on the JD. Especially for the junior roles, we are primarily looking for cultural fit, ability to learn fast and a tinkerer’s mindset.

Acing the cover letter

Some people say cover letters aren’t important but I’d argue they’re actually more important than a CV particularly for junior roles. If you’re a junior, you may not have too much meaningful experience, and even if you’re more experienced we will want to put to the test the things you do put on your résumé. It’s easy to put down a big long list of technologies that you’re proficient in but we’re going to rely more on your Github profile for assessing your technical depth. The cover letter is your opportunity to demonstrate cultural fit.

The power of Why

In my opinion, the number one priority in the cover letter is to emphasise why you want to work for the company. Make it real, make it sincere. If you don’t really care about the mission of the company from the outset, then you’re not going to enjoy working there and you probably won’t stay long. Applying for a permanent role essentially means that you’re making a minimum three-year commitment. If you can’t see yourself staying three years or more, then don’t bother applying. Of course you don’t have to stay three years if a major life circumstance changes or you discover that the experience inside the company doesn’t match the press releases. However, at this stage of the application process, you are hopefully feeling a strong attraction to the purpose of the company. If you’re ambivalent or are just looking for a short-term role to give yourself some runway to launch your startup, you’re probably better off applying for contract roles.

Bearing the power of why in mind, you’d be wise to spend at least a couple of sentences talking about why you want to join the company. It can be partly about the benefits you’ll get (e.g. “I really want to come and work for COzero because I love the idea of doing six month rotations between front end, backend, machine learning and infrastructure plus the table tennis matches sound great!”) but the key thing is about aligning purpose. If you don’t believe in climate change or the importance of energy efficiency, then you’re not going to be aligned to COzero’s mission.

You really don’t want to come across as mercenary. Saying that you don’t really care what the company does as long as you get paid and advance in your career (or simply the omission of a strong why alignment) is basically job application suicide. When choosing between two candidates of equal skill level (both technical and interpersonal skills), we’re always going to choose the candidate who exhibits more passion for the cause.

It’s really not that hard to demonstrate some passion. Unless you’re applying for an organisation that actively harms people and the environment, you’ll be able to find a reason why you’d be somewhat happy to get up on a cold Thursday morning and come to the office. In COzero’s case, you’d find some reason why you want to help stop climate change, improve energy efficiency and help businesses save money. You don’t have to be a tree hugging greenie but you should show some awareness of the magnitude of the problems we’re trying to solve. Perhaps you’re a keen skiier and have observed how the snowline is creeping up every year. Perhaps you have a relative who runs a small business and who is doing it tough since electricity prices went up ~20% on July 1st, 2017. The more heartfelt and sincere you can make it the better. It’d be great if you had a read of some of our case studies and blog articles so you can see the kind of problems we’re solving.

Answer the key selection criteria

After impressing us with how well aligned you are to our mission, you’ll next want to demonstrate how you’re a great fit for the role. Every job description is going to include a set of key selection criteria. To help the hiring manager, I suggest putting headings for each of the key selection criteria and then putting your response below. That way we can quickly scan through and see whether you match. If you don’t feel like you are a perfect match for all of the criteria, it’s still worth applying. If it’s a junior role, we don’t expect you to know everything and even for senior roles, there’s always the opportunity to upskill on the job. If you show you have a strong desire to help our cause and can learn quickly, that can make up for skill gaps.

Github profile

You’re applying for a developer role so we want to see that you can code and that you have a tinkerer’s mindset. If you don’t have a Github profile with a bunch of passion projects in it, then you’re probably not going to make it to the phone interview. Ideally you’ll already have a Github profile full of repos you’ve contributed to. If you don’t, spend some time doing this before applying. It can be hard finding the time to work on open source projects but if you want to stay in the development game long term, you can’t afford not to. Technologies are evolving so fast that if you’re not constantly tinkering, you’ll be left behind. We want to see you experimenting with new programming languages, trying out machine learning, contributing to libraries you use. If you’re working right now, look for opportunities to commit back to the libraries you use. If you’re not working, use the time between job applications to work on passion projects and do online courses. If you’re spending the whole time applying for jobs, chances are your skills are regressing. You need to be constantly skilling up if you want to stay in the game.

Key things I look for when reviewing someone’s Github profile are:

  1. Do they have a decent number of projects that they have contributed to in a substantive way? If you’ve done one commit to update the README, it’s not very impressive but if you’ve built a React Native app from the ground up or fixed a few bugs in a well used library, you’ll get a tick.
  2. Does the code follow clean coding principles? If you’re sloppy in public code, chances are you’ll be just as sloppy when writing code for a company so use linting tools, follow a style guide and write tests for your code.
  3. Does the code work? Ideally the repo will include a link to a live demo I can play with so I can get a sense of UX skills and a finisher’s mindset.

The CV

I don’t really think CVs are that important. Some people argue that you should customise the CV for each role but if you’re applying for a bunch of developer jobs, just get something presentable together and then focus your attention on the cover letter and on souping up your Github profile. There’s plenty of advice on CVs on the net. As long as the presentation is fairly neat and you include relevant experience you’ve had, it’ll do the job. As mentioned earlier, it’s easy to exaggerate on a CV so the value is pretty low. Cover letter and Github profile are far more important.

That said, there are a few things you should include that have been missing from many applicants’ CVs recently:

  1. Details about eligibility to work - we don’t have the ability to sponsor candidates who don’t already have a working visa in Australia so if you’ve recently moved from another country, you would do well to mention your visa/citizenship status so we know that won’t be a blocker
  2. Link to Github profile

STEP 2: THE PHONE INTERVIEW

Get the details right

Nothing’s worse than when someone gets the hiring manager’s name wrong in their return email. Re-read any emails you send and try to set a good impression. Make sure you’re on time for the phone interview and that you’re free of distractions.

Sound quality

Make sure you find a quiet place to have the phone interview. It’s not going to win you brownie points if you’re walking down a main road with horns blaring and wind rushing down the phone line. Get a decent headset and be ready for a twenty minute conversation.

Calm your nerves

Job interviews can be stressful. You’re being evaluated. You have to perform well, impressing both the technical person in the room and assuring the HR rep that you’ll be a good cultural fit. To ready yourself mentally, you might want to consider doing a few minutes of meditation/deep breathing.

Prepare for the obvious questions

You’re going to be asked obvious questions in every phone interview. Every company is going to ask you “Why do you want to work for us?”, “What’s the biggest success you’ve had?”, “What’s the toughest challenge you’ve faced?”, “What are your salary expectations?” etc.. Hopefully you’ll have done the pre-work in your cover letter so that answering this will be easy. If you have any glaring red flags in your CV (e.g. you have a series of jobs that only lasted three months), prepare answers for them as well so you don’t end up on the backfoot. You don’t want to sound like you’re reading from a script but you do want to have some talking points.

Come up with a few questions of your own

Go into the interview with a list of questions you want to ask. Good questions to ask would be questions about what we do (e.g. how does submetering work?), deep dives on the tech stack (e.g. how do you orchestrate your infrastructure?) and queries about the team/culture (e.g. what’s the work life balance like?).

STEP 3: THE CODING TEST

If you’ve got this far, you’ve done well. You’ve shown that you have a relatively strong degree of cultural fit and that you talk the talk when it comes to the technologies we’re hiring you for. Now we want to see you demonstrate those skills. Depending on which type of role you’re applying for, you’ll be asked to sit a coding test with 2-3 questions. Every role will have at least one algorithm style question to test how you solve problems and there will be specific questions related to the role’s duties (e.g. front end developers will get a task related to HTML/CSS/JS as well as a basic SQL question, while data scientists will have a bunch of very tough algorithm questions). For junior roles, you’ll have about three hours for the test and for senior roles, you’ll have a bit less.

What we’re looking for in the coding test

It’d be great if you got 100% on the test, but that’s not necessarily the requirement for making it through to the next round. We want to see how you solve problems. If you give up halfway through, that’s probably not a good indication of your ability to solve tough problems. If you rush and solve the obvious cases but submit with time still on the clock without factoring in edge cases, it suggests you’re going to cut corners.

Preparing for the coding test

Algorithmic problems don’t necessarily come up every day while you’re working. As someone who predominately does front end work, I was a little nervous when I checked out the sample questions on the site we use. To prepare, I spent about 10 hours working through sample problems. There a bunch of sites where you can practise. Within COzero, a bunch of us do exercises on CodinGame.com. There’s also HackerRankCodewars and many others. You’re going to face algorithmic challenges in pretty much every coding test you go for, so it’s worth doing some practice to prepare.

Tips for doing well

To read my tips for excelling at the coding test, check out the full article.

Judy McGannon

General Manager College Operations, College of Design and Social Context at RMIT University

7 年

Congratualations on the quality of writing in this article, Jeremy. Your tips could be applied to a range of industries

要查看或添加评论,请登录

社区洞察

其他会员也浏览了