| > Why is there so much aversion to proving one's abilities? Programmers today feel they shouldn’t have to do whiteboards, or hackerrank, or take-homes. Because it doesn't necessarily prove one's abilities. Each of those items have pretty obvious flaws: - Whiteboard: Usually idealized problems requiring specific knowledge that is easily looked up, but not necessarily in one's short-term memory. Whiteboard is generally not the tool one uses to write code. It's very easy to bomb these sessions despite being competent. - Hackerrank: Easy to cheat. Usually toy problems with idealized properties, i.e. they don't have the dirty edge cases you see in real world development. This also tends to be just a first-pass filter for getting an phone interview or maybe on-site. - Take Home: Easy to cheat. May run afoul of existing employment agreements. Requires a pretty large up-front time commitment, and IME does not actually avoid the on-site whiteboarding sessions anyway. It's more of a first-pass filter. > How does a prospective employer evaluate someone’s problem-solving and programming chops? That's the million dollar question. As an industry we just don't have a good system for identifying competent developers. My personal approach is to stick with folks I've already worked with, who have a long track record of delivering. That doesn't scale at all and is not very good for folks just entering the industry. I truly wish we had better answers and I support anyone trying to build something that explores the problem space. It's nice to have diversity in hiring practices. |