Interviewing With Thinknear
We are hiring like crazy here at Thinknear. (Current openings on our careers page.) We're solving massive scale challenges in the hundreds of thousands of requests per second, pressing databases to the limit, and we have more data than we know what to do with. As a result, we're looking for engineers, data scientists, and managers. All these people are going through our process, and I wanted to share a bit more about that.
I'm going to skip the part where candidates first hear about us. We connect with people through recruiters, linked in, personal networks, events hosted at our offices, on campuses, .... so it's different for everyone.
The first step in our process for junior and mid-level candidates is to complete a coding challenge. This is an online coding test, the goal of which is to provide a coding sample to an engineer to review before doing a phone screen. This step exists because we get a lot of people applying for positions who can't code. It's a bit frustrating, but this step helps save time for both parties -- since the position here requires writing lots of code, we really want to make sure up front that we cover it.
With Sr. candidates we will often opt for what we call a 'sales call'. This is a call between the candidate and a people manager where we discuss what the candidate is looking for and attempt to determine if Thinknear will be the right fit. Like coding challenges, this is intended to save both the time of our engineers as well as that of the candidate - lets not spend time going through the interview if we don't think there's a good fit.
The next step is a technical phone screen. This is a call with an engineer here at Thinknear with whom you will solve a problem using code. To do this, we ask candidates to share a Google doc with the interviewer, and then solve a problem (without the aid of an IDE).
We like 'simple' problems which are solvable by applying data structures and algorithms. We don't like 'trick' problems (problems that have 1 non-obvious solution which is easy if you've seen it before but hard if you haven't). Simple problems involve sorting arrays, traversing trees, hashing strings, counting, and other problems you might encounter in a CS undergrad education. Our problems generally have multiple solutions, and though we'd like to see you produce the optimal solution, that's not necessarily the primary evaluation criteria. We're really looking for how you approach the problem, the quality of the code you produce, how you verify your solution is correct, and how you analyze it's performance.
We vary between 1 and 2 phone screens. After that, we ask candidates to come meet us in person. We will pay for travel for non-local candidates (and if later make an offer, we also cover relocation).
For the in house, we ask that candidates wear comfortable clothes akin to what they'd wear to work (except for Halloween -- seriously, it'll be weird if you wear a costume). You won't wear a suit here on a regular basis, there's no point wearing one to your interview.
The in house interviews vary a lot depending on the position and level. Junior engineering candidates will tend to meet with more engineers and their interviews will focus very strongly on coding. Mid-level engineers will have product folks added to the loop and spend some time on design. Senior engineers will do more design and talk more about leadership, team building, and architecture. Management types will get management type questions (e.g. working with underperformers). We'll usually do lunch or a break of some sort, which will give you a chance to socialize with the potential team.
Please bring your questions to the in house! We love it when candidates have good questions for us, and we like people who are more discerning in their selection. Remember, the in house is as much a chance for you to interview us as it is for us to interview you. By the end of the day, you should have a very good idea of what it might be like to work here, and if we make an offer, we really hope you will.
We're very picky with who we hire, but that means that if you make it all the way through, you get to work with really great engineers. For many people, that's incentive enough.