Tips on interviewing for Product Engineering at Curology
What are they looking for? What will I say that rules me out of the process? What experience am I missing, or forgetting to talk about, that someone in the hiring loop thinks is a “must-have”?
Being an interviewee is tricky, nerve-racking, and can be so frustrating. Everyone who has undergone a job interview has considered the above questions. The rules are revealed slowly, in real-time, as you make moves through a company’s process.
Let’s take a look at Curology’s Product Engineering hiring process. I want to give you some insight into what we are looking for, at which stage, and why. Hopefully, you will find it helpful!
Our Hiring Loop
A good hiring loop is designed so that the further into a process the interviewee and the company get, the sense of it being a good match for both sides increases. This is hard to get right!
We’re always on the lookout for changes that make the hiring process deliver a better chance of ending with an offer for someone that will succeed and enjoy working on the Product Engineering team. In addition, we want to be respectful of our interviewee’s time and that of our own Engineers who take part in the process; we care about your time as well as our own. Also, we care that you are treated with respect, and, as much as possible, that the process is enjoyable for you.
Now, for some details.
Step 1: Recruiter Screen (30 mins)
We won’t be asking these exact questions, but our Recruiters look for the following at this stage.
- Are you interested in us? Why?
- What is important to you at this stage of your career? Are there any nice-to-haves or must-haves you are looking for in your next role?
- Do you like building products? And, internal tools that support businesses?
- Do you have web experience?
- Are you more frontend or backend focused?
- Can you provide impact when working closely with non-Engineers?
Why are we interested in these things at this stage?
- We build and support the Web App that our Customers use to access Curology and Agency and create a personalized skincare routine. A large portion of the Product Engineering Team creates software for many different internal users (Fulfillment, Pharmacy, Marketing, Medical, Accounting, the list goes on). Our Engineers have a lot of autonomy to shape the products, interacting with people outside an Engineering Department is a part of the role when you aren’t in your code editor.
- Web Experience. Our core stack is React, MobX, Laravel (PHP), MySQL. We know that you can learn these technologies quickly if you have experience with similar technologies.
- Hiring managers might be looking for front or backend leaning Engineers depending on where they see the most need for their team.
- You’ll do your best work when engaged with the challenges we are building and solving, so we want you to be interested!
Anti-patterns that we avoid at this stage, you don’t need to worry about these things:
- Only looking for people that have worked in a similar company.
- Exact matches for our technology stack.
Step 2: Hiring Manager Screen (1 hour)
We won’t be asking these exact questions, but our Hiring Managers look for the following at this stage.
- Can you take initiative?
- Do you want the opportunity to be a better Engineer and help others be better Engineers?
- When faced with a complex problem, can you evaluate the trade-offs and move forward?
- How do you communicate?
Why are we interested in these things at this stage?
- We believe in giving you the autonomy to drive the solutions we build, so we look for people who can run with an idea and all that entails.
- We think personal and professional growth is vital for growing your skillset and career and helping your team members do the same. People who share that opinion help us produce better technology solutions and teams, which we care about!
- Not every problem has an obvious solution. So, if you can evaluate a rational way to move forward and articulate your direction, any Hiring Manager would love to have you as part of their team.
- We’re often discovering, iterating, and refining our technical approach and business requirements. If you can communicate well and at the right time, you’re helping us get these things done.
Anti-patterns that we avoid at this stage, you don’t need to worry about these things:
- Do you remind us of other high-performing team members on the team? We believe a strong team is built by the presence of different viewpoints, experiences, and skillsets.
- A technical grilling, or “how many ping pong balls in a plane” type of questions — we won’t do that!
Step 3: Technical Screen (1.5 hours)
We won’t be asking these exact questions, but our Engineers look for the following at this stage.
- Can you build some javascript functionality in a test-driven development exercise?
- Can you translate some application requirements into a small Relational Database Schema?
- Can you interact with your interviewer, share your thoughts, and work together to get through any blockers?
Why are we interested in these things at this stage?
- We value testing as part of our Engineering workflow, but the JavaScript exercise is about getting a signal on your level with the language. It’s a core web language, and we build web apps.
- We use MySQL, and it’s pretty standard for our work to require database changes, so you’ll do best with knowledge of relational schema design in our setup. As a side note, our applications deal with money, patient records, logistics, and various types of medical data; we opted to use a relational database for tried & tested/dependable ACID transactions.
- We work as a team to solve problems and make progress together. Working with your interviewer on your blockers is seen as a good sign that you’ll do the same at Curology.
Anti-patterns that we avoid at this stage, you don’t need to worry about these things:
- An anti-pattern for us would be to throw a difficult algorithmic test at you; we don’t need to solve those kinds of problems day-to-day, so we don’t use them.
- You don’t need to immediately understand and make progress on the exercises. Our interviewers know it’s your first time doing it. They have seen it many times before, and they don’t expect you to act as if you have.
- You don’t need to finish the exercises. But, it would be misleading to say that we only care about the discussion with your interviewer. Strive to make good progress through the prompts, try to strike a balance!
Step 4: Virtual Onsite (3–3.5 hours)
We are excited about you if you’ve reached this stage; we think you could be a good match for one of our Product Engineering teams! At this point, one of our Recruiters will help you prepare for the next step. Everything we looked for in the prior stages is re-affirmed; all the “Whys” are still the same, but we invest more time digging a bit deeper.
Part 1: Application Architecture
Your Recruiter will send you a short business requirements document as soon as your virtual onsite is scheduled so you can read through and pre-think about the problem. We do this so that you have complete visibility of the exercise in advance to feel prepared rather than surprised. The prompt helps us see if you can:
- Put together a design for a full-stack feature based on business requirements and some technical details about a simplified Curology platform you’ll need to modify.
- Articulate the trade-offs you make and why you would make them.
You don’t need to worry about these things:
- We won’t ask you to design a type of system that we don’t build. We won’t ask you to create Reddit or an Uber-like Backend.
Part 2: Code Pairing
A code pairing exercise:
- Can you pair-program through an exercise using your choice of a front-end framework React/Vue/Angular/Svelt etc.) or a **backend language (***restricted to *** Ruby, Python, PHP, Javascript, NodeJS).
You don’t need to worry about these things:
- Code pairings during interviews can be stressful, unnatural affairs, along with the extra pressure of facing a problem you’ve never seen before. It’s okay if you occasionally are unsure or make a mistake.
- It is rare for a candidate not to hit a blocker; it’s also rare that someone completes the exercise; you don’t need to complete the prompt to get an offer.
Part 3: Meet the Team
You get to meet some other team members, one engineer, and another cross-functional team member:
- How do you think about some of the things we believe in, such as having an inclusive mentality, showing humility, having a team-first attitude, and getting stuff done?
You don’t need to worry about these things:
- Being just like the people on our team, if you can bring a new perspective to the mix, that’s a plus.
- Having perfect examples of idealized work experiences. We’re interested in your real-life, genuine experiences and reflections.
- Entertaining us.
Finally
We think this is a sane process, but it isn’t easy! It is definitely an investment of your time and energy; we appreciate that!
So, what if this doesn’t sound like a fit for you? I imagine this role isn’t a fit for many people, that’s OK! Hiring is all about matching the needs of a unique business to your current skillset; they aren’t a judgment on you as an Engineer or how you like to work.
Hopefully, you’ve found this helpful, and you feel better prepared to go through our process with a clearer picture of what we will be looking out for.
Originally published on Dec 3rd 2021 at https://curology.com.