How To Interview A New Programmer

Beth Andres-Beck is a senior software engineer at the Long-Term Stock Exchange. She is a full-stack developer, having written code for everything from HTML5 hybrid mobile applications to GPU-accelerated computer vision software. Her passions include mentorship, game theory and participating in cultures that sustainably build great software. Prior to LTSE, Beth worked at Hillary For America, Twitter and TripAdvisor. 

Beth shares her experience with Hackbright on recruiting and interviewing bootcamp grads. Follow her on Twitter at @bethcodes.

With a candidate straight out of bootcamp, what I’m actually evaluating is how long I think they are going to be under my mentorship before they will be a net-positive.  That number depends a lot on what we’re trying to do and who is available to mentor.  I am confident that I can teach almost anyone how to program, so the question I’m trying to answer in an interview is how much time it is going to take and how positive the experience is going to be, for both of us.

As an interviewer, I look for signals on how fast the developer will incorporate feedback:

  • Can they write code iteratively? Do they verify that each step works before moving on to the next step, as opposed to trying to plan everything up front and get it right the first time? (The second approach doesn’t scale to larger challenges as well as the first, and shorter feedback cycles let people learn faster.)
  • Do they ask questions if they don’t understand something?
  • When told a better way to do something, say that they understand and agree that that way is better, do they then do it the better way the next time it comes up?
  • Do they have an aesthetic opinion of code? Do they care about the code they write? Can they tolerate writing ugly code until they find a better way?
  • Can they express their decisions in terms of trade offs? People who think there is one right answer will have a harder time learning and adapting.
  • Do they stick with a task, trying different ways to achieve it, even if none of them are right? I prefer that to either continuing to do something that isn’t working, or abandoning the task and giving up. Persistence is an excellent virtue in a programmer.
  • Do they seem to enjoy the process of getting something wrong, and learning from it? (This can be hard to judge in a high-stress situation, so I ask questions about problems they’ve encountered to see if they have had that experience in the past). 

Then I look for signals on how well they would collaborate here:

  • Can they express themselves concisely, or do they ramble?
  • Do they treat everyone they meet with respect?
  • Are they willing to compromise their own opinions for the sake of consistency?
  • Are they able to work under our cultural values? (At my current position, for example, those values include proactively seeking out diversity in recruiting, iterative product development and reasonable work-life balance. Someone who wants to feel like their job is their whole life, wants project specifications to be created up front or who values meritocracy over diversity will be a better fit at a different company.) This is the dreaded “culture fit”, but by articulating those values in specific terms it isn’t a generic catch-all for “do I like this person?”
  • Can my company provide what they are looking for and avoid anything they hate?

Only then do I look for particular skills.  I’m trying to figure out if a programmer can:

  • Read code in whatever language they know and express opinions about it
  • Write a function performing a simple iterative loop in a browser code environment
  • Describe code they have written
  • Find a problem by running code and somehow identifying which piece is failing (using a debugger, log statements or writing tests: I don’t care which, but bonus points for useful tests.)
  • Name variables meaningful names
  • Break down a mid-sized problem into a series of achievable steps

The challenge is that it is almost impossible to judge these things by looking at a resume. I can either have an inside line on the bootcamps to get recommendations from someone who knows my style and what I’m looking for in a candidate, or I have to actually talk to basically every graduate at a bootcamp recruiting event. Oftentimes I end up filtering largely arbitrary criteria just to try to make the problem manageable. I try to signal things that I think are important early and openly, because if candidates who won’t thrive in my company weed themselves out without losing the candidates who will, it saves both of us a bunch of time. 

As The Interviewer, Ask *Relevant* Questions

The important thing is to figure out how well a candidate is going to do in the specific situation, rather than trying to judge them on some absolute scale. What kind of support a particular company has available for boot camp graduates and which skills are important for someone to be successful at a particular organization are related questions.

Quite often, companies haven’t thought through the actual tasks involved in the jobs they are hiring for, which makes evaluating candidates extremely challenging.  If we don’t know what is important for success, we can’t judge whether people meet that criteria. 

When I’ve worked to redesign interview processes, it often starts by sitting down and asking developers what they did that morning.

It almost always includes writing a little code, reading a bunch of code, debugging existing code, and then either chatting on Slack, sending emails or sitting in meetings. Then these companies want to go and interview the people they are hiring on how well they compose algorithms, when ~0% of their work time is spent on that.

I do want people to be able to write code (not algorithms, but a basic for-loop with varying behavior), but I also like to see them approach some code they aren’t familiar with and see how they read it, which questions they ask, whether they have opinions about, what feels pretty and what feels messy. I love getting intern-level code reviews: one of the values to me of working with junior developers is that they give me feedback I can’t get from others who have become inured to the problems of our languages.

As The Hiring Manager, Set Up The New Hire For Success

