Recently I completed a fairly intense and thorough job hunt. Early on in the process, I spent some time thinking about my must-haves and my nice-to-haves. I thought through what was important to me and what I needed in order to be happy in my next position. However, as I spoke with company after company about available positions, it was obvious that most had not done the same. Their job descriptions as well as answers about company culture were vague and non-descript. Of the few specifics they could mention to me or from conversations further on in the process, I found that ultimately their hiring process didn't reflect what they wanted in a candidate.
Most companies I spoke with have 4-6 rounds in their hiring process (that includes some sort of take home project if one existed). For a candidate, this is a lot of time to dedicate to an interview process. Diving into the rounds, in the first round, where we (the candidate and company) were just getting to know each other, almost all companies spoke about the benefits offered as a way of selling their company, but when I asked about parental leave, almost none (and actually maybe not a single company I spoke with) knew what their policy was. Second, when I asked what they look for in a candidate, 90% of the interviewers answered "someone who can learn." Now that's lovely but what does that even mean? I can show dozens of examples in my work history and personal life where I have had to take a challenging problem, break it down, learn what to do, and have a successful outcome but this wasn't actually what most companies as looking for.
As I solved take home code projects that had nothing to do with the every day job of being a developer and weren't related to anything I had accomplished in the past two years, I found myself getting more and more frustrated. These projects didn't test my abilities. They tested if I had time. Time to complete these challenges. Time to practice these types of problems which were totally different than my day to day role. They were essentially an ineffective use of time that had no bearing on if I would be a good employee or not and they definitely didn't test if I could learn effectively. Code challenges are like any test you take in school. Most of us probably had a class in school where we knew all the material but weren't good at taking the type of test the class was given. Maybe you liked science but were awful at multiple choice tests so you got a C and were so-so at history but got an A because you were a good essay writer. How frustrating was that? If only you could be tested in a way that would both evaluate you as a student and give you the opportunity to show that in a way that's most effective for you.
In addition to thinking about what companies could do to assess candidates more effetively{:target="_blank"}, what I wish companies would do is think about what they're trying to accomplish through their hiring process. I don't just want a wish-washy answer like "we what smart people who learn well". That doesn't help a company or the candidates applying. I want real ideas like "the ability to create an architecture for a problem's solution", "knowledge of databases", "the ability to communicate ideas and work together effectively", or even "the ability to assess different solutions and put them in place." And then think about how you are getting those answers through your hiring process. Hint hint: if your goal is to find someone who can communicate ideas effectively and work with others, a take-home code challenge probably isn't getting you anywhere near the ability to assess that skill.
Oh yeah... And I'm still waiting to hear back from at least 10 companies who I spoke with about two weeks ago and said they'd let me know within 3-4 days. I know it seems like a waste of time to follow up with someone who you're going to reject but it really doesn't take much to create a nice form rejection letter and spend 10 minutes sending that out. It'll also make a big difference in your reputation. When job hunting, I specifically ask about bad hiring processes or unresponsive companies so i'm not wasting my time applying.
In this job, just like my last, when considering offers from similar companies that met my must-haves and nice-to-haves, I gave a lot of weight to their interview process and how I feel I was treated throughout. I will also be sure to recommend to colleagues companies I felt had a great interview process and will warn away from ones that were good on paper but in reality had time consuming code challenges, unnecessarily lengthy processes, or were just plain unresponsive. Because if that's what a company is like when they're recruiting you, I can only imagine how it will be when you're working there.
In case you're curious, here's my list of must-haves and nice-to-haves...
My must-haves:
- Family friendly company
- Maternity leave policy with, at the VERY least, 6 weeks of paid leave and an additional 6 weeks of unpaid leave
- Some work from home opportunities
- Desire from the team to pair and mentor
- Salary increase
Additional points for:
- Fully Remote
- Support for attendance and speaking at conferences
- Thought-out interview process that respected a candidates time and effort
- Diverse team
- Support for learning and growth at all levels
If you'd like help in figuring this out, check out my consulting page{:target="_blank"}