Hacker News new | ask | show | jobs
by Jach 3895 days ago
The quickest way: get your IQ tested. If you're north of 115 and have the desire for programming, you'll be fine, though your 130+ peers will probably do better. If south, but you still have desire, you can still produce value, maybe even become a very rich person or internet-famous, but you're unlikely to be a top tier programming god. If you don't have the desire in either case, what are you going to do instead? Consider doing that, but note programming is a pretty good gig even if you're just ok at it or don't like it that much.

There are problem sets out there with time limits. You might even get some if you interview for jobs. But if they give a time limit of 2 hours and you solve it in 1, does that show aptitude? Maybe the average is 10 minutes! But then aptitude is more than just lines of code per hour, especially as the problems being solved become open ended and more complex. Maybe you too got the initial thing mostly working in ~10 minutes but spent the other 50 testing it and uncovering edge cases that would break your peers' quick solutions. So if you have a distribution of results you need to take them with a grain of salt, especially since experience can dominate aptitude so often. (http://ridiculousfish.com/blog/posts/old-age-and-treachery.h...) I don't care what your IQ is or how fast you can type, if you start writing a parser from scratch to solve some problem that is trivially solved with regular expressions, the regex user will beat you.

So if you're going to compare yourself to others, you need to try factoring out things like experience by comparing yourself to those with similar levels of experience. Programming competition prep at school is a great way to do it, since presumably you've all had about the same classes, are around the same age, and with many trial problems you can determine who is consistently doing well (aptitude) and who might have had good/bad runs simply due to having or not having a piece of knowledge. Another thing to try is a friendly 'competition' like Ludum Dare a few times. Your goal is to make the best game you can make in 48 hours. http://ludumdare.com/compo/ When it's done, you can compare with your peers, especially ones that look to have a similar level of experience and made similar decisions as you (language, libs, etc.).

1 comments

I don't believe an IQ would be a worthwhile investment for anyone trying to decide if a career path is for them. I'm sure many of the "top tier programming gods" you're thinking of are of slightly above average intelligence and just have exceptional communication skills.
Why not? The military has successfully done aptitude testing for decades, it's a quick way to see whether further investment in a direction is worthwhile. (Edited to add this, similarly if you have a budding interest in basketball but you're not going to get tall, you should probably not shoot for the NBA. Keep dabbling if you like it, but have realistic expectations, statistically you won't be another Webb, who was still 5'7". It's irresponsible for people to say keep pushing hard and as long as you're having fun you'll eventually get to the NBA.) Official tests are best but there are a few ok online ones that can at least quickly set approximate expectations. If the OP has already done ACT/SAT tests, it's even quicker to fetch the highly correlated IQ value.

I would be very surprised if people on the level of Carmack or Torvalds or Woz or Knuth or the many others I know of, famous or not, were under 2 standard deviations above average. It's absurd to think they're under one, which is just 'slightly above average'.

IIRC, the military uses aptitude tests as a negative filter -- the ASVAB will be able to determine if you are obviously unsuited for a given profession, but it's not designed to single out exceptional individuals. I and a few others who took it with me got perfect scores, but that doesn't mean we'd be equally suited to any career path.

Unless the OP is asking if he has the mental capacity to be a minimally competent programmer, his raw IQ score won't tell him much.

Consider this scenario (merely hypothetical): Say you want to be a physicist for a living. Then say you find a reputable study showing that the average pre-physics-education IQ for a financially successful physicist is 140, with a standard deviation of 8. In this case, granted the information were accurate, would it be financially responsible for you to invest your education time and money into pursuing physics if your IQ were only 110?

IQ is based on statistics, which is based on probability, and probability is good for finding paths with a positive mathematical expectation. Furthermore, would you really want to work in a field where nearly everyone were substantially brighter than you? I doubt it would be good for one's emotional health.

Just for giggles, here is a (somewhat dated) chart of IQ to profession: http://www.iqcomparisonsite.com/occupations.aspx

Let's say instead that you want to enter the field of physics. With an IQ of 110, you might be able to excel as a lab manager, an analyst, a lecturer, or any number of prestigious careers other than "physicist," which, to be fair, isn't actually a job title anyway.

If you were to instead aim for a career as a programmer, which includes subfields like "CSS specialist" and "engineer who writes firmware for jet engines," you'd quickly find that there is room both for people of extraordinary as well as below average intelligence. Programming is not a genius-level activity, though some subsets of it are.

The chart you linked to shows that someone working in computer occupations will usually have an IQ between 90 and ~120, which seems pretty close to average.

I agree with most of what you've said here. A generic occupation such as "physicist" or "programmer" allows for a broad array of possibilities, many of which don't require more than ~100 in IQ. For example, making Excel spreadsheets to convert test grades into a final grade is quite easy, despite technically being "programming". A huge contrast is found when comparing that with writing a 3D or physics engine. The difference in IQ requirement could be 85 versus 125. My hypothetical scenario were better with a more specific occupation, having a higher requirement, but I didn't find any better data than that on the link I posted.

An important factor to consider with all this is the rate with which a particular person could learn or carry out such a job's activities. There is a reason why retarded people (IQ < 70) are called "slow", and that's because they learn at a much slower rate compared to persons of 100 IQ. If you tried hard enough, you could probably get a person of 70 IQ to remember some physics equations, but (a) it would take a really long time, (b) they would not truly comprehend the nature or derivations of the equations, and (c) they would probably be very poor at recognising when to apply a given equation, let along actually applying it. The point is, they would be completely unable to compete in the job market. And this phenomenon is by no means exclusive to "retards". There are many concepts for which a person of average intelligence would seem retarded at trying to understand, and this could probably apply to persons at any level of intelligence.

A final note is that job requirements, both in terms of education and intelligence, are always changing. Due to advances in technology, some jobs are far easier than they used to be, while others have become much more intellectually demanding. Programming, for example, is much easier than it used to be -- as a result of new IDEs, new programming languages, and more system resources. On the other hand, I imagine being an auto mechanic requires more brains now than in the past. Generally speaking, the easier the task or job is (intellectually), the more likely it is to be replaced by automation and or robotics.