Live data from Hacker News

Hiring Is Broken?

software.rajivprab.com

61–70 of 201 posts

Re: Hiring Is Broken?

#61
post #18
post #5

One thing I’d add is that live coding exercises can vary widely in quality. > If you solve the problem, you’re scored highly. If you don’t, you’re scored poorly. In my own opinion, this is a terrible way to look at these problems, though many people do use this metric. This is further emphasized by HackerRank-style exercises where you have to pass all test cases. This is robotic and not empathic at all. A more fluid…

I wonder if there is any value in having a few candidates do a group project. Would probably be a mess but might be informative, you could at least identify the bullies and dickheads pretty quickly.

I could imagine that this would be the worst way to evaluate candidates I've ever heard, especially if not everyone got hired. I think this would only be an appropriate evaluation metric if your end product were actually a reality TV show focusing on this process.

Maybe do it Survivor style, have 12 candidates/new grads start, give them the goal of producing an MVP CRUD app, and start voting people out of the scrum after a couple of days. Winner gets a 6 month contract to hire, 3 people have their careers ruined, and the rest bump around the valley for a few years before moving back to wherever the hell they came from. The memes that come out of this alone could make this show a valuable cultural contribution.

Re: Hiring Is Broken?

#62
post #15

This article appears to be an extremely long-winded way of stating that you don't have to pick from the top-end. Which is true. Companies know this. Most of the stuff I read here is basically made up of people who aren't quite the best moaning that they couldn't get a job at Google or whatever. Life goes on. It is impractical and not a good thing for every software developer, even the very good ones, to pile into the…

I have generally been rather disappointed with Google/FANG software developers. These companies generally though not always avoid the bottom 1/3 of the talent pool, but that’s about it. Effectively they simply select for people willing to hack their hiring process, which also excludes most actually talented developers. Resulting in a few very talented people, and an overall average workforce. This is also why most in…

[deleted]

Re: Hiring Is Broken?

#63
post #8

Earlier quoted context omitted.

Your implicit assumption seems to be that Google and its ilk hire the absolute best engineers. This is simply not true, for one very simple reason. There is no proven method for sorting a pile of candidates such that the absolute best engineers will float to the top. In the case of high-profile employers, a significant percentage of hires will be those who have trained themselves specifically to beat the hiring proce…

> Those people aren’t the absolute best software engineers. There’s no proof that they are but there’s also no proof that they aren’t

CVE list for android would be a good place to start ;)

Re: Hiring Is Broken?

#64
post #18

Earlier quoted context omitted.

I wonder if there is any value in having a few candidates do a group project. Would probably be a mess but might be informative, you could at least identify the bullies and dickheads pretty quickly.

I could imagine that this would be the worst way to evaluate candidates I've ever heard, especially if not everyone got hired. I think this would only be an appropriate evaluation metric if your end product were actually a reality TV show focusing on this process. Maybe do it Survivor style, have 12 candidates/new grads start, give them the goal of producing an MVP CRUD app, and start voting people out of the scrum a…

I like your thinking! :P

Re: Hiring Is Broken?

#65
post #18

Earlier quoted context omitted.

I wonder if there is any value in having a few candidates do a group project. Would probably be a mess but might be informative, you could at least identify the bullies and dickheads pretty quickly.

I could imagine that this would be the worst way to evaluate candidates I've ever heard, especially if not everyone got hired. I think this would only be an appropriate evaluation metric if your end product were actually a reality TV show focusing on this process. Maybe do it Survivor style, have 12 candidates/new grads start, give them the goal of producing an MVP CRUD app, and start voting people out of the scrum a…

Ever work in a startup ? This feels like a startup.

Re: Hiring Is Broken?

#66
post #33
post #9

Earlier quoted context omitted.

There's an impression that this problem is only at a few places like Google which is not the case. As someone recently browsing the market I've seen this process adopted rampantly and without reason or rationale. So many companies I would consider mid-tier, lower, or not even technology companies have outsourced have adopted similar if not the same hiring models of FAANG or outsource hiring/recruiting/assessments tha…

Meh. I don't buy it. I agree with the parent that it's usually people not getting hired being mad about it. - "interviewing is broken" is a meaningless linkbait title. All you can really say is it's less efficient than it could be. - In fact, interviewing in tech might be the best of any industry. Look how good we are at hiring minorities, people without college degrees, people who don't wear suits, people with verba…

> Look how good we are at hiring minorities

Wait, what? Are you talking about the software industry?

Re: Hiring Is Broken?

#67
post #37

Earlier quoted context omitted.

I haven't been able to find a better screening method than take home projects. A major issue that I find when watching hiring take place is people don't separate learnable/domain specific skills from the "inherent" skills you need as an engineer. Hiring someone who has a 10 year track record as a software engineer in systems software for a web-stack backend role should be an easy "Yes" if they are a skilled software…

Would you be able to give an example of how limited in scope you're talking about? Is it just a single "write a method that does this" type problem? I ask because I did a take home very recently which I know I could knock out quickly, but it took much long because everything you listed ballooned the amount of time it took me to complete it. Specifically: - Has the engineer followed a language standard (PEP/PSR)? For…

> Would you be able to give an example of how limited in scope you're talking about?

