Ask HN: Junior devs, what frustrates you the most at the recruitment process?
Feel free to embrace debate.
Feel free to embrace debate.
It's not an easy problem to solve and we've wrestled with this on Workshape.io (matching platform for Software devs). The formula we've come up with is a 4 level hierarchy based not on experience or times served but on the role you play within the team.
Entry - you are competent, but need guidance / supervision / mentorship. Your code will be reviewed before deploy
Mid-level - you are competent but do not lead or manage
Senior - you are still hands on, but do lead and manage others
Lead - you may still be hands on but managing / leading / deciding are the most important things you do.
Its still our categorisation though and we know it's not perfect at all
Tech leads are expected to do more architecture but having direct reports and writing code are usually mutually exclusive.
So, everyone is junior?
There comes a point where there's no time to stop and start making things better, and you just watch the inevitable disaster come hurtling down the track as people are forced to continue churning out legacy code to keep it going today, knowing that they're just ensuring the final crash will be that much more destructive.
When we were hiring, I noticed people couldn't look past non-CS degree, and so we were effectively turning people with 3+ years of experience and great Github profiles/real world experience away. Because we "wanted the best".
Or having people fail shitty coding "challenges" because they couldn't remember breadth-first search of the top of their heads. Never mind that they knew where to look the algos up, or the role was pretty much full stack web developer.
The latter style job posts were very disheartening to read, and I sometimes wondered how I would ever get enough experience to get a job as junior dev!
That's because they want you to be productive. IME/O, having someone on the team that can't really make an app is antithetical.
You could definitely look for a job in QA and ask them to set you up as a dev, then work on dev in your spare work hours.
1. Cover letters - I'd rather someone from HR screen my resume and give me a 3 minute call about why I wanted to apply for the job.
2. Take home exercises/psychometrics before having an in person interview
3. Interview with junior staff before an interview (good experience for the staff but I've found them to be a bit unsure of what to ask.)
4. Vetting from HR or recruiters that don't really know the topic but are just looking for keywords which indicate competence (i.e. "SQL","Reporting", "Project Manage","Agile") or want to know why you want to work at the company specifically when the careers website has poor information.
My ideal process would be (for a large company): Apply with Resume (ideally one-click apply) -> Short Chat with HR on phone -> In person interview with hiring manager -> Interview with senior manager (more on cultural fit and long term fit) or short take home (ability) -> Offer
I've never worked for a company that gets 100s of qualified applications per position (edit: apart from call centre) and I'd wonder how a bootstrapped company would get so many applications?
I agree though that having everyone write a cover letter, that they can write in their own time, and that you can read in your own time is preferable though.
Better yet, just leave off on the cover letter requirement.
When we looked for a Django dev we got two applicants, and the good one of the two only wanted to work freelance. Admittedly we were looking for some experience.
Extremely typical in big corps. Makes me wonder what purpose they serve other than being glorified messengers between the board and real works.
I love that film.
Getting no feedback, not even a rejection, after an onsite.
Trivia games
Getting rejected because of the lack of keywords on your resume. Example: I was interviewing for Walmart. Recruiter said I must've applied to the wrong position, since I had no Java framework keywords. This was for a new grad position.
Companys not asking any algo questions, not even STAR ones, and me still getting rejected.
Lots of lying by the recruiters that revolve around salary.
This happens all the time even when you are senior (10+) years like me. It's maddening and I think one of the rudest things an org can do.
Speaking of "technical" questions - the good news is that there's absolutely no difference between Junior and Senior dev nowadays. Questions are identical so you can learn it once and re-apply for life. Everything you've learned in college is what will get you a job, even 10 years down the road so forget about your professional experience. Majority of interviewers have no skills interviewing candidates. They apply the same evaluation whether you're a tech lead or fresh out of school. If you happen to have 10 years of experience or at least one project on your Resume, they might fill up the blanks by asking you a few questions about your previous projects. But the goal is to jump straight into the basic CS questions (algo) because this leads to a YES or NO answer. That's what interviewers use to make a decision and let you go to the next round or not. You can't fail answering questions like "tell me about your project XYZ, what was difficult, how did you solve it". Though if you can't reverse a linked list because you forgot to google it prior to the interview, you will get disqualified right away since it gives the interviewer a solid feedback to write down that will never get challenged by the hiring manager.
To answer your question - what I just wrote is what frustrates me the most in the recruiting process in the Software world. I've been dealing with this thing for years... as an interviewer and interviewee. Things are getting worse in 2017 because I see 500 applicants per job. You get disqualified on questions like "do you use a new line for curly braces?". The trick is to not answer right away and to return the question back to the interviewer - "good question, what do YOU use?". Then just say "me too"... safe bet.
That isn't even close to true. Perhaps I'm misunderstanding. Could you elaborate on this a bit?
>You can't fail answering questions like "tell me about your project XYZ, what was difficult, how did you solve it".
This is the most important question I ask, and you can absolutely fail it. I use it to gauge interest in the field. If people give me a ho-hum answer, I know they are in the field because they heard it paid well and will probably have no incentive or drive for excellence. Even passionate introverts will perk up when this question is asked. I can't overstate how important passion is to future personal development.
On a side note, I haven't had to deal with a recruiter (for my employment) since 2001 (dot bomb) and that didn't even help me. I used a recruiter for my first and second job and haven't since (in 20 years). If you do good work, people will remember you when time goes by and your co-workers are at a new location looking for talent.
I think you are sharing your perspective from large companies. Small and mid sized companies are often more competent in interviewing (and fun to work for) because they aren't shackled by some pre-determined interview "process."
Right now the market is saturated by people applying everywhere at the same time. Some recruiters get handed multiple choice questions and get involved in the filtering right up front. If you use a referral these days you still have to go through the standard hiring process, again, there are exceptions. I got hired by an ex-collegue from another company a few years back, where he got promoted to manager. We worked together, coded together and were both engineers at our previous employer. He had an open req in his team and contacted me personally. I still had to go through the standard hiring process and crack a few algorithm questions with other engineers. He bumped up my rank though to the max when he hired me, which is where the referral boost came into place. Not during the hiring process, I was just a regular candidate for other engineers.
Anyway, back to your points, algorithm questions are the main topic of conversation during tech interviews in 2017, minus the exceptions. It all comes down to writing code on a whiteboard or in a notepad. When I say code I mean palindrome, dykstra, doubly linked list and all this crap. I say that because it's the hardest problem you can ask to a candidate with or without experience. People know you'd feel comfortable talking about app optimization, scaling an infrastructure, common problems in a multi threaded system, etc. They use it for architect positions where they know the person won't write a line of code. There's just a big misunderstanding because interviewers aren't trained to evaluate candidates. They'd rather go for the generalist route and hire the "smartest" algorithm guru over someone who has a deeper knowledge of the field.
Thanks for elaborating but that's sad news. I thought we had all collectively decided this was a horrible way to interview people. If a company absolutely must have code written, assign all interviewees a programming task and have them submit it through GitHub or on your site. Something that shouldn't take more than 30 minutes for a moderate developer. Anyone who doesn't complete it gets filtered, and you get a good example of their thinking, style, sloppiness, comment habits, etc. If you think they nicked it from the internet, have them make a slight change.
I've always considered the ability to be able to design a piece of software or module from nothing to something complete in a moderately elegant way was way more important than if someone had memorized how some algorithm works without ever having the need to implement it.
It's akin to asking a painter how to build various types of brushes and how to harvest paint, or an author how to make pens. That ability isn't useless, but certainly don't make that the focus of your interview.
I want experienced software designers, they can learn anything they are lacking with whatever stack we use in house in just a few weeks. I'll just stick to using my methods and wait until the industry catches up. :)
Also, any mention of a cover letter was frustrating. I think hiring managers have enough info to decide if a phone interview makes sense with just a resume/Github, especially for a technical role.
Also, having to spend 20+ minutes creating an account with all my personal info just to submit an application stopped me from applying to multiple positions. That time adds up during a job search and makes it extra stressful, not to mention you end up feeling like you just dropped your resume into a black hole where it will never be seen.
You can't get work experience without working so it was 6 months of constant searching before I got a job.
I'm expected to be a cheaper version of a mid/senior dev, perhaps just a bit slower.