Working at Second Street is a blend of productive software development, camaraderie with a fantastic team, constant innovation in an exciting industry, and continually improving our processes. (If that sounds like your cup of tea, come work with us!)

One process we've recently been improving is our hiring process. Recruiting is incredibly important for a company's long-term health, and getting the process right is essential if you want to eliminate unconscious bias and find the best people from a diverse set of backgrounds. Since we believe strongly in transparency, and we think the best way to improve something is to seek feedback on it, this blog post will lay out in detail exactly how we hire software engineers at Second Street. If you are considering applying, consider this your roadmap to a career with us. If you're another company, this can either be a template to improve your hiring process or an opportunity to help us improve ours.

Step 1: Resume Screen

Resumes arrive in a number of ways: emailed to employment@secondstreet.com, submitted via job boards, or passed in via an internal referral. The first step is to anonymize the resume, because evaluating resumes anonymously is important for reducing bias.

Once the resume has been anonymized, it is passed on for evaluation. At this stage we're mostly looking for a few quick things to screen out resumes: experience, communication, and passion.

Experience is mostly evaluated by looking at your education history and your work experience. A CS degree is a great sign, but we also value experience in the field very highly. For some positions we'll make sure your specific skill set aligns with the role, and for others we'll screen for experience with any language or framework. Check the individual job descriptions to find out which we're doing for a given role.

Communication skills are important at Second Street, because our company is built upon the backbone of regular feedback. Both giving and receiving feedback require excellent communication skills, so we make sure any resumes that make it through our screening process demonstrate exactly that.

Passion is a really difficult thing to quantify, but it tends to shine through in resumes. Examples of showing passion through a resume include (but are not limited to): success at difficult tasks like getting high GPAs or gruaduating with honors; competing in coding competitions and hackathons; playing strategy games like chess at a competitive level; proficiency with a large number of programming languages, or with more niche programming languages; or contributing to open source software.

If your resume makes the cut, you'll move on to the technical screen!

Step 2: Technical Screen

After your resume passes the initial screen, it's time for a technical evaluation. Rather than bringing you in for a nerve-wracking whiteboard coding session or making you speak code over the phone, we do a take-home technical evaluation. These evaluations are both written and evaluated by Second Street's software engineers. The tech screen is written by our Senior Software Engineers with the same specialty (e.g. front-end development) as the role it screens for. Out of respect for your time, we try to make the technical screen be no more than 1-2 hours, about the same amount of time you'd expect for a first interview plus travel time at an in-person technical interview.

The technical screens are custom-written for each role, but they don't change from candidate to candidate. We try to make sure there's a decent amount of diversity in the kinds of questions we ask: algorithmic questions, knowledge of specific tools like SQL or the DOM, skills at reading and reviewing code, and more.

You'll have one week to submit your technical screen, which will be evaluated by a software engineer and scored according to a rubric that ensures equitable evaluation across all submissions for a given technical screen.

If your technical screen passes muster, you'll move on to the first interview!

Step 3: Initial Interview

After you show prowess in the technical screen, we'll schedule an initial interview. If you're local, we'll invite you in to our downtown St. Louis office. If you're remote or would be relocating for the position, we'll run the interview via Google Meet.

The initial interview is always with two Second Streeters: the hiring manager and a person already in the position you're applying for. There will be no whiteboard coding because you've already passed the technical screen, so most of our questions will be about the way you think and work, and your past experience. We'll also leave plenty of time for you to ask us questions, because we know an interview goes both ways.

Each candidate for a given role is asked the same set of questions to encourage fair evaluation. During the interview, the interviewers are asked to take brief notes and immediately after the interview, they are asked to score the candidate's responses to the given questions.

If you do well in the first interview, you'll move on to the second (and final) interview!

Step 4: Second Interview

Our second interview is panel-style, where we'll invite lots of members of the team into a conference room (or video call). You'll be asked some free-form questions by Second Streeters, and then you'll be able to ask questions of any or all of the panel to make sure we're a good fit for you.

If everything has gone well up to this point, an offer will be made!

Hopefully that shines some light on our hiring process. We do the best we can to make sure our process is fair, transparent, and brings in the best candidates from a diverse set of backgrounds and experiences. If you have any feedback feel free to leave a comment. And if you'd like to be a part of this process, please check out our open positions!