At a previous company we gave a problem that boiled down to the following:

  1. Read a config file that contains a list of "Rules"
  2. Each rule contains a name, an ID, a comparison, and a value. 
  3. Read a json array of numbers from a file. 
  4. Apply the rules you read to the array from the file
An example of a rule would look like:

    {
        id: 1,
        type: greater-than,
        value: 10,
        name: Number was passed threshold,
    }
Each rule type was specified with a light description and an example was provided. A sample input (config and data) that, if applied correctly, would trigger each rule was also provided. In all there were 5 rules: greater, less, equal, not-equal, multiple (a rule that had a list of rules inside of itself that would all need to be applied true to trigger it. ex: greater-than 4 & not-equal: 8).

The instructions only specified one requirement. Something like:

    Provide a method for our engineers to run your program
    via command line:
        `./  

> For JavaScript, it takes some time to setup a new project from scratch with linting and formatting configurations. Then documenting it in your README.

For your code to be formatted and for you to configure a linter are two separate goals. For JS (were standards vary greatly from org to org) I don't mind as long as there is a consistent formatting. Any IDE or editor has a format function that I would be happy to see used.

> If what you ask is of sufficient complexity

I hope that it is evident that this task was designed to not be complex for anyone but the most junior of developer.

> Of course, I don't think the fact that I did this is going to be noticed as it wasn't written out as a requirement

This sort of thing is exactly what I am interested in with this homework. You were given requirements and you reached for a set of tools that you thought were helpful to you as an engineer despite them not being required.

> If you notice what I'm nitpicking, it's all the setup and writing that becomes a time sink for most. In isolation, it wouldn't break the bank, but with all those requirements combined, you've lost much more than 3 hrs. When I'm given take homes for interviews, this is where I've burnt the most time - taking the time to document well.

I don't hold a lack of documentation or extra items against a candidate. That is made clear early on. There are tools that are very simple to setup or things you can do that would make it obvious to me that you know what you're doing.

You don't need a linter to format your code. You don't need a unit test framework to write unit tests:

    const apply = require('./submission').apply;
    const tests = [
        {rules: [], data: [], output: []}
    ];

    tests.forEach(function (test) {
        const output = apply(test.rules, test.data);
        if (output != test.output) {
           console.log("Failure");
        }
    });
Also, not having these isn't a negative. It just gives me a different context for the engineer I'm talking to. The only thing I think is bad is when an someone interviewing does one of the following:

    1. Code is obviously not working
    2. Code doesn't handle my sample data
    3. Code doesn't handle an obvious edge case (no data, for example)
    4. Code doesn't follow the one requirement (./  )
This assignment is a filter (if you can't program it is obvious) and provides background in the engineer (if they claimed on the phone to always do TDD and there isn't even extra sample data provided I am suspect of that claim).

Internal company standards make linters, testing, documentation, etc a "teachable" skill. I don't care if you do that on your own time because when you come to work for the company you will be doing what the company thinks is a good idea for it's source code.

(edit, forgot the "multiple" rule)

Re: Hiring Is Broken?

#68
post #38

This debate will keep happening for years to come, but everyone's just repeating the same talking points over and over. I have to sum up my thoughts like this: I really don't think we're ever going to find a perfect hiring method. You will always have a nonzero chance of false positives and false negatives, and there will always be downsides that piss people off. So, pick a reliable hiring method(s) (talk about exper…

> but we are still able to hire mostly good/trainable people Wow, you're actually training people? Kudos to you, I haven't seen that in a looong time. In my current area, everyone only looks for seniors or experienced devs. New grads without connections can suck it basically.

At this point my team mostly hires juniors. We train them on whatever they don't know that they need to know here.

We hired a mostly self-taught engineer out of college a year ago (I started ~2mos ago). Had almost no idea about webdev, or C#/.Net, or web APIs, but we taught her on the job. I'm similar, since I had no experience with web APIs before joining but I had experience with C#.Net, Asp, etc.

Re: Hiring Is Broken?

#69
post #50
post #37

Earlier quoted context omitted.

Would you be able to give an example of how limited in scope you're talking about? Is it just a single "write a method that does this" type problem? I ask because I did a take home very recently which I know I could knock out quickly, but it took much long because everything you listed ballooned the amount of time it took me to complete it. Specifically: - Has the engineer followed a language standard (PEP/PSR)? For…

What about having a discussion on how the candidate would solve a given take home? You could check if she would think of the required parts. For instance, would she think of unit tests? If she wouldn’t mention tests, you could ask „How would you ensure that your program works as expected?“ Thus, solving the take home theoretically.

This is a great use of the take home. It's a good interview-starter to get conversation moving.

Re: Hiring Is Broken?

#70
post #9

This article appears to be an extremely long-winded way of stating that you don't have to pick from the top-end. Which is true. Companies know this. Most of the stuff I read here is basically made up of people who aren't quite the best moaning that they couldn't get a job at Google or whatever. Life goes on. It is impractical and not a good thing for every software developer, even the very good ones, to pile into the…

There's an impression that this problem is only at a few places like Google which is not the case. As someone recently browsing the market I've seen this process adopted rampantly and without reason or rationale. So many companies I would consider mid-tier, lower, or not even technology companies have outsourced have adopted similar if not the same hiring models of FAANG or outsource hiring/recruiting/assessments tha…

Odds are those places are going to be a nightmare to work at anyway.
Post reply on HN