You’ve nailed the phone interview with the recruiter and the hiring manager is impressed with your recent projects. The next step? A take-home coding challenge. But what are the best strategies when tackling a coding challenge?
First, coding challenges are an excellent way to show off your skills and prove to the team your code will positively impact their code base and business. No memorizing algorithms or data structures you never use on the job. Instead, you get to build a cool app or solve a problem similar to one the company may be facing.
This is also a chance to for those who have trouble with live interviews to do what we do best as engineers: build things. If this is a job you’re interested in, you have an opportunity to outshine your competition by going the extra mile.
Take-home assignments are challenging by design, but taking a strategic approach can drastically improve your odds of making it to that next step!Strategy #1: Understand the Coding Challenge
The first step may seem obvious, but in the heat of things, you might find yourself getting caught in the weeds before you even start. Every coding challenge is rooted in some fundamental principles they want you to demonstrate, so take some time upfront to truly understand what will be required for the project.
Front-end: Build a data-table that supports sorting, pagination, search, or basic styling.
Full-stack: Create a RESTful API and display the data on a front-end client after being given a CSV, JSON, or ZIP file.Strategy#2: Know Your Limits in Remote Coding Challenges
It’s important to understand your strengths and be realistic. When I was first breaking into the industry, I received a coding challenge that involved writing a python web crawler to scrape data and database administration work. I’d mostly been working on front-end stacks, so when I read through the challenge, I emailed the company to let them know this role may not be the best fit.
Don’t be afraid to stretch yourself, but it’s better to be upfront about your limits with yourself and the interviewer. Often times this may lead to adjacent opportunities that are better for your skillsetStrategy #3: Confused about your Coding Challenge? Ask for Clarification
In the many take-home challenges I’ve received, it’s common for a given task or feature to have a very limited set of instructions and requirements. A previous manager once told me that the best engineers will ask insightful questions and use that information to write high-quality code.
Don’t be afraid to ask questions or reach out to your point of contact. Whether it be clarification on a feature or a design decision, it signals you’re engaged. It also shows you’re likely to speak up when issues arise at the company.Strategy #4: Manage Time on Coding Challenges with a Technical Plan
Time estimation is one of the most difficult parts of software development. Even experienced engineers struggle with it. The most common challenge is summed up well by Hofstadter’s Law:
It always takes longer than you expect, even when you take into account Hofstadter’s Law” -Douglas Hofstadter
Projects always take longer than expected, which is why I like to make a technical plan up front and schedule my time for each step. Once I have estimates, I usually multiply them by 1.5x or 2x (if it is a technology I haven’t worked with) and bake in extra time for debugging, refactoring, and code review.
Keep your plan up-to-date as you hit major milestones and consider sharing this with the company. Speak up about trade-offs and blockers that may have come during development.Strategies for After the Coding Challenge
After you submit your assignment, be sure to send a follow-up, letting them know you thoroughly enjoyed working on the project. Include your technical plan, design doc, tests, comments, documentation, or anything that shows you went the extra mile. It will also give them a better feel for what it is like working with you.
You could also consider getting together with a friend to practice talking about your project. Common questions that may come up during the next round:
What were the biggest challenges during this project?
Coding challenges can be a stressful step in the interview process, but following some general best practice guidelines will increase your odds of landing that on-site visit.Ready to let your dream job find you?
Already on the platform? Earn badges for your profile through Hired Assessments to optimize your changes for a better match.
Now a Software Engineer 3 in sunny California, Andrew found his remote role at TrueCar through...
Hired & Exponent Partner for Engineering Career Advice Video Series Hired recently...
Part of a Series: Setting yourself up for success as a remote candidate Editors note: this...
Hired & Exponent partner for engineering career advice video series Hired, along with our...
Any software engineer will tell you: There are a plethora of coding languages out there and...
12 Easy Steps to Boost Job Interview Success You passed your phone screen with flying colors....