Originally published on December 12, 2019 on Dice Insights.
Full stack developers have a complicated role to fill, one that may often require an understanding of legacy systems, as well as the ingenuity to help organizations move into a more Agile future. Knowing what a prospective employer needs in general—and what they need from you specifically—is important to understand if you want to have a successful job interview.
That’s the view of David Nilsson, senior vice president at Adapt2 Solutions, who says he likes to mix nitty-gritty questions about a full stack developer candidate’s tech skills with more open-ended questions about the candidate’s thought process.
- We are trying to create a table, what library would you use to build that?
- You have this table here, and a sub table here, how do I get this information out of it using a SQL query?
“If you claim you’re a full stack developer, you should be able to answer those questions,” Nilsson said. “We know what we need, and we know what experiences and libraries they need.”
Prepare Your Own Questions (and Answers)
It’s also important for a full stack developer candidate to come in with questions about the company and role, Nilsson added. If you’ve done your research into the company, you can also win points by explaining how you’d approach its strategy and projects with your own ideas and knowledge.
“We would like ideas on how to solve specific problems with new technology you’ve seen or read about,” he said.
There’s also the possibility that the company will fire off a “curveball” query or two… just to see how you think.
“Or we will throw in a very abstract question—How many ping-pong balls can you fit inside a 747?” Nilsson said, adding that there’s “no right answer” to that one. It’s all about seeing how a candidate approaches solving a problem, as that offers some key insights into their thinking process: “You can see if the logic is there… If they get totally stumped, that tells you something, too.”
Knowledge of Full Stack Developer Concepts is Key
Matt Weiss, NeuroFlow’s manager of engineering, said while it’s important to make sure the candidate has an understanding of all necessary parts of tech stack, concepts are more important that specifics of a language, library, or framework.
- What is your experience, and preference with different types of Software Development Lifecycle (SDLC) e.g., Agile, Scrum, Kanban or Waterfall?
Weiss noted that, while Scrum is becoming more and more the status quo, not every team uses Scrum; even for those using Scrum, every team’s Scrum approach is slightly different.
On the topic of teamwork in general, Weiss said team culture makes a huge difference in terms of how successful a team will be. During an interview, he will try to learn how developers resolve conflict in the team, asking questions such as:
- Can you talk about a time that a significant change in scope affected a deadline’s feasibility?
- What is your preference on working style: alone with headphones on, in a room with all the developers, or pair programming?
Weiss believes that whiteboard or live-coding exercises are essential. Most questions he asks are variations on problems his team has solved in the past, which gives him a better understanding of how the candidate would do on his team.
“The candidate should explain their thought process throughout the exercise,” Weiss said. “Try to elaborate on what you do know about the subject, and how you might find out the answer, but don’t guess.”
Be aware of what it is that you’re looking for, he advised: “Sometimes, it can be better to hold out for the right opportunity, rather than jumping at the first thing available.” In a similar vein, “Coming into an interview with a clear vision of what you want will allow you to appear more confident to prospective employers, and make it more likely you’ll find your dream job.”
Nilsson said it’s also important for candidates to make it known that they’re prepared to be lifelong learners, and feel comfortable using a mix of technologies, approaches and systems. The tech industry is constantly evolving, and candidates must show they can keep up.
“Yesterday it was Java, today its Python. In software, there’s no such thing as being an expert on something. Unless you can keep up, you’re going to be obsolete pretty quick,” he said. “We have to allow people to have different ways of doing things. There’s no silver bullet today that’s going to solve all your problems. We have a lot of tools, and it is more important to understand what the different tools are and when to use them.”