While web developers have a very specialized role within the software industry, their hiring process remains largely identical to the general software development hiring process. This results in a big disconnect between what web developers get tested on in the hiring process and the work they do once they come in.
Companies looking to hire suffer with this as well, since the candidate might not have the skills really needed for the job. With the ever-changing framework landscape, browser quirks, language overhauls, and optimization techniques, web development has become an extremely deep area of expertise and needs a new approach to hiring.
I joined Swym as a fresh graduate just a few months out of college. As opposed to the prescriptive process that was dominant at that time, Swym had a fresh take on hiring right from the first interaction. While everyone else led with an automated programming test, Swym led with a phone call where the interviewer and I discussed a challenging problem I had worked on.
By the time I finished the interview process, I had undergone a perspective shift on what hiring is and how it should work. Over the last couple of years with Swym, I have seen that process evolve into an experience that's fairly unique and differentiated from the common practices in the landscape.
In this article, we will look at the steps that we follow at Swym to hire strong web developers, and how you can apply the same approach to your own hiring process.
1. Define the fundamentals
Hiring starts at defining what the desired qualities for a role are. Surprising as it might be, many companies don't do this step with complete honesty. Since the hiring process follows directly from defining the desired qualities, these companies end up probing into skills that are just not required for the role.
For Swym, given we are on a mission to redefine the typical shopping experience for mobile consumers, the following were the core desired qualities for a web developer role:
Solid fundamentals. Web is changing extremely fast and just knowing one of the frameworks that solves a problem today is not enough. Frameworks are changing every day, and the only thing that can stand the test of time is a sound conceptual framework for the web at its barebone level and for programming in general.
Proof of curiosity. We have seen time and again that people who genuinely like what they are working on tend to be curious—they breach their limits and stroll into the unknown, they ask questions, and they try to find answers. As a startup, this desire to be inquisitive fundamentally changes your ability to navigate those unchartered waters and create differentiated products that enable you to be successful.
Working knowledge of the web. While not mandatory, having a working knowledge of how the web works, how it has evolved with time, how browsers work, and how to build things on it from the ground up are all things that help, especially in a fast moving workplace where time to ramp up and start delivering is very short.
Customer empathy. At the end of the day, all of us are trying to help an entrepreneur, and so it’s paramount to see that bigger picture and do the right thing for the customer.
- Culture fit. While someone can be technically concrete, they don't make the cut until everyone in the team feels positive about them and looks forward to working with them.
You might also like: 9 Tips for Hiring a Web Design Subcontractor.
Define the process
Candidates struggle to land roles they are truly interested in and that they would excel in because these roles end up being guarded by tests that have very little to do with the role. On the flip side, companies struggle to define the qualities they are really looking for and ways of analytically measuring those qualities within a limited period of time.
For us, once the desired qualities were well defined, the next big challenge was how to test them. Each bullet comes with a history of ways in which it has been tested and while some still hold true today, many needed to be redesigned. For example, we stopped stressing on language familiarity—especially with frameworks—and instead started looking for other ways to test problem-solving ability. In each step of the process, we were looking for proxies that could provide an accurate picture of the skills we were looking for.
It's important to note that the core qualities listed above were in no particular order—each one of them matters just as much as the other. This insight lent us the liberty to sequence the rounds in whichever order we preferred.
AngelList has been our primary source of hiring leads. As the inbound volume of resumes began to pile up and scheduling calls just didn't look feasible anymore, we added an experimental set of questions as the first point of interaction with Swym.
Each of those questions built up on a thought experiment or just dwelled on the candidate's dreams and aspirations. For example, one of the questions asked what they would change if they had a chance to rebuild the internet, while another asked for a quality the candidate thinks makes them stand out in a crowd. At the outset, the intention was only to get to know the person behind the resume, and to get them to really showcase who they are.
"At the outset, the intention was only to get to know the person behind the resume, and to get them to really showcase who they are."
Over time, this became a very good filter to test culture fit, to see if the candidate can think big and to gauge the candidate's seriousness towards the opportunity. So far, the volumes have been manageable enough for us to go through the responses. As a team, we strongly feel that this maintains a certain humanness to the whole process and that's critical, even as we scale.
A lot of candidates really appreciate this human aspect of the process and they consistently tell us the questions get them to think and reflect, and that they often end up discovering something about themselves that they hadn't consciously thought about. When done right, this can be an incredibly powerful first exchange between the two sides.
We conduct phone screenings of candidates to identify two things in particular—proof of their curiosity, and their knowledge of the fundamentals.
To gauge the fundamentals, we start with a loosely defined but a real problem statement and gradually build up the complexity. For example, we might have discussions on how they would build a simple library to power a calculator or build user interfaces with barebone technologies, all the way to how they would build a voice-based chat-room or a scalable queueing service from the ground up.
"We avoid entering into the discussion with a solution in mind, and let the discussion evolve from general brainstorming to concrete ideas."
We avoid entering into the discussion with a solution in mind, and let the discussion evolve from general brainstorming to concrete ideas for a robust and scalable engineering artifact. The call is structured to be an informal discussion instead of a question and answer format, to ensure that it closely simulates internal design meetings we have for our product features.
We have found this format to be a good indicator of how a candidate approaches a problem and how thorough their understanding is of the fundamentals. By the end of this round, we are able to decide one way or the other whether the candidate can take complex problem statements, articulate their thinking well, and solve the problem in an organized fashion.
You might also like: Finding Technical Talent: How to Start the Hiring Process.
Once the technical competency is established, it becomes imperative for us to test if the candidate actually delivers, if they take a challenge head-on and fight their way through it. Also, if there are elements of the hands-on experience that we might have missed in the previous rounds, the take home assignment is supposed to provide proof of working knowledge. Assignments are mini-projects that typically take a candidate a few hours to turn around.
What's interesting about these assignments is that they are intentionally left a little open-ended and broad. It becomes necessary for the candidate to choose an area to go deep with and only work on that, while discounting other possible features. This way, one doesn't just code up all the requirements and turn it over. Instead, one really thinks what might make that mini-project a real and usable product, what its customers will critically need, and what can be punted until later. This subtly ends up capturing how customer-centric the candidate is in their approach. It's very common to see developers build something where the purpose of the artifact is an afterthought and not a founding decision.
Signs of engineering rigor also shine through here. At the end of the assignment statement, we request the candidate to list their assumptions and shortcomings. Good candidates are extremely thorough with this list. They mention boundary conditions that they haven't coded, design decisions that they think might not scale, and most importantly, the founding assumptions of their design process.
By the end of this step, we are convinced that the candidate has solid fundamentals and a working knowledge of everything they know. The last round offers an opportunity for us to make the final hiring call and for them to get to know us and decide if they feel just as excited about the opportunity as we do.
Candidates are invited to meet us at our office and spend a day with the team. Over the course of the day, the candidate meets all the stakeholders of the job opening, and talks to them in a one-on-one or two-on-one setting. This gives us enough time to dive deeper into our areas of work and understand the candidate from that dimension.
In-person meetings also close the loop on the assignment. It's a chance for the candidate to explain their work, why they made the decisions that they did, and what they would do differently if certain assumptions were to be changed. Basically, we use this aspect of the process as a sampling of what life would be like once they do become a part of the team.
When I interviewed with Swym, this step was the most surprising part. Throughout the day, I talked to the team about programming, front-end development, scale, error-handling and logging, customer success and support, ecommerce, SAAS in general, and so much more. It felt like an immersion into everything the company stood for and everything it had to offer.
"Your process shouldn't be limited to just asking questions and evaluating the candidate's responses—you are also constantly evaluating the candidate on conversations they initiate."
It's important to recognize here that this decision is a two-way street—we pay almost as much attention, if not more, to making sure the candidate has ample opportunity to evaluate us and Swym's fit for them, as we do for the candidate. Invariably, the good candidates focus on the right questions and spend a disproportionate amount of time on our mission and why that feels powerful to them. Being on board with our mission is such a critical aspect.
So, your process shouldn't be limited to just asking questions and evaluating the candidate's responses—you are also constantly evaluating the candidate on conversations they initiate (if they don't initiate any, that's potentially a big red flag), what questions they ask, and how well they are able to connect the dots.
Armed with this data from the in-person meeting, we collate our feedback offline and reach a decision. The mandate is to ensure that every single one of us is excited about this new person joining the team.
3. Constantly re-examine
We constantly self-critique our process after a successful or an unsuccessful pass, and debate how things should be tweaked to address emerging concerns. Since I joined, we have gone through several iterations to the hiring process in response to things we learned and how our priorities change based on our growth. Following are the areas of priority for us this year.
- We are constantly reinventing ourselves, and that includes how we work and how that reflects in our culture. Swym is committed to becoming a fully remote workplace this year, and exciting as that sounds, it does require us to significantly reorient ourselves to be ready for that very significant change. And it all starts with the people—we are working to continue refining our hiring process in light of that goal, and quite a few aspects of the hiring process will need to evolve to account for that. The focus will be to find other proxies for testing those same desired qualities in an online setting, but in addition, also ensuring that candidates have what it takes to thrive in a remote environment.
- Obvious hiring calls are few and far in between. In most cases, the decision ends up being a hard one and requires taking several aspects into consideration to get to a decision. Given the costs of a bad hire, we take this very seriously—if the decision on a candidate at the end of the interview process is a maybe, we err on the side of caution and do not proceed with that hire. The focus really is on getting to the bottom of any concerns that come up and seeing if there is evidence that addresses those concerns. This year, we will be looking at more ways to collect that evidence if required and make better decisions.
You might also like: How to Hire Employees: The Essential List of Resources for Agency Owners.
- It's critical to start with an accurate picture of the desired qualities for any open position. This sometimes might mean diverging from the traditional definition of that position.
- In a world of automated tests and the need for quick hiring calls, the human aspect of the process shouldn't be lost. Design the recruitment process in a manner that provides ample opportunities for candidates to prove themselves.
- While traditional testing methods do work in many cases, the question you have to answer is, does it really test the desired qualities you defined for the role?
- The process should lay as much emphasis, if not more, on letting the candidate evaluate the organization and the role.
Using these steps, you’ll be well suited to finding a hire who both fits the needs of your role, and helps bring your organization to the next level.
How do you run your hiring process? Let us know your thoughts in the comments below!