Tech Interview Tips from a Developer

Rachit Khare
FreshWorks Studio
Published in
6 min readJul 13, 2018

I’m a developer at a company called FreshWorks Studio in Victoria, BC. We’re software developers specialized in iOS and Android apps. But a company is so much more than what it does. What makes any company truly wonderful in my mind is the people that you work with. It’s nothing different at FreshWorks.

Since people are so important to what we do and how we do it, I thought I’d share some insights into our hiring process from the point of view of a developer and potential team mate for those who might want to join us. Although this is insight into one person’s mind with a focus on web development, I believe this may be generally applicable to most job interviews.

The why you would want to join FreshWorks is outside the scope of this post. All I will say here is that I love working at FreshWorks in terms of the people, the freedom and the projects — in that order.

The Process (in brief)

At FreshWorks, we have multiple hiring rounds and I’m quite impressed with our hiring process. This was in place before I had joined, and the overall structure remains the same. There’s a pre-screening call, technical interview, a take home selection test and then a final interview with our HR Manager and one (if not both) of the founders.

I‘m generally asked to step in at the technical interview stage. Based on my feedback, the go-ahead is given on whether a candidate should be sent a technical project for a web application.

So… here’s an insight into how I think and what I look for during interviews.

General Tips

The #1 thing I look for in any interview: is this someone I can work with?

Know that your interviewer at FreshWorks is vested in you the same way you are vested in them. You both need to collaborate together and navigate this interview successfully. Don’t let your interview turn into simple question and answer turnarounds. Ask for clarity on a question, follow ups. Make it engaging. Collaboration is a core value at FreshWorks.

Show that you’re malleable. There may come around a time where you and your interviewer disagree (sometimes passionately) on a topic. Very humbly, keep an open mind. Humility is also a core value at FreshWorks.

One for the technical candidates — put a link to a sample repository on Github/Bitbucket in your resume. I do take the time to read through resumes and I try to validate what you’ve written during the interview. So it’s not like I’m coming in blind. There’s already an impression in my head.

At FreshWorks, excellence is also a core value. Whatever you give us, a resume/project — make it easy for us to absorb. If your resume is targeted more towards the pre-screening with HR (as it should be) your Github repo is the chance to make an impression on your tech interviewer. Clear instructions in the README.md and comments on your code will go a long way. In fact, if you just do those 2 things, I’m personally 70% of the way there to recommending you to the next round.

Know Your Role

If you’re a WWE fan and remember The Rock before Dwayne Johnson, maybe you expected “and shut your mouth” coming around the corner (I’m curious to know — leave a comment 🙂). But the role in this context means the position you are applying for.

I’m typically involved in hiring Junior and Intermediate developers. If you come across 2 job postings, one for each of those positions for full stack development and don’t know where you quite fit it, there are some specifics in the subsequent paragraphs that you should look out for.

I look for enthusiasm in junior programmers. Show me you’re inquisitive. If I bring up a technology you haven’t heard of before, ask me about it. I’d love to tell you more. We love tech at FreshWorks and we want people who are excited about technology.

When it comes to intermediate developers I’m looking for both breadth and depth of knowledge. At the intermediate level, I’m looking for you to know your stuff across the software development cycle. You don’t need to know specific technologies or stacks but you need to know which realm they’re in. For example: If you don’t know much about docker, you should at least know about virtual machines. You don’t need to know anything about Laravel and Eloquent but you need to know what an MVC framework or an Object Relational Mapper (ORM) is and you should have used one before. On the front-end side of things, if you haven’t worked with one of React/Angular/VueJS, it’s an uphill battle.

How to Answer Questions

This is something I learnt from our HR Manager. I’ve found the best answers always follow the STAR approach. Situation, Task, Action and Result. If I ask if you have developed a full MVC application before, you could answer with a simple “Yes”. A better answer could be “Yes, I built a blog app using a MEAN stack”. An even better answer would go something like this:

“Yes. When I was applying for jobs and writing my resume, I took the time out to make a sample project to showcase my abilities and stand out from the competition. I chose a basic blogging application which captures the basics of what I wanted to demonstrate like CRUD operations, authentication, authorization etc. I used a LAMP stack and deployed it on AWS. My MVC Framework was Laravel with VueJS and Bootstrap 4 on the front-end. I began by defining the data model with associations and then incrementally built up the Controllers and Views as I went along. The project includes RESTful API’s along with Unit Tests using PHP Unit. You can view it on Github — the link is there in my resume.”

What I like about this answer is that it takes care of some of the other questions I would have asked such as “Have you worked with AWS before?” but more importantly now it’s a conversation. A range of opportunities has presented itself for us to carry on from this point. I can talk about unit testing, thoughts on VueJS, if I were to look at your repo right now — where am I most likely to find bugs, and so much more.

I’ll be honest, it took me 15 minutes to write multiple paragraphs that were fairly verbose. And another 5 minutes to refactor all that into one succinct paragraph (or as succinct as I could make it). And that too for a question I’m posing to make a point. There’s time, effort and practice involved in anticipating questions and formulating responses before an interview, but I think it’s worth taking the time to do that little bit of prep.

Always Ask A Question

I always give time at the end for the interviewee to ask me any questions they may have. This is your opportunity to make an impression; and if the interview went badly, to salvage it. For me, the best questions are those that are beneficial to the both of us. I’ve had many people ask me about “how is it like working there?” or “what do you love most about working at FreshWorks?”. These are good questions and I’ll answer them enthusiastically.

What really gets me excited though, is showing people what it would be working like together on a team. At the end of the day, that’s what I’m here to assess and ironically we’ve come back to where we started with General Tips.

I had this drive recently to get this down on paper (figuratively speaking) and it feels good to put something out there. Hopefully some of this applies to roles outside of software development and outside of FreshWorks. Good luck for your next interview!

Rachit Khare is a senior developer at FreshWorks Studio, working with other experts to design and develop elegant and highly functional mobile, web, and blockchain apps. Our 50+ person team is based in Victoria and Vancouver with clients across North America that include Fortune 500 companies, bold entrepreneurs, startups, enterprises, and government organizations.

Contact us anytime to find out how we can help your organization succeed.

--

--