First Email

It all began when a hiring manager reached out to me on LinkedIn about a job in Austin, Texas. The job description was refreshingly direct—no frills, just the essentials. I was pleased to be contacted, yet skeptical, especially since the role was tied to Austin and I had no plans to move to the U.S. In the end, we found common ground by converting the position into a remote Canada-based role, and we scheduled an interview the very next day.

Hiring Manager Interview 1

The first interview was essentially a test to see if it was worth investing further time. Over the course of an hour, the hiring manager asked a steady stream of questions designed to assess my general software engineering knowledge. We discussed my work at Bell, my role as a TA at Carleton, the life cycle of microservices, my experience with design documents, and the decisions behind my search engine project. By the end of our conversation, he was convinced and mentioned that a recruiter would soon contact me with the next steps.

Recruiter Logistics Call

True to form, the recruiter reached out within a day. We covered the process, discussed salary expectations, touched on other companies I was interviewing with, and went over my schedule for the following week. This call was a clear signal that I still had a long journey ahead.

Screening

Next up was a 45-minute LeetCode-style screening interview, centered around one challenging problem. After a brief introduction, I had 35 minutes to work through the coding question, followed by a few personal queries at the end. Although the problem was tougher than expected and left me momentarily stumped, I eventually found my way to an optimal solution. Once the interviewer was satisfied, I added test cases to validate my code. Looking back, I feel I really nailed that session.

Orange Cloud

Then came the “Orange Cloud” round—a term Cloudflare uses to describe their version of a “Googleyness” interview. This session was less about technical details and more about gauging how I would handle challenging situations. While the specifics are a bit hazy now, I remember that the conversation went well and left a positive impression.

System Design

For the system design interview, I came prepared with my iPad and Apple Pencil. The challenge was to “Design xyz” based on three intentionally vague requirements. This setup was designed to have me steer the conversation—asking questions, clarifying requirements, and iterating on the design as we went along. I laid out two options for data stores, discussed three different architectural approaches, and weighed the pros and cons of each before explaining my preferred solution. Overall, it went well, though I believe there was room for improvement.

Incident Management

In the incident management interview, I was placed in a simulated on-call scenario. The interviewer described a system with several interconnected services and then pointed out an issue with one of them, complete with a graph. It was then up to me to ask the right questions, diagnose the problem, and propose a solution. The scenario was based on a real on-call alert, supported by screenshots, logs, and code snippets. After zeroing in on a problematic code section, we discussed an edit that could resolve the issue. Although the session was intense and lasted only 30 minutes, it also turned out to be a highly engaging exercise in practical problem-solving.

Product Manager

Following that, I had a 30-minute interview with a product manager. This session was aimed at testing how I interact with PMs and draw on past experiences in such collaborations. Although this format was new to me, I felt the conversation went smoothly.

Hiring Manager Interview 2

The next round brought me face-to-face with the actual hiring manager—the one behind the original outreach was merely assisting the team. In this discussion, we reviewed my interview experiences and exchanged feedback. I asked questions about team on-call schedules, pull request reviews, and the balance between newer and more experienced team members. The conversation was constructive and reassuring.

VP Interview

My interview with the VP was more behavioral in nature. With a long history in the industry and a track record of successful company acquisitions, the VP provided an interesting perspective on industry trends. I had prepared a list of topics, and his articulate responses made the conversation flow naturally. In a light-hearted moment, we even compared notes on our home gym setups. Despite feeling confident, I was aware that stiff competition remained, especially since I already held another offer.

Recruiter Call – Final Decision

Facing an expiring offer from another company, I nudged the process forward. About a week later, the recruiter returned with a verbal offer, marking a significant milestone in the journey.

CEO Interview

Finally, I had a brief 15-minute conversation with Cloudflare’s CEO. By this stage, the decision was essentially made, and the call served as an opportunity to engage with leadership. I asked about the logistics of hiring at such a scale, the challenges they encountered, and even sought some advice on launching my own company in the future. The discussion was insightful and a fitting capstone to the interview process.

Thoughts

Reflecting on the process, a few patterns stand out. Most of the technical interviews—whether it was the screening, system design, or incident management rounds—followed a similar structure: a brief introduction, a focused main discussion, and time for my questions at the end. Each session introduced me to different team members, adding layers to my understanding of the company’s culture. By the time I reached these stages, I had already navigated several interviews and received offers from other companies. Though this made the process somewhat exhausting, it also boosted my confidence; familiar questions and muscle memory meant I was less nervous and more prepared to showcase the skills needed for the job. The overall process was well-aligned with the day-to-day requirements of the role—evaluating everything from writing technical specs and clean code to managing on-call incidents and collaborating with product managers. I’m enjoying the job so far and look forward to sharing more insights in a future post.