One of the hardest parts of starting a new career is the eventuality that you’ll have to interview with a new company at some point. While this process is rarely a pleasant experience, it becomes especially daunting for the rookie developer trying to find that first job where you break into the “real world” of software development. I recently went through a few interviews and wanted to share one of my experiences.
The position with the startup I’ve been working with is potentially near the end of its life as they approach MVP launch and look for seed funding. Due to this I’ve started keeping my eye out on other potential opportunities for my developing skills.
The entire process started with me finding the position posted on Stack Overflow Careers’ site. I hadn’t ever really thought to look for a remote position but on a whim I decided to do a quick search and found several companies looking for a Ruby on Rails developer. I applied to at least twelve positions across the United States. Of those applications I heard back positively for six different companies, but in the end I was really hoping for this particular position just based on their Glassdoor reviews, the job description, and what they were doing in their industry.
The position offered a chance to work on a small, distributed team on a company’s proprietary software platform for social media influencer marketing. While this may not seem like the Holy Grail of remote jobs I really enjoyed hearing where they wanted to take the software (from in-house tool to potentially licensing it/SaaS-ifying it) and the advancement that the position might eventually lead to.
The next step after applying was setting up an interview with the recruiter for the company. This part couldn’t have been more enjoyable! The recruiter definitely knew what she was talking about and seemed really interested in making sure I would be a great fit for the company as much as the role itself. Seeing that a company values culture fit just as much as they technical ability was a very refreshing change from what I had experienced in other fields like hardware IT/administration and fitness.
After the recruiter interview I was given a code challenge, which I honestly love doing. Code challenges are a way to not only “display” your skills, but I often see them as a great way to see where I might have some weak areas. As a newer developer I occasionally get sent a code challenge problem which forces me to dive deeper into concepts that I’ve only briefly come across in my professional experience and technical education.
In this case the task was to create a Ruby model for a book (as part of a bookstore web application), a database migration for that model, and (optionally) test the model and its methods in RSPEC. In addition to these requirements the applicant was supposed to provide some search methods (by author, by publisher, and by book title) and other methods. The search methods ended up being deceptively involved and really helped me add to my skills with ActiveRecord queries.
After turning in the code challenge I was chosen to continue forward with an interview with the Vice President of Engineering. While the prospect of interviewing with someone so high up on the corporate food chain might normally have been daunting, it ended up being very relaxed and he was great at coaching me through questions. He had been with the company for over a decade and you could tell that he had a definite interest in making sure any potential candidate would be a technical and personality fit for his team.
Unfortunately my knowledge of algorithms was quite lacking and I goofed a few times on some of the Ruby Core Library methods (I was essentially rewriting array#sort_by in my head rather than just using the method…oops). So I’m willing to admit it wasn’t a shining example of my technical abilities but I was hopeful that my personality and ability to adapt quickly would be well received.
After a few days of waiting post-VP interview I heard back from the recruiter that I wasn’t selected for the position. I was a little downtrodden at first, I had really wanted that job, but in the end it was a great learning experience and really shined a spot light on some areas where I need to improve my knowledge.
Since then I’ve purchased a book designed to help me answer those deeper computer science questions and its working out quite well so far. For anyone who’s in the market for such a book, here’s an affiliate link to the book on Amazon: Cracking the Coding Interview. I can personally vouch for the material and it has really helped me focus my efforts on improving so the harder questions don’t trip me up.
I’d love to hear from anyone reading this who has had a similar experience with troublesome technical interview questions. How did you prepare for them? What would you do differently now?