legosI always want an interview process that a programmer who will enjoy working at my company will come out of feeling excited and energized to join my company.  I want them to know what the work and team dynamics are going to be like, and have a chance to decide if that’s what they are looking for.  The more I can make the interview process match our day-to-day work, the more likely it is that we will be able to find a mutual fit.

For more advice on interviewing and recruiting from engineering bootcamps, click here

Bootcamp Grads: A Tech Recruiter’s Dream

Some of our favorite hiring managers in San Francisco share successful experiences recruiting and hiring diverse engineering teams, from bootcamps like Hackbright Academy, to building healthy engineering cultures:

Pat Poels, VP Engineering, Eventbrite

“I don’t want to hire only very senior people who’ve been in the industry for 10 or 15 years. I want to have a mix of new ideas and new developers as well. Hackbright is a great channel for that. We call that ‘junior developer’ role a Software Engineer Level One. There are a lot of interesting problems to solve at Eventbrite, so we don’t really look for a certain kind of engineer from Hackbright Academy. We’re looking for people we think are a good fit for the company, people who we think are really smart and have a great potential to learn.”

Danny Chi, VP Engineering, Tripping

“I’d love to come to Hackbright Demo Night because you can meet over 20 candidates in one night. It provides individuality a chance. I’m currently mentoring for the fifth time at Hackbright Academy. Because I’m mentoring, I’ve participated in whiteboarding sessions and we’ve been able to meet candidates outside of the recruiting cycle. For example, a Hackbright graduate participated in a whiteboarding workshop I was at, and gave me her resume for consideration. We’ve interviewed 30 candidates for 3 engineering hires. This is the same hiring clip as hiring across other recruiting channels, so being a part of the Hackbright community is a win. My one recommendation for bootcamp grads is to add React or any type of JavaScript to your app, as this will help you differentiate yourself from computer science graduates who tend to be heavy on theory and backend work.”

Arup Chakrabarti, Director of Engineering, PagerDuty

“The biggest thing to remember is that new developers need to be able to show potential over their technical ability. Not that technical ability is not important, but there is only so much I can expect out of a junior candidate. Instead, I look for solid communication skills, a genuine passion for software, curiosity beyond what they have learned in school, and raw drive. The projects that students work on are a very good way to demonstrate these things. Every student should keep working on their projects after demo day and be ready to show that to potential hiring managers. The other thing that Hackbright graduates need to leverage is the fact that many have years of work experience vs. someone that I hire straight out of undergrad. They know how to show up to work and basic professional habits over fresh college grads. This is something I tell all of my students to point out when they are interviewing as that means they are inherently less risky to hire.”

Alex Bekker, Director of Engineering, Udemy

“Ignore what languages candidates have experience with and instead focus on what they are capable of producing with them. Regardless of experience, everyone starts at the bottom of the learning curve on day one of a new job, so it’s a question of how quickly they can learn and how high their ceiling is, both of which are answered by what they can do today with what they learned so far. At Udemy, we like to give candidates take home projects and have them present to the team rather than the typical phone screen and on-site whiteboarding process, which is all kinds of broken.”

Emma Lubin, Engineering Manager, GoDaddy

“Someone making a mid-career switch can leverage their previous professional experience and learn quickly. Leading small teams and shipping projects are accomplishments that hiring managers will look at even if they were achieved in a different industry. I condensed nearly a decade of biology research into a few lines on a resume, and devoted more space to descriptions of small coding class projects that were nowhere near that kind of accomplishment. I started getting attention to my resume only after I put ALL of my skills on it. Software engineering is a tool to solve a wide array of problems, and it needs engineers with diverse backgrounds and approaches — that’s one reason companies are hiring from bootcamps.”

Brina Lee, Engineering Manager, Quip

“We not only bring a more diverse group of team members onboard, but we also make them want to stay and to give Quip their best. That’s important: You need to focus not only on recruiting good people, but retaining them. We’ve seen that once we started bringing in a broader range of people who stick around, our diversity snowballed. That can work for any company. Once you’ve got your first woman in engineering, it’s a lot easier to hire your second. And third. And fourth…”

Learn more about bootcamp grads:

  • “Higher percentage of female [coding bootcamp] graduates offers a more diverse talent pool. Women attain just 14% of computer science degrees, whereas they represent between 36% and 40% of bootcamp graduates.” (1-page)
  • “Even at colleges with a high percentage of women CS grads, the numbers are still small. … 511 total women in 2013. If Google hired ALL these women, it would increase their female percentage by 1.5 percentage points, leaving the whole rest of the technology industry bereft of female new-college-grad hires.” (TechCrunch)
  • “Bootcamp grads are junior programmers. They have a lot to learn, and represent an investment on the part of a company that hires them. This is also true of recent college graduates. We’ve found bootcamp grads as a group to be better than college grads at web programming and writing clean, modular code, and worse at algorithms and understanding how computers work. All in all, we’ve had roughly equivalent success working with the two groups.” (TripleByte)

