All about Geonomics developer remote coding test
As you might expect, part of our developer recruitment process involves applicants writing some code for us. We want to give you a chance to show us your coding at its best, working on a problem that’s large enough to be interesting but small enough to be completed in a relatively short time. We don’t want you to be under time pressure doing some web-based test; we would rather that you used the tools and environments you’re already familiar with and do things at your own pace. For instance, even though we suggest you spend only a couple of hours or so on the problem, you might want to spread this out over two to three days. Hence we’ll email you the problem and ask you to email back your solution once you’re happy with it.
Typically we ask you to write a program that generates answers for some small puzzle problem across a range of inputs and within a performance bound. Meeting those requirements is only part of the story however. We are looking for “well-written” submissions, by which we mean code that avoids unnecessary complexity, is clear and concise without being overly terse, has had some thought given both to usability and to extensibility, handles edge cases (including guarding against invalid inputs) and has some sensible unit tests. In short, the tech test is an opportunity for you to show us that not only can you solve the problem, but also that you can write beautiful code.
How to tackle our remote coding test
- Take the time to fully understand the problem you are solving.
- Think about code structure and how your algorithm will work.
- Come up with an initial version that solves the problem.
- Spend some time improving on your initial version by considering “non-functional” and “edge case” requirements.
- It’s fine if you want to build your solution using tools like maven or gradle, but the .zip or .7z file you submit to us should include a single compiled executable jar file that includes everything needed to run the program.
- We will run your program against a range of inputs, not just the one mentioned in the problem specification.
- There’s no time limit so take the time to show us your best quality production code.
What will happen after you submit your solution?
- One or two of our developers will run your program against a range of sample input files and input parameters.
- If it generates correct output sufficiently quickly, they will then review the source code of your solution. (Code review is a big part of how we work at Geonomics and all of our developers are skilled at providing constructive feedback to their colleagues to help us all write the best code that we can.)
- Once this is done we aim to get back to you with a response very quickly – usually on the same day but no later than the next working day. If you have applied through a recruiter then we will send our response to them. If you don’t receive any feedback by the end of the next working day don’t hesitate to get in touch with us. We may ask you to do a phone interview at this point if you haven’t already done one or we’ll invite you to our office for some face to face interviews.