Hacker News new | ask | show | jobs
by billyjobob 4706 days ago
All the good coders I've ever met had already taught themselves to code before the age of 10. (Most of them were so passionate about it they went on to do computer science degrees which polished their raw skills and taught them rigor.) The question isn't how to learn to code: if you have the innate ability you can't STOP yourself from coding the first time you encounter a computer. I'm all for people learning new skills later in life, but to force yourself to learn something you have no passion for just because you want to 'do a startup' is ridiculous.
6 comments

I don't buy this. To be peerless in this profession probably this description makes sense. But I know a lot of physicists that came to programming because of the paucity of jobs for BS Physics, and they were, at the worst, very competent, up to extremely good. I know plenty of others for whom programming is a means to an end - they want to make robots, gather data to answer social questions, or what have you, and the programming is a means to an end.

With that said I did find myself wondering whether the author is a programmer, or slings code around. If you have the right kind of mind its not so hard to figure out how to tell the computer to do something, especially with a powerful SW stack; it's another thing entirely to deliver, say, 300K lines of code that is readable, robust, maintainable, extensible, and somewhat future proof, or to make the stack itself from the ground up. Of course, many of the "I've been programming since the age of 10" can't do that either.

And, with that said (:)), I probably share your suspicion of wanting to 'do a start up'; it's hard to throw a stick here (SV) without hitting somebody yacking about a start up. Problem is, 'start up' is so often the idea. It's rarer to hear "I want to build a device to help the blind, I reviewed my options, and VC money turned out to be the best choice for me because..." (VC money is often a terrible option, it depends on your business situation).

But I am straying off the subject, which is the blog said to learn to do something, dive in and actually try to accomplish something. I am wholeheartedly behind that. I'm trying to learn a topic for work, and am reviewing some Coursera courses. And, not getting far - I need to immediately try to apply the ideas to a real problem to get traction, I think. I think I will succeed just fine, despite not having tried to do this particular thing (Machine Learning/AI) since the age of 10.

Indeed; coding is akin to music, art, etc. in that it's not so much you learn to do it, but it's just what you do as a result of you being you. Sure, learning is necessary to grasp the tools and make them do what you want, but once you have enough tools to get started (editor/compiler, guitar, paint & brush) you just run with it. At age 10 Dad brought home a terminal and had me type in a 3-line program; ran it once, and immediately wanted to change it, already grokking loops and output formatting. Programming as "work" isn't so much a means to an end as someone funding my needs so I can do what I can't stop myself from doing: code.

I half expected the article to consider the sheer scale of the programming stack: today, the conceptual layers from NAND gates & machine code to graphical resource editors are so numerous and complex that I can scarcely comprehend how any student of programming starting out these days any later than grade school can absorb the material in any sensible timeframe.

> Indeed; coding is akin to music, art, etc. in that it's not so much you learn to do it, but it's just what you do as a result of you being you.

That's pretty easy to say for someone who's dad seems to have had the same interest. I was brought up by a mom that can't tell a bass guitar from a guitar and a dad who doesn't really have an interest in music other than a music 'collection' of 8 CD's from the sixties and who probably does not have a sense of rhythm. Thankfully I had some peers who played music and parents that bought me my first instrument, but actually practicing and getting good at an instrument is (to me) a very tedious and deliberate form of practice that can take a very long amount of time if you happen to be mainly interested in a type of music that happens to be challenging to play - like what I was interested in. Practicing programming for four hours is more fun and less draining than properly practicing an instrument for one hour, for me. To keep it short; low self-esteem, and especially a lack of social self-esteem, and lack of discipline when it comes to practice; if my so-called "passion" for music wasn't able to help me battle through those things, I guess it wasn't much of an interest or passion to begin with, eh...

I'm not a half-bad coder, and I didn't start until I was 15. I don't necessarily think there's an age limit (and it's definitely not 10!) but, as you say, there is a certain, innate wiring that seems to be required. You need to be the kind of person who likes to understand what makes things work. If you've got that, the rest will come with practice.
Ridiculous just like doing anything else you don't have a passion for is ridiculous? Like paying bills? Accounting?

He wanted to start a company. That implied, in his case, learning to code.

Just like finishing my degree implied long days working to pay it (wasn't very passionate about cleaning barracks I can tell you ;-)

(Btw, I'm one of those who started coding at age 12 by picking up the c64 manual.)

Coding is not in the same category of skills as other "things you must learn to start a business". It's a hundred times harder. I don't think, as a person who started coding at 12, that you have the perspective to appreciate that. It's a long, tortuous, winding road to building something reliable with code.

I started coding at an early age too, I didn't understand just how hard it was until I started rubbing elbows with a lot of business types and trying to show them technical stuff. The knowledge gap is so wide and gaping that yes, you need a long time immersed in technology before you can understand it enough to build with it. If you're really bright, motivated and lucky, you might manage something in 6mo to a year. And those months will be the hardest of your life.

Young minds certainly have more plasticity, and I agree that people with the requisite level of interest tend to discover programming young.

But I think there's another factor that's at least as important: time. A ten year old has a much bigger time budget for learning programming than a thirty year old.

And it takes a vast amount of time to truly master it.

I never guessed what programming was like before I started my introductory university course on it. All those years of using computers had never really given me an inkling to try it, but when I did, I really liked it (it was also very frustrating at times).

I guess I'll never be a good, passionate programmer, but it's the only thing that I seem to like that also brings with it a paycheck.

EDIT: I have spoken one language since I was three, two languages since I guess I was 14, but it wasn't until I started learning a third language that I realized that human languages in themselves are pretty interesting, with all their different grammatical constructions and peculiar ways of expressing semantics.