(If you haven’t read part 1, Our Software Engineering Values, start there!)
Interviewing and hiring is a big responsibility, and we approach it with a lot of thought about how to identify wonderful future employees, and to offer a great, positive experience to everyone we speak with. It is essential that hiring be as free from bias as possible, and one key step in that direction is that we are transparent about what we are looking for and how the process works.
What We Look For When We Hire Software Engineers
Scott isn’t kidding. I think we all know that interviewing to figure out whether a candidate is going to be a fantastic addition to a team is like trying to look at the Milky Way through a straw. We have just a few hours to both understand your technical skills and get to know you as a person – and give you the chance to get to know us as well! It is a tall order and one we take seriously. We use our company cornerstones to focus that effort.
What’s a cornerstone? I’m glad you asked. We’ve never been the type of company that comes up with lofty mission statements to write down on our website and promptly forget. And we are extremely proud of our people and company. So rather than making up mission, vision, and values from thin air, we stopped to reflect on the existing culture of Glowforge and to write down a set of cornerstones and a vision that captures it. Here’s what we came up with:
Hire amazing and diverse people.
Take care of each other.
Delight our now and future customers.
Build value for ourselves and our company.
A world where anyone can print anything.
Re that fourth point, I should note that all full-time employees of Glowforge are owners of the company through our stock program.
Translated into the context of the software team, that means we are looking for two key things in the interview process:
- Will you build great software that delights our customers? Will you be excited about shipping code that has a real impact on our business? Will you build it fast, and well?
- Will you be an amazing colleague that embodies our values of taking care of each other and helping us hire more wonderful and diverse people?
For the first bullet, of course, that will be different depending on where you are in your career. We’ll expect a candidate fresh out of school to demonstrate exceptional potential and the ability to learn fast. At the same time, we’ll want someone with many years of experience to have a track record of outsized results.
For the second bullet, we are explicitly not looking for what many companies call a “culture fit”, or heaven forfend the beer test. Ugh. Those tend to be recipes for exclusion. We look for people who will grow and improve our culture, not conform to it. That means people that communicate well, give and receive feedback with empathy, are supportive of each other, and are motivated to do great, meaningful work together.
How We Interview Software Engineers
We are fully committed to diversity, equity, and inclusion. We regularly look at every aspect of the hiring process and do our best to make sure that it fully encompasses those principles.
Describing our interview process upfront and in detail is important for equity. I’m keenly aware as a white man who has been in the tech industry for decades that folks like me have many privileges. One of them is that we’ve been through enough tech interviews to know more or less how they go, and another is that sense of already belonging. When I walk through the door of any tech company I feel more or less at ease. I know that neither of those experiences is something to take for granted.
A central tenet of our interviews is that we want absolutely no tricks or gotchas. We want to simulate working on the actual team, and we want to interview in a supportive, non-adversarial fashion that lets us see each candidate at their best. That isn’t to say we won’t ask you tough questions. We just want to see how you work, not make you sweat.
Below I’ll describe the process for general individual contributor roles on the software team. It will be a little different if you are talking to us about a more specialized role, like data scientist or engineering manager. We are also always experimenting with this process, so it is possible that it will be a bit different when you apply.
Whether you find us or we find you, the interview process will most likely start with a welcome call with one of our recruiters. They will ask you some questions about your background, experience, and interests, talk about the job you are applying for, walk you through questions around expectations, and what it’s like to work at Glowforge, and answer any other questions you might have about the company. They will do their best to put you at ease, so you have a great interview experience.
Next up, we’ll schedule a video chat to work on a technical problem together. One of our engineers will screen share with you and give you a small, straightforward problem that you can code in your chosen language. They will ask you to narrate your thinking while you work, and ask you helpful questions along the way, point out possible bugs, suggest improvements, and talk with you about the structure and cleanliness of your code and how you approach things like efficiency, testing, and corner cases. We really mean it when we say the problems are straightforward! You won’t have to recall some obscure data structure or a sophisticated algorithm to solve the problem. We use problems that have many valid solutions because we want to understand how you approach them.
Back before COVID, we would have called the next phase an on-site interview. Now, of course, we do it via video chat plus other collaboration tools. This will be 4-5 interviews in total.
A few days before, we’ll share the structure of a small project so you can familiarize yourself with it. You are welcome to work on it at home and commit the code to get you comfortable for your interview day, and it absolutely doesn’t count against you if you don’t. We know that not everyone has time for a take-home interview. We’ll continue from the beginning, or wherever you are in your code. Two or three of your interviews will continue to extend that project. Again, we are never looking for a gotcha. If you seem stuck in an area, we’ll offer some gentle coaching or move on to the next thing.
We’ll also generally have a non-coding interview that focuses on a larger design or architectural problem. Again, this will be a collaborative session in which you are encouraged to sketch out your thoughts, ask lots of questions, and have a productive back-and-forth conversation to arrive at a solution that meets multiple requirements.
For all software interviews, you’ll also spend some time with the VP of Engineering (that’s me, your friendly author!) so they can get to know you a bit, understand how you like to work in a team and answer any questions you might have. You should feel free to ask anything at all that is on your mind, whether it is about diversity and inclusion, compensation, financing, company trajectory, etc.
Because we are all working from home now, we can’t have you join us for lunch at the office. So we’ll have you do a social video visit with a few of the engineers that you haven’t met yet.
Once that’s done, we’ll do reference checks with a few folks you have worked with in the past. Our goal with reference checks is to get more perspectives on your strengths and growth opportunities so we can best support you as a new teammate.
Finally, before we make an offer, every candidate at the company spends some time talking with our co-founder and CEO, Dan Shapiro. That’s not an interview, but a chance for you to ask whatever questions you want and get them answered. Dan has the biggest view of the company – where we’ve been, where we are, and the amazing places we are headed together. If you don’t find that conversation inspiring, check your pulse!
Wrap It Up
I hope this has been helpful in documenting our approach and intention in how we grow our software team at Glowforge. We think it is a pretty wonderful place to work. We have an opportunity to have a big positive impact in the world, build an important and valuable company, and do all of that while working with marvelous teammates. If you are interested in joining us, we’d be delighted if you would visit our jobs page and apply.