1. 58

  2. 6

    I can’t pass algorithms interviews!

    Impressive humility, and really encouraging to hear from someone as capable as Dan.

    But anyways…

    The problem with criticisms about whiteboard/algorithms is that the alternative isn’t clear. Compare most other industries and you’ll find something much more arbitrary, nepotistic, and gatekept.

    It is amazing that the software industry is willing to consider candidates based on portfolios and (crudely) demonstrated abilities, who didn’t go to MIT or perhaps any university. That’s amazing and unique. So I’m quite skeptical of the loudmouths that declare whiteboard interviews to be invalid.

    And by the way, as always–especially in the current market where software developers are in high demand–any org that finds a better approach to interviewing (lower false-positive + false-negative) will have a massive advantage. CTOs and hiring managers are desperate to find a better approach.

    Perhaps companies would be more willing to take hiring risks (and thus lower the bar to entry) if firing people were not so risky. I should probably not say such things in public though.

    P.S.: If you’re not using Python for interviews, you’re not using the right tool for the job ;)

    1. 1

      Python: Pseudocode you can run.

      1. 1

        Firstly whiteboards tell almost nothing about a candidate’s ability to write software (for most software jobs). The alternative could be something like writing some software examples. If your job was writing algorithms on a whiteboard then sure I think it’s a fantastic test.

        It’s not amazing, there’s frequently a shortage of labor.

        They will have an advantage until they are bought by a much more wealthy corporation, and then that advantage will be tossed aside for the sake of risk aversion.

        Firing people isn’t particularly risky where I live. It doesn’t magically fix the problem of risk aversion in large businesses and cargo culting of this behavior by small business. Sure ones that do realize that it’s bad for business end up with a huge advantage, but then they get bought. The advantage is immediately scrapped. This happened at my wife’s workplace the other year.

        1. 2

          whiteboards tell almost nothing about a candidate’s ability to write software

          Doing well on a good whiteboard test is fairly good evidence for cognitive capabilities which are essential to effective software development, so I would say they do tell you something valuable, some of the time. The problem is that lots of people have those capabilities, but don’t have the emotional or attentional skills to express them in a high-pressure, social context like a whiteboard interview. So on their own, such tests reject a lot of people. But for an organization which gets a lot of applicants like google, that’s probably ok. For most of the people copying therm, it’s probably detrimental.

          1. 1

            Yeah it’s one of those, it tells you something if they pass it, it tells you nothing if they fail it. Worse, it discourages candidates. I personally will turn down any job offer that has a whiteboard test. It’s a luxury of course that not everyone has the opportunity to make but for me its indicative of a business that won’t be successful and will be onerous when it does not need to be.

          2. 1

            It doesn’t magically fix the problem of risk aversion in large businesses and cargo culting of this behavior by small business.

            It doesn’t need to be magic, it just needs to improve incentives (or rather remove artificial, arbitrary chilling effects), which it does. It’s not realistic to expect a straight line from cause to effect in a complex dynamic system. Inertia of megacorps is always a factor, but we can see that disruptions do occur and cultures change over time.

            Microsoft was supposedly “invincible” in the 90s yet it was disrupted and later adapted. That’s a good thing. Megacorps that adapt, by definition, are responding to new information in order to survive/thrive, which has similar benefits as if they were replaced.

        2. 3

          don’t ask algorithms questions in interviews, but do incentivize things that are globally good for the company

          And what is it?

          1. 3

            For example profiling and optimizing parts of systems that you’re not directly responsible of, or training other engineers to do their jobs better.

            1. 1

              That can depend quite a bit on the company. If you are a business owner and you don’t know what things are globally good for your company, you might want to meditate on that for a while. Often it’s willingness to communicate or collaborate. Willingness to admit they are wrong when they are indeed wrong. Willingness to take accountability. Ability to teach as @pekkavaa said. These may not be make or break traits, but they can be effective tie breakers. You don’t need to be a people person, but you should know what one looks like and how to play the part when its required.

              1. 1

                Is what?