Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I agree that attitude trumps pure intelligence in general for programming projects. Indeed, pure intelligence tests (e.g., "why are manhole covers round?") fell out of favour as interview techniques at Microsoft. As far as I know (my own and friends' personal interview experience) Google never used such for programming interviews: ability to apply intelligence to the task at hand (programming, software engineering/architecture and algorithm/data-structure design) is what the industry leaders look for. This (the ability to strip away non-mathematical details and break a problem down to pieces that are machine-solvable, preferably by known and proven algorithms) in itself takes not just intelligence, but also practice.

Nonetheless, there are some projects that require a minimal amount of intelligence and/or education and beyond that no amount of attitude can help. E.g., I'd love to hack on applications of machine learning algorithms, but I don't have the educational background to do so. It would require years of serious study to be able to even do even the most basic work in that field.

On the topic of the author's previous post, I would agree that a way to get top programmers to work on less-interesting business applications is to let them use a more interesting language. In fact, some of the most difficult development (systems programming, scientific computing) goes on in fairly boring languages (although using higher level languages for this sort of work is becoming a reality).

I will, however, take strong issue with the assertion that Common Lisp is a language only suitable to top percentile of programmers: countless schools teach Scheme as the first programming language to undergraduates and Scheme is a much more functional language than idiomatic Common Lisp. Macros aren't inherently related to functional programming (nor is writing your own macros required for Lisp hacking, Graham is fairly unique in this respect). Closures (a heavily used feature of Common Lisp) aren't inherently functional, neither are multiple dispatch nor dynamic typing. Lack of syntax is a salient feature, orthogonal to all other distinguishing features (except for macros) and again, not especially "functional". If it's possible for newbies to write fairly mind-bending Scheme(1), why shouldn't it be possible for educated and experienced (even if not 99.99th percentile aptitude-wise) programmers to do the same in a less pure language (Common Lisp, OCaml)?

(1) My alma matter (which most people, even those living next to it, haven't heard of) uses Haskell: http://www.cse.scu.edu/~atkinson/teaching/wi10/070/



Just to clarify: "why are manhole covers round?" is not a test of intelligence in the narrower sense. "Add the next number in the following sequence 1,4,9,16" is.


Clearly the answer is "1", the sequence being defined as the numbers 1,4,9 and 16 repeated.


42?


18 ?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: