Today, he shows you how to hire a good one!
What do you look for in a good Full Stack Developer?
Far and away, the most important thing is someone who keenly understands the trends in the industry and how things are changing. And they’re changing fast.
The two primary skills I look for are the ability to do research and someone who can learn on the fly. I think that applies to just about any role that you can imagine, but especially someone who’s doing full stack work. A Full Stack Developer needs to be able to go and find the tools they need, read the lingo, and understand what’s going on.
As I said in our interview before, doing so may not necessarily lead to having an in-depth of knowledge all the tools, but it gives the Full Stack a core understanding of what they’re working with and how to communicate with the people who may be experts in those technologies. Those are two critical skills.
What experience do you look for on a résumé?
Well, at the top of my own résumé, it says is that I have a black belt in Google-fu. Like I said, research is key. Seriously, though, on a résumé you should see a demonstration of experience and understanding in both the back end and front end, as well as communication layers and diverse project experience.
What’s difficult in looking at résumés is that a lot of people shy away from putting a wide variety of skills because they don’t want to come off as someone who as a “Jack of all trades, master of none.” But in this case that’s exactly what you’re looking for. Well, “Master of none,” maybe not, but someone who definitely knows their stuff across the board.
One thing I look for is a general interest in what's new and trending. While I may not have experience in every latest-and-greatest technology, I've got my ear to the ground for what's happening out there. It's always a good sign when a candidate shows similar tendencies. Also, in our world, someone who has a passion around design, user-friendliness, and trends in how people use technology and software will also definitely help on the design side of the full stack.
If this isn't apparent on the résumé, it’s easy enough to suss out by looking at a portfolio of work, in a phone screen, or during an in-person interview,
What types of positions do you look for?
I think anyone who falls into app development or web development would be a good candidate. Generally because—especially with web development—you have to understand server-side technologies, storage, etc., to build interactive software of any sort. Similarly, app development is something where you need to understand the phone platform very well (or tablet or whatever you’re dealing with) and know how to bring it to fruition. Someone with deep experience in either of those areas would be someone I’d definitely interview. You might also look for someone who’s done research and/or has published articles about the back end and front end.
It’s not actually that hard to figure out who you’re NOT looking for. In my own experience of looking through résumés, when someone who says, “I’m a database administrator,” that is not what you’re looking for. You’re looking for a generalist, a developer.
What other questions would you ask them during the interview to see if they’re the real deal?
I think a really good exercise would be to give them an example application, maybe something that’s even really well known, like Instagram, Snapchat, or even just a business application that does something like expense reports. Then ask them to describe in really broad strokes what technologies they think would be used for X, Y, and Z—up and down the chain—for getting that function. That exercise proves to be pretty useful because you’re going to end up talking about front end a little bit, about cloud storage (if it’s a necessity) or translation between business logic and database, etc.
Similarly, I might also talk to them about what mechanics of an existing app they'd change to make it better serve a particular scenario or type of user: "Imagine something like Instagram, but targeted for use by surgeons in order to learn from one another. What would you change from vanilla Instagram to better help surgeons? How might that affect the technologies you're using?"
Either of these will give you a sense of their capabilities.
Who else should interview the candidate?
First off, you’ll want someone with an IT background, someone who does database administration work, or even just has some understanding of cloud infrastructure, whatever level that may be. For a lot of companies that might be the more technical end of the IT staff or it might be a developer from the dev team.
You’ll also want someone from the design end of things. Designers may not know how to use some of the technology, but they understand what Bootstrap is, and jQuery, and can hold a conversation. If you don’t have an expert to talk about those things, you could do that as well.
My ideal roster would include a front end developer, a database developer, and a business stakeholder, as well as someone from design.
What do you think today’s biggest challenges are for people hiring developers?
I think one of the biggest challenges is finding someone who can strike a balance between their prior experience and what project your company is undertaking.
When they started hiring for my role at Gymnasium, they were looking for somebody who was ideally an expert in Open edX, the open source platform we're using for our school, or at a minimum Django and Python, which are the backbone of the product we’re building. In truth, I had almost zero experience with either. But the important thing was that I was able to understand them at a basic level and confident enough in my skills and abilities to learn whatever I needed to get things done.
The lesson is, you really need to cast a broader net in a lot of situations. Don’t just say, “I’m looking for a jQuery developer” or “I want a Bootstrap developer;” instead say “I’m looking for a front end developer” or a “backend developer.” Unless you’re really lucky, you may not find an expert in exactly the area you’re looking, especially when it comes to full stack. Being able to zoom out a little bit to broaden your scope is incredibly important.
Thanks to whole team at Gymnasium for loaning us Mike’s time and his brain.