Senior Software Developer Interview Process
Hi there! 👋 We look forward to meeting you!
Our interview process is structured to simulate typical day-to-day scenarios that you’d encounter at OpsLevel. There won’t be any gotcha questions, but we have different interview slots that aim to cover the various aspects of your role and craft. All slots are held remotely and don’t have to be scheduled consecutively, though they can be if you want.
We want to work with the best people at OpsLevel, so while recognize that our interview process is meticulous, it is a reflection of the high bar of excellence we hold ourselves to.
Changing jobs is an important milestone and we strongly believe that interviewing is a two way street. Throughout the interview process, you will be meeting with lots of different OpsLevelers. Please don’t feel shy about asking lots of questions. We’re very transparent about what it’s like working here.
First Contact
1. Intro Call
A 45 minute intro call with our one of our software dev managers. It’s a chat to get to know you better, learn about some of the projects you worked on in the past, hear what you’re looking for in your next role, and to tell you more about OpsLevel.
Virtual Onsite
1. Pair Programming Interview
During this interview, you and another OpsLeveler will pair together for up to 90 minutes on an application based on some defined requirements. It’s meant to be similar to the kinds of work you’d do at OpsLevel. Our overall goal is to understand how you reason about solving problems with code and how you go about developing code.
There won’t be any trivia questions (e.g., “What’s the worst case runtime for Floyd Warshall?”). However, you should have fluency with basic data structures (e.g., arrays, lists, queues, hashes, trees) and the complexity of typical operations on them (e.g., searching and inserting/removing).
Please make sure you have a functioning development environment setup for this interview.
2. Requirements Gathering / Data Modeling
Starting with a brief problem description, we’ll ask you to design the classes / interfaces needed to model it.
An example problem is “Design a card system like Trello or Asana”.
We’ll be looking for how you solicit requirements, what tradeoffs you make, and how maintainable / modular your interfaces are.
3. System Design
In this slot, you’ll be given a business problem description and asked to design a system to support its functionality.
For example, “A system where people can write 140 character messages and share them with friends” or “An online file conversion service”.
4. Technical deep dive
In this interview you’ll be talking to our CTO, Ken, about one or two technical projects you have contributed to or worked on in the past. Come prepared for questions about technical decisions you made and the tradeoffs considered, how you participated in the decision-making process, and the impact you had on the project. If you’d like to use some visual aids or drawing programs, those can be helpful but are not necessary.