Nobody likes job interviews, but they’re a reality of our lives as developers. We’ve put together our 9 favorite resources to help you stop searching and finally land the job you want.
Preparing for a software interview can be nerve-wracking. Compared to interviews in other fields, they tend to go on for longer, and they will include testing. If there’s no whiteboard and/or practical test, you’re probably in the wrong room. The higher end of pay for software engineers is on the level with law and medicine, and desirable jobs will have a lot of high-end candidates competing for space; it’s possible to be an exceptionally talented developer, study for 8 months for a single interview, and not get the job.
With that in mind, the CodeClouds team has collated our favourite interview prep resources, to help you get that job you deserve.
Toptal is the source for high-end freelance engineers—their staff and clients are intimately familiar with the interview process. Their guide is fairly short, but covers some of the most critical questions. If you can’t answer these 10, then you’re in real trouble. You’ll also notice a focus on soft skills: you’re not asked to explain an API, but to explain an API to non-technical stakeholders, because being able to explain what you’re doing in plain English is an extremely important job skill.
One of the best ways to prepare for an interview is to study interviewers. If you know the logic they’re operating on, you can answer questions that fit their needs better. Again, we see our friend functional programming, though they make a great note—you should also go in understanding OOP. It’s still a popular paradigm, and though many engineers are pivoting towards FP, you need to be able to understand and write OOP if you’re going to work with basically any codebase. It’s less popular than it used to be, but it’s still massive and you’re going to be useless if you can’t—at the very least—debug or refactor it.
They also have a version aimed at junior engineers, but even if you’re coming in at a low level, it’s good to have answers for tougher questions prepared, and we thoroughly recommend at least trying to read and understand the senior questions.
A lot of these guides go over the sort of questions you’re going to get asked, but it’s also important to understand the procedural side of things. Are you ready for somebody to pull up your GitHub? Are you ready to talk about your position at the company, and your desired work/life balance? Do you know how to put together a good cover letter? You could write the cleanest code in the world, and it won’t help you get the job if you never get through to the phone screen.
One thing interviewers will absolutely want to do is nail down how well you know your fundamentals. Data structures are a critical part of that. Many developers—particularly those who are self-taught—come in understanding how to manipulate a particular structure but with very little understanding of how it works under the hood. That’s fine for basic coding, but knowing the what and why will give you a huge leg up.
On the other hand, a lot of coders coming from academic backgrounds probably did this stuff years ago and have since forgotten the specifics, and it’s good to get a primer. Either way, this is a fairly quick read that’ll be invaluable in your interview.
If you’ve got a really big interview coming up and you’ve got a lot of time to get ready, these two GitHub repos are the definitive sources you need. Between them, they cover almost every single eventuality. There’s also no way to read them quickly, so set aside a couple of days at least just to study these ones.
It’s everybody’s least-favorite part of the interview: “so, do you have any questions for us?”
Everybody has a thousand questions (“how much will I be paid? What’s the company culture like? How much will I be paid?), but asking of them might come across as difficult and you don’t want to jeopardise your position.
Quora Engineer Angela Zhang makes a solid case for asking questions, and also details what sort of questions you should ask (n.b. don’t ask about the salary in the interview—leave it for when they offer, and if it’s too low, well … they clearly want you, so don’t be afraid to ask for more) which is the real issue a lot of people run into.
If you’re willing to put some money down, Cracking the Coding Interview is one of the definitive guides out there. It’s hugely popular, and it has managed to maintain a 4–5 star rating for years now despite a huge number of readers. One caveat: the book is based around Java (NOT JS). Its principles give you a broader skill base than that, but if you can’t follow Java then you’re going to have issues following the activities.
And of course, don’t panic. If you’ve done the prep work, then—even if you don’t get the job—you’re sure to impress, and you’re sure to get there eventually. It’s often just a numbers game: even the best candidates get a lot of silence in their inboxes, and it’s a matter of trying again and again until something sticks. Don’t give up: maybe your dream job is closer than you think.
If you’re a developer currently looking for work, then feel free to browse our careers page. We have software developer jobs in the US, India, and New Zealand. CodeClouds has been developing web pages and applications for over 10 years, and we’ve grown from three people in a Kolkata apartment to a team of over 300 staff across four continents.