Live data from Hacker News

Ask HN: How can I tell if I have programming aptitude?

news.ycombinator.com

91–100 of 102 posts

Re: Ask HN: How can I tell if I have programming aptitude?

#91
post #86
post #79

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? Co…

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'.

Re: Ask HN: How can I tell if I have programming aptitude?

#92
There are a lot of sites out there that offer programming challenges you can try, but actually developing software and programming are two different things. If you can do all of what you said, then it doesn't matter how well you can solve a programming puzzle. You've got what it takes and what you need is time developing real software and mentors to help you grow.

Re: Ask HN: How can I tell if I have programming aptitude?

#93

Earlier quoted context omitted.

You're looking at this the wrong way. It doesn't work this way for any profession. Do you think that doctors are created by taking a sick person, sticking them in front of an untrained 'doctor-want-to-be', and seeing if they somehow miraculously manage to correctly diagnose and treat an ailment they've never heard of? No. They train. They study symptoms, and causes, and treatments. They learn about how symptom X is c…

That makes sense. I do want to make sure I'm not just memorizing strategies though. I want to be able to figure things out independently, with my own logical thought. I'll continue learning. Getting problems right and watching those tests light up green on Codingbat is a very nice feeling. I do get genuinely upset and frustrated when I can't figure out a problem, though. I'm not sure whether that means I hate coding…

Memorizing can take you pretty far. Mastering and extending a body of knowledge doesn't have to come from independently postulating a few principles and working things out from there (though that can be very fun and satisfying). Focus first on imitation, memorization, then figure out how to apply it. After you can apply it, figure out how to adapt it in certain circumstances. You might even evolve and extend the knowledge, especially as you integrate other things.

One hack I'd suggest for fulfilling the craving of doing things "from scratch" when you're frustrated at a particular problem is to go back to one you already solved, but pick some class or method or set of methods of Java's library you used and make your own version. New problem! Data structures can be the most common. Used a java.util.Stack object? Write your own Stack class. Instead of `int Integer.parseInt(String);`, write your own. Try a hash map when you're a little more experienced. Pretty much everyone with the hunger writes their own string class eventually (usually in C++). Or try to solve the whole problem again in a language that gives you less, like C. It's good practice for college and tech interviews too. Too boring? Waste of time? Good, you'll appreciate it's there next time so that you don't have to keep reinventing the wheel and can just use it as you go about inventing some new thing made of wheels. The only danger is if your appetite is totally consumed, you'll swing the other way always searching and waiting for the right set of already-built dependencies you just have to glue together, and even then you could just hope for a framework that does that, your tolerance for exerting any programming effort for 'boring' stuff will go away, and everything will be 'boring'. That's not a great state to be in if you have aspirations of building rather than simply using.

Re: Ask HN: How can I tell if I have programming aptitude?

#94

Earlier quoted context omitted.

You're looking at this the wrong way. It doesn't work this way for any profession. Do you think that doctors are created by taking a sick person, sticking them in front of an untrained 'doctor-want-to-be', and seeing if they somehow miraculously manage to correctly diagnose and treat an ailment they've never heard of? No. They train. They study symptoms, and causes, and treatments. They learn about how symptom X is c…

That makes sense. I do want to make sure I'm not just memorizing strategies though. I want to be able to figure things out independently, with my own logical thought. I'll continue learning. Getting problems right and watching those tests light up green on Codingbat is a very nice feeling. I do get genuinely upset and frustrated when I can't figure out a problem, though. I'm not sure whether that means I hate coding…

Codingbat looks cool, hadn't heard of it before. You might also try Project Euler, another programming/math-problem solving site where "the problems range in difficulty and for many the experience is inductive chain learning. That is, by solving one problem it will expose you to a new concept that allows you to undertake a previously inaccessible problem. So the determined participant will slowly but surely work his/her way through every problem."

https://projecteuler.net/

Re: Ask HN: How can I tell if I have programming aptitude?

#95
post #91
post #86

Earlier quoted context omitted.

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…

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.

Re: Ask HN: How can I tell if I have programming aptitude?

#96
Something to look for: what gives you that feeling of total bliss?

I know I am a good programmer because when I finally solve the problem it feels good! My brain just releases all these bliss feelings and I go "oh my God, I nailed it!"

That feeling only comes once every several hundred hours of programming. I am routinely faced with technical problems to solve that are completely overwhelming, and that means I have to slog through confusion for weeks on end. If I didn't have that desire to get to the end goal I would probably give up.

I think you should look for what has given you that feeling in the past. If it's building something that works, lining up all the numbers (to 5 decimal places), or cracking a tough problem programming might be very fulfilling to you.

Re: Ask HN: How can I tell if I have programming aptitude?

#97

Do you enjoy programming? If so, you will be good at programming. If not, you most likely won't.

Yes, you must definitely enjoy it. When it becomes a chore or you don't look forward to working on something you're probably not one with "programming aptitude". That said, I have met people that could pick it up quickly and then stopped because it wasn't their thing.

Re: Ask HN: How can I tell if I have programming aptitude?

#98

Something to look for: what gives you that feeling of total bliss? I know I am a good programmer because when I finally solve the problem it feels good! My brain just releases all these bliss feelings and I go "oh my God, I nailed it!" That feeling only comes once every several hundred hours of programming. I am routinely faced with technical problems to solve that are completely overwhelming, and that means I have t…

Exactly this. Whenever an interview asks about why I choose this career, I jump straight to talking about that feeling of success when something works after working at it for hours, days, etc.

Re: Ask HN: How can I tell if I have programming aptitude?

#99
post #86
post #79

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? Co…

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.

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

Re: Ask HN: How can I tell if I have programming aptitude?

#100
post #86

Earlier quoted context omitted.

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.

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 yo…

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.

Post reply on HN