I spend a lot of time talking about the challenges junior developers face when they are trying to break into tech. And honestly, there’s probably a whole book to write about this, a whole chapter on how most education (university, bootcamp, and online paths) doesn’t prepare new devs in the ways that they need to, how junior devs cost companies money, about how some companies let others mentor junior devs just so they can poach them with huge salary increases, about how creating a system of training and transition from support roles to developer roles could be a better way to approach the issue, about how talking more openly about it and about how trying to think about how to flip the hiring process on its head is a good place to start.
I’m not going to write about any of that. I’m just going to point out some of the problems juniors are facing and suggest where we might want to start rethinking this process.
Clear Exploitation
- Having junior devs write code that goes into your code base without paying them and without making that clear during an interview.
An interview is not an excuse for free work.
Asking junior devs to do work on your projects with no intention of hiring.
Interviewing a ton of juniors just to figure out who you can get for the least amount of money. (Tangent: when I lost my job during COVID, I interviewed for a position. I did the best on the take-home test and was offered the position. But the catch was that the founder offered me $30/hr and told me that she was hoping to get me for less of an hourly wage since I was more junior and then I could work more hours.)
Posting a job and interviewing without a real commitment to hiring.
Crushing a candidate’s soul in an interview–some of it is toxic culture, and some of it is trying to check their resilience—that is not what that does—to make the candidate feel grateful for being offered a job.
Other problems to consider
Portfolios don’t always capture what you’re looking for or are mixed with other people’s work or are the same projects over and over and over (to-do list anyone?). New tangent: I think that being able to communicate code, ask questions, and talk about process and approach can be a better way of judging a candidate. So even opening up one of their projects from GitHub or portfolio and asking them to walk through it and talk about the process, and ask what they would do differently, where they were challenged, etc. could be as useful.
Giving a coding challenge doesn’t ensure you’re receiving a candidate’s work. I’ve heard hiring managers say that they’ve hired ppl who have done well on take-home tests, but couldn’t keep up with the job or couldn’t explain concepts at work that they applied in the take-home.
Part of this whole problem is that being a junior looking for a job is a rat race. And everyone knows it. We are exploiting desperation by over-requiring and having unreasonable expectations in interviews. With a ton of juniors trying to break into tech, a ton of companies without an honest interest in hiring, and then juniors githubs stacked with multiple 4-hour take-home tests, spending 40 hours a week trying to find a job, and frequently for months, there’s a boat-load of problems. And it’s a catch 22 because juniors need more experience. How are they supposed to do that when they’re spending 40hrs a week trying to find a job? These circumstances do not mimic the job.
I don’t have a solution here. I just see the problem and the frustration and know that tech is losing good people because most of it isn’t even trying to figure it out. In a sense, this model is survival of the fittest, and I’m not okay with that.
What I want is maybe idealistic. I want to see people and not candidates. I want a clear recognition that each of these people have lives and responsibilities. I want to see the value put on communication. I want to see people and organizations who have the ability to mentor and support to do it. I was lucky to get my first job as a developer. I didn’t have a take-home test or a whiteboard interview. I had a conversation. And that won’t work in every scenario, but I’ll tell you what, seeing the person in the interview is a good place to start.
Top comments (11)
You make very good points.
Having devs work on real projects for a company without pay shouldn't be allowed. A while back, the place I worked at talked to a few consultants about improving the interview process. One was supposed to be a 'industry leader' on being a advocate for developer interview and improving the process, but they suggested something that really irritated me...
The "try before you buy". In other words, make candidates work on real world projects instead of a interview...without pay. I can go on for an entire blog post on why this is actually a terrible way to find candidates.
I interview a fair amount of candidates and I see some major issues in the industry (this is my 2 cents here)
Twitter and other social media preach "online brand, side-projects, portfolio, get a high follower count, keep blogging" so much that many beginners just get burnt out even before they get their first job!
Interviewing candidates is a skill that needs to be developed. Many developers spend time on developing their personal skills, but interviewing candidates is usually not one of them. It's often easier for senior developers to run pop-quiz style interviews or rely on take home tests then to evaluate a developer.
Different companies/projects have their own required skillset so there always will be a 'interview process' of some sort. One of the frequent things my 'tech friends' and I always discuss with each other is the interview process and how to make it better.
I feel safe taking about it within a circle of friends because we talk about what processes works and those that do not...but still being respectful of what our employers require. It's really hard to have such a discussion on social media because it always turns into a yelling match since there will always be people who hate a particular style.
Right now, my personal preference is to have 'discussions' about the required skillset with the candidate. There are no right or wrong answers and focuses on communication and attitude (are they a jerk or condescending when they talk about things). But it's not just the candidate talking, it's both of us. In my experience, if you can have a good conversation about JavaScript to a developer, you don't need to test their knowledge on syntax (ie coding tests).
I'm not saying this method is perfect either. There are problems to this approach as well.
I "do" look at portfolio projects, but only at a high level but it's not a must have. Many solid developers don't have side projects. Even I don't have any.
Just a disclaimer, I don't think any method is perfect and I have changed my mind and methods over the years.
Thanks for this. This is a great response. I really want to organize a large group conversation in some form about this. I think the more perspectives, the better. But I’m so maxed out rn. Maybe sometime in 2021.
If you’re interested, I’d love to add you to the list for my tbd meeting 🤣
for sure, I'd love to help where I can.
Don't burn out tho!
Trying to figure out how to avoid that 😭
This is a great post Bekah! You have much more experience than I do with job searching in the tech industry but I've heard/read plenty of job search anecdotes that corroborate each point you listed under the "Clear Exploitation" section.
Personally, I think it's disgusting that companies use interviewees' code—unpaid work!—in production. I vowed to myself to not complete a take-home test unless it's designed solely for the purpose of the interview (i.e. something not specific to that company's codebase). If any company has a problem with that, I'm prepared to explain my reasoning behind my request for an alternate take-home test. Their response could be a huge indicator as to whether or not it's the right fit for me.
And your last bullet point, that definitely doesn't get talked about enough. I feel so sad when I catch up with my Flatiron codepanions who are struggling to find a job after graduation and in the meantime, they're receiving constant rejections. It's gotta be so rough! 😞
Meg, you are awesome and I am so glad to have you in my community. Thank you for your kind words.
Thank you for writing this! Even if there's no clear solution at the moment, reading this helps me feel less down on myself, knowing that it's not just me. Just gotta keep going on for now and prepare myself for my future developer job. ^_^
"Survival of the fittest" --- exactly how I felt. It felt even worse if you are not a CS grad.
So far I don't think any company I interviewed with used my code in their real code base but many of them do require lengthy time contribution in code or project challenge. If they offer enough time (1-2 hours) to review and give me feedback I don't feel too bad, after all their engineers need to get a feel for their future co-workers and perhaps they're not looking for juniors but wanted to give me a chance.
Some have employed automated tests which has nothing to do with the real work that simply rejected you if you don't pass, that is not fine with me.
Strangely, both my internship and first job didn't require take-home test, whiteboard, algorithm test etc. What we had is a conversation more about our mutual interests and whom I am as person. But... don't get me wrong that I just bump into luck. I do have a good portfolio to convince them to talk to me. And I also went through tons of frustrating job hunting and rounds and rounds of interviews and tests. Sometimes I learn something along the way, sometimes I don't.
I don't know what will be the best way either... I wish there is a round table talk for hiring manager and candidates to share some honest insights so it will benefit both in the future.
Bekah, once again a great article. You have tapped into the collective frustrations of a lot of job seeking junior developers.
My story is no different than most. After years of a love of web tech I decided 16 months ago to start this career change. In the beginning I was so excited. I finished bootcamp and after a frustrating 9 month job search, 3 months unemployed, I am no where closer to a dream becoming a reality. My story is no different than many others. Keep writing and inspiring others.
My heart continually goes out to you, Chuck. I am very much hoping that this wait will lead to an amazing offer.
This is a great article Bekah! I'm not near the point of job searching yet, but all the job search frustrations and stories I see scare and are discouraging :(.