Interested in hiring brilliant grads of Hackbright Academy? Learn more about how to partner with Hackbright Academy to hire your next female software engineers!
Hackbright’s next recruiting evening is March 8, 2017 in San Francisco – join us!

Diversity Part III: How to Find, Hire and Keep Bootcamp Engineers

Third in a three-part series on how to implement diversity in software engineering teams, by leaders at successful companies.

tasTasneem “Taz” Minadakis is an Engineering Manager at Uber, responsible for Rider Growth. The goal is to create magical experiences for new riders on the platform, which lead to riders using and recommending Uber to friends and family. Before Uber, Taz worked at JD Edwards in Denver, Microsoft in Seattle, then spent almost two years at Yelp managing Ad Delivery Platform. She holds a Bachelor’s degree in Computer Science from L.D. College of Engineering in India and a Masters in Computer Science from the University of Southern California.

Diversity is important to building any engineering team. Diversity is not just about gender, but about background and experiences. Bringing in talent who’ve switched to coding after a few years in another role like a scientist, lawyer, or analyst can be a great way to bring this diverse talent to your organization. These candidates have the soft skills that are a must for any engineering role today as well as hunger to grow and learn new skills.

To hire bootcamp graduates, there isn’t a recipe in my opinion. Each company is different and will need to find a process and structure that works best for them. But a few things do matter. First and foremost is willingness. The organization needs to be willing to acquire talent from non-traditional avenues like bootcamp programs.

Create a recruiting path for bootcampers

The next step is the recruiting process. At Yelp, we chose not to provide a higher monetary incentive for recruiting diverse candidates. We did hire graduates from diverse computer science programs. In addition, we also tried to recruit talent from bootcamp programs. Same is true at Uber.

Through the recruiting process, it is important to pick the right interview panel that recognizes talent and potential. It is very natural for interviewers to compare bootcamp graduates against someone who has had a four year computer science degree with a few internships under their belt. It is important to have interviewers look for potential by reviewing their work done during the bootcamp project. I do not recommend altering the interview process, however it is important to evaluate based on how far the candidate has come through the formal training they received in a short window in time.

Once you have hired someone, then it is important to provide them the support and training needed for them to thrive. Ensure that the new hire gets a mentor. I’d encourage having the mentor opt in. The amount of time, effort, and bandwidth they will need to provide these non-traditional candidates is very different from a computer science graduate from Berkeley or Waterloo. The mentor needs to be invested in the mentee in coaching them to be independent and valuable to the organization with time.

Mentors and mentees


Mentees may need to train their mentors, too.

The mentor-mentee relationship goes both ways. The mentors certainly have the knowledge and willingness, but might lack the training and structure to provide feedback that the mentee might need. By contrast, the candidates coming from bootcamp programs may have worked professionally in different industries in the past and have the maturity to handle constructive feedback. As a mentee, you will need to help your mentor help you. I have suggested creating a weekly goal setting exercise with your mentor or manager. Just like at the bootcamp, track your progress for the first couple months and ensure that you remove ambiguity in how your progress is being evaluated.

Mentees: You need to own your mentorship, because you have the most to lose. The path to establishing yourself in an organization can be very steep for non-traditional candidates. The knowledge acquired at programs like Hackbright is a drop in the ocean relative to the skills needed to become productive in a professional setting. You have to trust in your ability to learn quickly as you will be thrown into a whirlwind in the first few months.

On the leadership side, both mentors and managers need to provide the psychological safety that fosters learning. Bootcampers have communication, collaboration and leadership skills that will be valuable to the organization over time. But they also need time to acquire the technical knowledge needed to be productive.

Evaluate more often

Once you have recruited and began mentoring this candidate, the next obvious question comes around evaluation. I have personally asked myself this question and I don’t have a real good answer. But I recommend you ask yourself and your leadership on how should you evaluate a bootcamper within the first 3 months of being on the job? Should they be evaluated just the same as your computer science graduate from Berkeley or Waterloo? If so, is it a bar that is too high to be met? If not, then why not?

All in all, broadening your hiring to turn diverse graduates into valuable employees means focusing on achieving results, rather than standardizing the process. I am not sure of a formula that can work for every manager out there. But it is important to be open to the idea, be flexible in your recruiting and training process and be fair when evaluating their progress. What matters is not where they are from, but what they can do.

Missed the first two parts? Read  Diversity Part I: How To Strip Gender Bias From Hiring and Diversity Part II: How To Retain Your Employees.

Interested in hiring brilliant bootcamp grads? Our women software engineers go through a rigorous and immersive 12-week software engineering fellowship. Learn more about how to partner with Hackbright Academy to hire your next software engineers.