Before reading this thread I felt the same way as OP. I am a fierce anti iq exam (I could go on a mildly incoherent rant about it) and I sometimes feel like these coding challenges are just that: iq exams (I get triggered
). So after reading everything said in here I now understand somehow the motivation to send those out. Still, it seems to me everybody who graduates from a quantitative program can learn good programming habits: I don't believe it's an innate skill, you can learn, and businesses should invest in their employees (if that's not too much to ask).
Those tests are just a way of saying, we only want people who are already great programmers. The issue, as was explained in the thread, is that universities do not produce "great" programmers. They produce raw talent, and talent has to be polished: Especially if you come straight out of academia (like me, and unlike OP who has work experience already) and rare were the people who read your code (I know how painful it is to read code with 0 comments
). You could be lucky to get a research supervisor who has industry experience and instills great programming habits but that's a bit much to hope for.
One last thing: Make those challenges interesting, okay?
I just accepted an internship offer for which I had to complete a coding challenge: either recreate a pong clone, or solve some NLP problem (language detection). Then write a report, produce performance analysis, heavily commented code etc...
I mean that was fun to do because you are actually solving a machine learning problem.
Those Matata Capital challenges are more like "find out how many palyndromes are in the given century" : dumb, boring as hell, and on top of it, timed = pseudo iq exam.
They don't want to take the time to recreate semi original problems which require you to think, to try things, and to be creative. It's not for everyone, certainly not for me. I would probably not want to work for a company which thinks iq exams are a legit barrier of entry to their workplace.