I had interviewed for the backend engineering internship role at Atlan in May 2021 and managed to get in, just wanted to share my experience and some tips around the same.
tl;dr
I had applied on the opening via AngelList, sent in my resume and a cover letter explaining why I thought I was a good fit.
After that I got a mail from the recruiter with a take home project, I had a week and a half to submit. It was a 3 page google doc explaining a product requirement, I was asked to submit -
- A Design Specification
- A comprehensive explanation / pro-con analysis of the various approaches I evaluated before arriving to this solution
- Implementation of the design spec
The challenge overall was pretty fun, it involved bits of design thinking, coding and writing. Luckily they loved my submission and I was invited for an hour long technical interview with one of the senior engineers on the team, this interview was mostly discussing my background and my submission, what could be improved etc. No leet coding (thank god).
The technical interview went great and after that I was invited for a cultural interview with the co-founder, mostly discussing why I wanted to join and him answering some questions I had around the product and the company.
A day later, I finally got “that” call from the recruiter, saying that they wanted to make me an offer. I started my internship on 8th June 2021.
Applying
This was May 2021, I had just finished my second year and I was looking for internships in mid sized startups for a backend / systems engineering role. I discovered an opening in Atlan for the same via their AngelList.
I sent in my resume with a cover letter, they liked my application and I got a reply from the recruiter two days later with a take home project / challenge.
The Challenge
It was a system design problem that stemmed from a feature in one of their products. They sent a google doc which was 3 pages long explaining the feature and the problem statement, it also covered the requirements around scale, latency and observability.
I was asked to submit the following things on completion -
- A Design Specification
- A comprehensive explanation / pro-con analysis of the various approached I evaluated before arriving to this solution
- Implementation of the design spec (proof of concept)
I had a week and a half to create all of this and send it, it took me a few hours of deep work and iterations to finally arrive at the final design. I implemented the system using Golang and Python and then dockerized the whole thing, wrote up a README and some documentation.
I had written a rough draft of the design spec before I started with my code, so I spent a day polishing the design spec and writing the pro-con analysis. Zipped up all of this and submitted a day before the deadline with fingers crossed.
Technical Interview
The recruiter called me a few days later and said that they had liked my solution and wanted to setup a technical interview with one of the senior engineers on the team. I asked him if I will have to solve any leetcode type problems in the interview – he said no, it’ll be only questions regarding my submission.
It was an hour long interview, we started off the first 10 minutes with him giving a background story on the company and what he does at Atlan. Then we continued to discuss my background, how I got started, my projects / interests. We had a conversation around engineering culture at Atlan, the tech they use etc.
We spent the last 20 minutes discussing my solution - what he liked, what he thought could be improved. He brought up an edge case in my system and asked me how I would go about fixing it, I reached the right solution after a hint. This led to a discussion on event driven systems and how various databases offer different ways to hook up handlers on various events.
The interview went great, he said loved my implementation and my design, he closed with – “It’s a green signal from my end Junaid, you’ll mostly have your cultural interview in a few days. I would love to have you on my team and I look forward to working with you!” – I was smiling like an idiot, I did not expect that the interview verdict will be handed to me at the end like this.
That evening, the recruiter sent me an invite for the cultural interview.
Cultural Interview
My cultural interview was with the co-founder, again an hour long interview – which was basically a bro date.
He started off asking questions about where I was from, my childhood, school and college experience. He asked me about why I wanted to work for a start-up, why I chose this career, what I wanted to do in my career long-term.
Then we discussed some of my side-projects and my plans for them. I asked him why he started Atlan, what problems he was interested in. I asked him some questions about productivity and remote work, which led to a nice discussion about our favourite Paul Graham essays. He recommended me some books.
It was more like talking to a friend than a job interview.
And that was it, a day later the recruiter called me to give the good news. I’ve added a timeline below with dates, the process took around 2-3 weeks.
Timeline
- 10th May 2021 - Applied on AngelList
- 12th May 2021 - Received mail for the Challenge
- 21st May 2021 - Sent the submission
- 26th May 2021 - Recruiter called and explained the process going ahead
- 28th May 2021 - Technical Interview
- 1st June 2021 - Cultural Interview
- 2nd June 2021 - Got the offer
- 8th June 2021 - Started my Internship
I also did a podcast episode with a close friend of mine around this very topic, you can find it here
Some Tips and Resources
The only tip I’d give is to solve the challenge really well, that will decide if you make it through or not. Bring in your A game in terms of quality and clarity.
Atlan’s hiring culture for intern roles is built around this principle that it’s all about the quality of work you produce, not your past experience or your degree or if you’re from a fancy college or not. Show them that you can build amazing things. Don’t half ass your challenge submission.
Just listing down some of the resources that helped me with the challenge -
- Designing Data Intensive Applications
- Designing Distributed Systems
- Design Docs at Google
- Kafka: The Definitive Guide
Follow Up
I’ll write a follow-up article to this one going over how the internship went, what I worked on, what I learnt. I’ll be starting my journey at Atlan as a full time engineer in a few weeks and this felt like a good time to reflect on the past 10 months and share some lessons.