
I didn't learn programming when I was 12 - kennyt
http://kennyletran.com/blog/
======
barrkel
_The people who began at a super early age started off having it as a hobby.
Whenever they were bored they could fall back on coding for fun. Which then
grew their interest in the subject (really important). But then comes middle
school. And after that high school. Where most of the time you worry about the
upcoming test or college admissions. For others, it will be that one girl or
that upcoming party. They didn’t completely shun programming out of their
life, but they didn’t have the time to nurture their knowledge either. Instead
they left it as a hobby (still important)._

That wasn't my experience. I learned to code at about 12, but it took over my
life. I don't think I talked to a single girl between the ages of 12 and 19,
never mind went to parties (didn't help that I went to an all-boys school). I
programmed so much I failed my final school exams and couldn't get into a
college course; I had to repeat the final year, and I still could only scrape
enough marks in subjects like English and French to study at a very humble
college, my 20th choice of a ranked list of 20 (this relates to how the
college admission system works in Ireland).

And then, I hardly learned anything in college. I knew more than most of my
lecturers. I did, however, party as much as I reasonably could in the first
two years. But I wouldn't have gotten a job working on the Delphi compiler
without my degree; I needed it to qualify for a visa, as Borland wanted their
hire to be on-site in CA. But as it turned out I was able to work remotely.

I guess what I'm getting at is that there are more important things than
programming at a young age, and getting really deep into it very early is not
necessarily a great thing. I certainly don't think it's a life experience to
be particularly jealous of.

~~~
evincarofautumn
I have had much the same experience. In a way, programming for its own sake is
a skill that’s worth it to have, but not worth it to learn. The up-front cost
is high, and you get very little payout until you’ve progressed from
journeyman to master. It’s very like writing in that regard, rewarding
perseverance—and, by extension, addiction.

------
glimcat
I started, well, pre-kindergarten. Or in my teens, for anything major and
self-guided. Or at about twenty for producing professional results. Or in my
late twenties, as someone who could do research-level algorithms work. Or
today.

If I stop using a language for a while, I have to relearn it. The term
language is very appropriate - learning and retaining a programming language
acts very much like learning and retaining a human language.

My take-homes about "when to learn programming" are:

* If you have kids, expose them to "Hello World" programming early. By which I mean, once they start reading. The cognitive benefits of multilingualism are greatest at early ages when neuroplasticity is high. There are numerous languages and projects which are suited to this. Lego robots should probably feature prominently once they're of an age to not eat the pieces.

* You're never too old to learn programming. The biggest jump in capability _by_ _far_ is between non-programmer and someone who has been at it seriously for a few weeks or months.

* At the same time, start learning programming as early as possible. Learning to be a great programmer takes a lifetime. But very little of that is learning syntax! Great programming takes marketing, art, math, psychology, and whatever else you can cram in. Pretty much any field of human endeavor has something to contribute. "What to program" is far harder to learn than "how to program" - and people who start learning programming later in life will have a lot more to draw on here than some 12 year-old.

------
steve8918
Starting to program at 18 is early. I took 2 programming courses in college (1
was a Pascal-clone, and the other was an assembly language course), but I
essentially taught myself how to program after graduating from college, and
have made an entire career out of it, and I'm more than double your age. Don't
worry about it, you have plenty of time.

~~~
AD1066
I'm glad to hear that. I'm entering my senior year of Economics and I didn't
discover that I enjoyed programming until I took an introductory C++ course
last semester. The other day I found myself worrying that I had already missed
out on my chance, since I can't currently afford any additional semesters.

I'd like to return to study computer science some day, and in the meantime I'm
just doing the best I can to learn on my own.

~~~
LargeWu
I also studied economics in college, but now program professionally, largely
due to my experience at at the Federal Reserve Board of Governors. If you are
still looking for work after college, and I assume you are, I recommend you
check out their Research Assistant program.

<http://federalreserve.gov/careers/ra.htm>

For me it was a great way to parlay my economics training into a programming
career, even though that wasn't what I was interested in at the time. It's
also a great career stepping stone if you're interested in graduate education
(not necessarily econ), government work, policy work, law, or myriad other
fields. If you want more info, let me know and we can talk offline.

~~~
AD1066
Thank you. I imagine such a position would be very competitive.

I'd definitely be interested in hearing more about your application process,
how prepared you felt you were based on coursework, and of course what the job
was actually like.

~~~
LargeWu
Sure, send me an email at douglasrohde at gmail, I can certainly answer those
questions.

------
petercooper
Bear in mind that even DHH (creator of Rails) didn't feel like he got anywhere
with learning to program until well into his 20s:
[http://37signals.com/svn/posts/2582-how-do-i-learn-to-
progra...](http://37signals.com/svn/posts/2582-how-do-i-learn-to-program/)

I know plenty of programmers who are far better than me and have been doing it
for a fifth of the time. It's a bit like art in that way. There's a lot you
can learn over time and become "wise" about, but in terms of raw output, time
isn't as relevant.

------
mechanical_fish
People are already telling you that eighteen is not too old to learn
programming. And they are correct. People start at forty and fifty.

I have a different point to make.

There will always be someone smarter than you. Someone who started younger,
learned faster, accomplished more. They're smarter than you are now, and
they'll probably always be smarter than you.

Just get used to that as quickly as possible and move on with your life.

Now, in fact it is easy to be the world-champion of something if you qualify
it enough. (I probably still hold the world record for building an efficient
triangular planar semiconductor ring laser, for example. Nobody cares. Least
of all me.) If you insist on occupying the top of some hill on this earth, you
can always find a way to build that hill. The easiest way is to build it in
your own mind. Don't laugh: People find genuine, lifetime happiness by doing
that.

And it is true that genius is ill-defined, and that if you define it by a
specific criterion, and then _win_ that criterion, many people still won't
accept that you're the biggest genius, because, hey, it's only chess. Or
Jeopardy. Or music. Or literature. Or astrophysics.

And it is probably true that, even if you could become the biggest genius in
history, no contest, you've won, you're the proverbial Einstein… you'd find it
to be a big letdown. You'd feel just as confused as ever. You'd just be
confused about harder problems. And meanwhile you'd find yourself _surrounded
by people who do not understand the most basic and obvious things_.

But, no, these weak forms of my argument will not make you strong enough. I
want to make you very strong, so I want you to visualize the person who is
better than you _in every way_ , and also twelve years old. And then I want
you to get used to the existence of this person. And get on with your life.

Because other people's genius is not a problem. (Indeed, it's often _really_
handy: Geniuses and prodigies can be good people to know. They do strange and
wonderful things. It is fun to be their fan. It can be _really_ fun to be on
their team. This is a big reason why I live near MIT.)

If someone else's genius _is_ a problem, it is probably not _your_ problem.

\---

When I was eighteen I was a fairly good math student. I enjoyed high-school
math competitions, like the AHSME. I did pretty well. One year, based on my
statewide ranking on the AHSME, I got invited to join a team of the top math
students from my state to compete against an all-state team from another
state.

This was one of the most valuable experiences of my life and I heartily
endorse it. Because here's what happened: I got my _ass_ handed to me. My
teammates were _freakishly smart_. It turns out that the distribution of math-
contest talent is not at all normal, and that being in the top 1% of contest-
takers doesn't mean that you're within hailing distance of the top 0.5%. Oh,
no.

As I remember it, one of the people on the trip wasn't an official member of
our team. He was too young to compete, but was tagging along for fun. I think
he might have been twelve. He was a better contest-problem mathematician at
twelve than I've ever been in my life, that's for sure.

So what happened? As I remember, I had fun at the competition. I spent the
time doing what amounted to janitorial work for the power-solvers at the head
of our team: Filling in obvious missing steps, sharpening pencils, whatever. I
don't remember. What I remember is that I got to hang around people who
_really_ liked math. And then I went home and kept on liking math, but stopped
worrying about whether or not I was going to be the second coming of Galois,
because I obviously was not.

I have found this attitude helpful, because if I were all hung up on the fact
that I'm older, slower, and stupider than many of the folks I hang around
with, my ego wouldn't last five minutes around here:

<http://news.ycombinator.com/item?id=35079>

(HN veterans will have figured out, ten paragraphs ago, that this whole essay
is basically an excuse to revisit that link from the old days. ;)

~~~
hmrmaxwell
"I want you to visualize the person who is better than you in every way, and
also twelve years old. And then I want you to get used to the existence of
this person. And get on with your life."

Better yet: smile and be hopeful because of the existence of such a person.

------
parbo
It's never to late to start. If you love it'll work out anyway.

I started "programming" at 10, didn't do anything useful until 16-17. I didn't
program for real until I was 25, and it wasn't until I was past 30 that I felt
like a proper programmer.

~~~
kinleyd
Amen. That's the story of my life too. Nibbled around and played around for a
long time, but not really getting into it. But boy, when I did get into it,
did I get into it! It's been a lot of fun since.

------
dinkumthinkum
Sure, but chillax. You have a long way to go. :) Maybe about 9 years and 10
months before you really get going!

<http://norvig.com/21-days.html>

Most of us old timers (> 21) probably didn't start programming because of
TechCrunch hype or even on Web development anyway. Too much emphasis occurs on
Web development (oh snap, I said it).

Keep at it but as unpopular opinion as it is, programming _is_ a long slog,
not just the product of fliiping out a few RoR projects or going through a
couple cool tutorials on Javascript with fancy interfaces (not saying this
applies to, just a general comment).

As for whether you wait too long, probably not, but you're only 2 months into
this deal, the jury is still out. :) Anyway, there's people in the Valley that
would probably say you are toward the end of your career, 25 being basically
providing two options, either become a well known, famous guru or straight to
the glue factory .

I don't really buy that, but that view is probably more common than mine.

------
random_rumbles
I'm 29 and only started programming a year ago.

What's "worse" is that my father is a computer scientist (who was involved in
the industry since the 70s) tried to teach me since I was 6 but I was not
interested.

My brother was interested and became a very distinguished developer in his own
right (working as a developer since he was 12).

The feeling of 'missing out' / 'starting too late' seems to be ageless. I have
experienced it many times through many years and it always prevented me from
pursuing my passions.

Some might find it funny that a 18 year old will feel that way but I remember
feeling the same thing.

By chance however, I stumbled into programming again but this time it caught
me. I was finally enticed enough by it's complexity, its interesting problems
to solve and the creative outlet it give me to overcome the debilitation of my
fears and 'regrets'.

What I found was that if you love doing something, if you enjoy the learning
and the rewards that come with it - you stop worrying about where you are in
the great scheme of things.

Perhaps it's my age finally telling me that time is not what's has past or how
much you still have left but how you are using it now. Use it to enrich
yourself and enjoy it as you see fit.

We are wired to compare ourselves with others. But these days we don't need to
be the best hunters to survive and flourish, to get the girl and live happily.
We just need to find what makes us happy and enjoy doing it. Doing that will
just naturally make us the best we can be.

IMHO

------
schme
I'm 22 and only just now going to university. I've had the same issues as the
author, about the non-encouraging environment, friends not interested etc. I
had the interest sure, but never -really- got into it. Dabbled through Python
books and tutorials here and there, tried different languages but never got
prolific in any of them. Rarely creating anything outside answers to
exercises. But I forgave myself (kinda, I always felt too old when reading
about those 12-year old wiz-kids, being 15 and all).

For a long time I considered myself ahead of the curve, for browsing sites
like HN, absorbing information from the internet. It was about a year ago I
finally realized it doesn't matter if I haven't actually done anything.
"Sponge learning" only gave breadth, but no deep knowledge was achieved. I
couldn't DO anything.

Nowadays I still think I'm behind my peers. Maybe not behind the average, but
it's never the average we strive for. I still feel inadequate and, most
likely, will never get rid of that feeling. I concentrate on doing what I can
with what I have, getting better and trying not to compare myself too much.

------
peter_l_downs
Age doesn't matter. I'm 18 and I started when I was 14 or 15, not when I was
12. The nice thing about programming is that most people in developed
countries already have most of what they need to start doing it: a computer,
an internet connection, and the desire to build something cool. I was drawn to
programming because I liked (still do, actually) to build cool things.

I started out trying to make robots but the mental and physical costs were too
high. My father works with furniture but even with his resources and expertise
building anything all that interesting took more skill than I cared to learn.
Programming let me do cool things within a couple of hours of starting out. I
still feel like I took the "easy" way out compared to a physical craft like
woodworking or electrical engineering, and I'd like to learn more about those
at some point. For now, programming will have to do.

EDIT: spacing.

------
genwin
I'd say programming is like architecture. Most architects don't start learning
their craft until age 20+. Yet those "late bloomers" still go on to do amazing
things. If it was as easy to learn architecture as programming, we'd probably
see blogs from people wondering if age 18 is too late to start doing
architecture.

~~~
Evbn
But most architecticts were artistic sketchers at a youndlge age. For
programming, something like math or logic or Latin would br analogous.

------
apeace
I am one of those guys who has been programming since he was 12 (I call it 11
actually). I'm now 23.

Before I went to college, I thought my programming skill was high enough to
get me a good job. I was just going for that piece of paper, the degree.

Two and a half years later I dropped out. I looked back on my 18-year-old self
and realized what a terrible programmer I had been. But now I was ready. Some
courses and a bunch of awesome internships had prepared me.

A year or so later, I got a job offer at an NYC startup. Looking back on my
pride-filled self at that time, I now realize what a terrible programmer I had
been.

I'm still at that startup, and it still kicks my ass from time to time. After
11 years of programming, it's still hard to believe there's a cap on
knowledge. There's definitely not a cap on experience

~~~
heretohelp
Started sometime between 8 and 12, depending on how you define it.

I'm 24 now and work at a startup, I had a similar experience to yours, except
I dropped out my first quarter of school.

I've changed a lot since 18, I can say that much.

I honestly believe that if you took someone totally naive to programming and
put them through an intensive CS + programming apprenticeship, they'd be a
better programmer than me in 1 or 2 years easily.

~~~
noss
It was quite interesting and humbling to see how my university class mates
could absorb so much of the mandatory C programming course in only 2 months.
Stuff that I had taught myself over the previous 5 years.

I think that the most valuable thing I have is that I'm enthusiastic about
programming. These guys could do what I do, but they wouldn't want to make a
career out of it.

------
elliottcarlson
As someone who did learn to program at the age of 12 (and is now 32) I don't
think it matters. Programming is not that hard to learn - it's another
language that is far more straightforward than trying to learn a spoken
language that might have genderizations, weird grammar rules and so forth. The
actual learning to program is not complicated.

What is complicated, is the analytical mindset that makes a good programmer. I
believe that the better programmers just have this mindset and it is what
makes them good at what they do. Coupled with a passion for the technology
they are using, this will make them better at what they are doing regardless
if they have 2 months behind them, or 20 years behind them - and also
regardless of the age they start at.

------
btilly
Programming is not a race with one winner. There are a ton of programmers
making 6 figures, and the distribution of possible incomes for someone who can
program and ... has no real upper bound.

You are very unlikely to be the second coming of John Carmack, but you can
still have a plenty good life. Welcome aboard, start your learning curve, and
keep it going.

There is only one big tip that I have. A level people like to hang out with A
level people while B level people like to hang out with C level people. The
difference? B level people want to be the smartest person around and stop
learning. A level people don't care about the label and want to be around
other smart people.

~~~
doktrin
I agree with this, however I do feel compelled to expand upon it.

A level types _really_ only like to hang around A level types. Being a B or C
player in a room full of high achievers can at times be downright (if not
outright) unpleasant.

If I had my druthers, I'd choose to be the _2nd_ dumbest person in a given
room. Being an order of magnitude or two behind the mean is more demotivating
than educational.

------
taliesinb
I was an early bloomer and I'm grateful for it. I've now been coding regularly
for more than half my life in a spectrum of different languages. And what I
think that gives one is a kind of muscle memory that makes it possible to do
thousands of small calculations about code with near-zero conscious effect.

But while having a lot of raw experience under your belt makes writing of
actual code much faster, I think the _real_ benefit is that it frees up your
working memory and problem-solving capacity for the more important problems of
software engineering: mitigating complexity, predicting long-range
interactions, and keeping the design supple.

------
ramses0
I want to contrast this with my experience learning guitar (classical guitar).

I started as an adult student, ~25, struggling to play Twinkle Twinkle Little
Star. I mean... _really_ struggling. I didn't have any musical education prior
to deciding to learn. Playing "Hot Cross Buns" on the recorder in 4th grade
was the extent of my experience.

And I went to my first recital, surrounded by midget 12 year olds who had been
playing for 5 years, and me sounding terrible.

And then I understood.

The race is with yourself, not with others. I'm as good as I am due to the
work I've put in, but not yet as good as I can be. And this applies equally on
all my endeavors (as well as it applies to those 12 year olds), it was just
most apparent when I first started studying music.

It's very humbling to be schooled by a 12 year old. It takes a lot of
restraint to take that extra step and be able to learn from them. Just last
week I had a guitar lesson from a 16 year old. Half my age, but with twice my
experience playing guitar. And I set aside my ego and I learned what I could,
and I've set aside my XBox and am putting in the time to practice what he's
suggesting for me to learn.

If you haven't tried learning an instrument it's a rewarding challenge and
there's a lot you can learn that you can apply to other areas of your life.

------
kator
I started programming 30 years ago when I was in high school.

... Wait for it... . SO WHAT!

Seriously, the thing I love the most about our choice of career is that if you
want to be good at it you will be learning for the rest of your life.

I wrote a system last year that processes 3.2 Billion queries a day at peaks
of 45k/second and all under 4ms response time. Very little of what I learned
in high school about z80 assembly language had much to do with this project.
Most of it was exposure to all the things I've worked with for 30 years and
some of it was stuff I learned six months ago.

The "learned six months ago" is the part to pay attention to. If you enjoy the
challenges placed in front of you and you enjoy learning this is one of the
best businesses you can be in. If you want to park yourself at a desk and do
minimal work and/or new learning then try a different field. There are plenty
of fields you can master quickly and not have to learn much for the next 20
years.

When you start is not as important as your passion and dedication. My father
and I were talking the other day and he told me how he was so impressed with
how smart I am (this coming from my dad who at 71 learned to write in Php
lol). I told him I'm actually pretty average, the difference is persistance. I
recently heard a claim that Albert Einstein said "It's not that I'm so smart,
it's just that I stay with problems longer.." I'm not sure if he said it or
not but it is exactly how I feel. It's not about what year you started to
program, it's about staying with problems longer and working them out and
learning along the way.

Enjoy the ride.. I know I have and it's just barely started.. ;-)

------
opaqe
I'm 17 and started teaching myself Python last year when they told me the
course at my school was cancelled since only 5 people enrolled. I was
incredibly disappointed. I wanted to learn programming because I love
computers (of course), but also because I had very few things I attempted to
master of my own volition. I felt that much of what I did was fragmented,
satisfying an external pressures to succeed in all my academic subjects,
nothing I could call a passion. It was a smack in the face when my school
wouldn't support my desire to connect with something meaningful.

Fortunately, I picked a hobby that really accommodates self-learning and did
as much coding as I could on top of school. Now I'm picking up web
programming, looking into using Django and building my own site. What
programming really brought to me was a new sense of mastery that originated
with personal interest and drive. I think this feeling is what the latter part
of the blog started to get at. It overrides any insecurity against geniuses or
whatever because you'll be too proud of putting in your own work and too proud
of your progress to worry.

------
Falling3
I'm really glad to see all the similar sentiments. I'm 26 now and I didn't
start programming until I was 18 as well. It took me another year or two to
change my to computer science.

I still feel a bit like I missed out in college because it seemed like
everyone else around me had been programming since they were 12 (or younger)
and things just moved at a faster pace than almost any other part of academia.

------
ruethewhirled
Like most things in life, It doesn't matter when you start, more that you
start at some point and spend time and effort in getting better.

------
icoder
I started early (like 8 or 10), but the velocity of my learning curve was very
low back then. That's the point I want to make (apart from the you-are-never-
too-late point others have made already): at 18, your learning skills are so
much better that you'll catch up quite well.

The above is the general case, I think, for learning to code. If you're good
at chess, sports, whatever, and you're lucky, you'll get help that works as an
'external learning curve velocity enhancer'. The same thing would account for
young programmers with proper guidance, but the matter of fact is: most of us
didn't have that (I even didn't have internet, I had to get books from the
library and cherished a floppy disk containing a plethora of technical game
programming articles).

I also see this in a different field I'm active in, as a volunteer at the
local life saving / swimming club. Those that start at 6 take like 8-10 years
to learn most of the material. Those that come in at 16 or 18 can catch up in
a year or two, whilst well motivated.

------
Andrex
This is a great inspiring article. However, I take issue with this bit:

"I’m 18 years old. I started to really buckle down and learn programming 2
months ago. I feel I missed a huge opportunity because I didn’t start learning
earlier in life. I was raised in a city that is far from all the start-up
hype. None of my peers are even remotely interested in web-developing. And
it’s not because I’ve been hanging with the wrong group either."

The presumption here is that the 12 year-olds who did learn web development
were either new a startup hub city, or had friends who were also interested.

Speaking in my case, that wasn't true. I started learning an actual
programming language at 13 with Visual Basic as a freshman in High School. In
Connecticut. But before that it was HTML and CSS. The barrier for actually
learning web development is incredibly low; just view:source.

My point is, there's nothing stopping any 12 year old from learning the
languages of the web; not time, not location, not friends. Only interest.

------
DigitalSea
I started when I was about 16; so not really that far ahead, only 2 years
before this guy did and I'd considering myself pretty knowledgeable in a lot
of things and in-fact have often come up with solutions some complex and some
simple to problems developers who have been programming longer than me failed
to solve in a shorter period of time.

Much like anything the longer you've been doing it, the better you get. When
you're a programmer it's possible to have been doing it for a long time but
fail to stay up-to-date on various techniques and languages that could save
time. I've seen many a developer considered to be way above senior struggle to
adapt, so I am a firm believer for some people the very fact you've been
programming for 20 years longer than someone else is irrelevant in this
changing landscape.

Give it a couple of years and you'll most likely know things more
knowledgeable developers don't know or vice-versa. Just keep at it.

------
kurrent
I programmed for many years, but didn't really "get it" - It wasn't until I
was 30 that I actually felt like a programmer.

~~~
lazydon
Yes. In early twenties programming was just a part of job. Never did/thought
anything about it after the office. But gradually it started feeling like that
you've a super power without being aware of it. I think a lot of it has to do
with the awareness of the 'community' - there are others like you feeling the
same ecstasies and going through same problems. You can see passion getting
transferred. SO and HN facilitated a lot in developing this sense in me.

------
ruswick
I'm 17 and started seriously only a year ago. Although I agree that starting
at 18 is not a death knell, I think it is a serious inhibitor to success. The
later you start programming, the more you postpone your career. I look around
at some people who are of the same age who have been programming for
significantly longer, and are making an order of magnitude more money. More
time programming means more experience which means better jobs earlier in your
career.

As for passion, sure, if you care about something, you can start at any age.
But no matter when you start, you have to work your way up through internships
and freelance work before you can create any semblance of a career. All of
this takes time, and the sooner you get it out of the way, the more time you
have to actually program for a living. Starting earlier gives you a
significantly better shot at becoming successful.

------
dkulchenko
It's never too late to start, especially today when the barrier to entry is so
low (austenallred mentioned Codecademy, I also recommend Treehouse:
<http://teamtreehouse.com/>). The important thing is that you're making the
effort, and I applaud you for it.

~~~
dinkumthinkum
I'm sure those are great resources. I just think those are kind of gimmicky
for the beginner. I don't think the real "barrier to entry" has changed much
in a long time. Sure, maybe the barrier to whip something out and possibly get
an entry level job where you know very little may or may not be a little lower
(but then we can get market saturation of that). I think studying the
traditional fundamentals is the best way to have strong last career. But I'm
crazy. :)

------
saiko-chriskun
You’re absolutely right, mate. In fact I am (was?) in a very similar
situation. I’ve been (relatively) in the tech world for quite some time, but
only really began going at programming about a year and a half ago.

Last week I landed my first real software development position, one of many I
was accepted for, all really awesome startups.

I also have friends who have been programming game engines for six years and
are working at Pop-Eyes. Confidence is the largest hurdle to overcome, in my
opinion. One day it just suddenly clicked for me, that I actually COULD do
this professionally instead of just working on hobby side projects.

As long as you have passion and confidence, you’ll be fine ^^.

Of course I realize there are still mountains of experience I need and so many
devs out there- just don't get stuck in that mentality. Use it to power your
thirst for more, and not waddle behind.

------
jmduke
I'm a current senior in college; I switched my major this time last year
(after an internship at an ad agency made me realize a few things about my
passions.)

I'm finishing up the last week of my dream internship at Big Tech, and the
swatches of people are incredible. I've met people who were literally
programming in middle school (and can't handle dealing with HashMaps) and
people who graduated with a PhD in linguistics with no formal CS education
(who are much, much, _much_ more talented programmers than I think I'll ever
be.)

I think I've learned most that programming is a meritocracy. If you try hard
-- and really throw yourself at the mercy of the command line -- you'll do
great. You are the only thing keeping you from your own success; it's
incredibly frightening, but also the best feeling in the world.

------
Derbasti
The theory goes that in order to get good at something (anything), you need to
put in about 10000 hours (5 years of full-time work).

I would venture to add that probably, age has some influence in that the age
edges (very young/old) are less effective towards that goal than your prime
work age, simply because when you're young, you likely lack guidance and
foundation/education and when you're old, you learn more slowly.

Still, 5 years is not all that much. 5 years can easily be done in university
and at your first job. Crucially, this is where a mentor can really make a
difference, which is usually unavailable earlier.

Hence, I agree that starting at 18 is not a problem. I myself did not start
earliear either. But you will have to put in your 10000 hours one way or
another.

~~~
ryanmolden
It is ~10,000 hours of concentrated practice[1] to gain a mastery of a field.
It is _not_ just 10,000 hours of doing something (over and over). That is the
rub, you can code for years and years and years and gain _nothing_ from it
unless you are constantly challenging yourself and trying to up your skill
level, surrounding yourself with people that can teach/challenge you and
always striving to get better (i.e. never telling yourself you are
awesome/great as it can seriously damper your drive to 'keep going' and cause
you to think you are 'already there').

[1]
[http://www.psy.fsu.edu/faculty/ericsson/ericsson.exp.perf.ht...](http://www.psy.fsu.edu/faculty/ericsson/ericsson.exp.perf.html)

~~~
Joeri
Very true, the only projects I've genuinely learned from were the ones that I
didn't have a clue how to solve at the beginning.

------
tagabek
I am also 18 and I am just starting now. I had to test drive a few different
languages until I found what I am really passionate about (developing iOS
apps). I am still in the VERY early stages but I know that with A LOT of hard
work, determination, and time I will succeed. Currently, I am pushing to get
my own Mac (will hopefully happen within the next few days actually). I have a
nice PC, but it doesn't suit my needs as an aspiring iOS developer, so I am
doing my best to trade my PC for a Mac.

Anyway, this article is exactly how I feel. I could have started much earlier
and I probably would have been much more advanced than I am now. The fact is,
I wasn't passionate back then, and now I am.

------
talloaktrees
I started learning when I was 30. It's now one year later. I don't feel its
too late at all.

------
sodafountan
I know how you feel, I started when I was fourteen and even I felt like I was
behind. It kind of sucks that so much attention is given to those people who
happened to discover programming at a younger age. They'll make some little
app using Lua or game maker or something and the <a
href="[http://www.appolicious.com/tech/articles/4829-young-game-
dev...](http://www.appolicious.com/tech/articles/4829-young-game-developer-
proves-the-potential-of-the-app-store>media) will be all over them.</a> It's
almost like developer's above the age of sixteen don't exist unless you invent
the next Facebook or Digg.

------
austenallred
It's good to know there are others out there (though I'm even later in the
game - I'm 22.)

I don't know what it was - I was always surrounded by the Internet and always
fascinated by the Internet, but I never breached that gap. I guess my
attention span was too short.

But honestly it's a lot easier to learn now. You don't have to go read tons of
stuff to get started, with the likes of Codecademy you can start programming
immediately and learn by doing with a little bit of structure. That's been all
the difference for me.

Best of luck to the OP.

------
snambi
18 is not late. You are about the right age to get started. Its great if you
have started earlier. Programming is about constant learning. Its not doing
something repetitive. Keep in mind, it takes about 10,000 hours of programming
to get proficient in it. At 8 hours a day it is 5 years of effort. But, in
reality it may take 10 years to reach the 10,000 hours of learning. Join a
startup or a good school, where you can meet awesome peers. With great peers
you learn faster.

------
SageChara
Great article and very much true! I did begin learning how to program when I
was 12, but after about six or seven attempts over the years, decided it
wasn't for me. I just couldn't stick with it.

Now as an eighteen year-old, programming is what I do for a living, and I love
it! Instead of working at restaurants for ten dollars an hour like my friends,
I make thirty-six an hour with just under a year of experience.

I love my job.

------
dizzy
in my experience people who go on about how they were programming in the womb
are usually lying and/or not very good at it.

------
lewisflude
I'm 19 and I started learning at 14 and even I feel like I wish I started
earlier. Even now, I'm not the best out there. My biggest problem is making
developer friends. Being self taught and living in London where everyone just
wants to party all the time is a little bit difficult for me.

~~~
March_Hare
London has plenty of events for developers, you just get out and find them.

------
iterationx
My unsolicited advice is focus on coding. I wasted my youth trying to
configure Linux drivers and wasting time on all sorts of configuration type
nonsense. Linux is better now, but I'm there's plenty of similar things to
waste time on and not actually code.

------
lexandstuff
Good luck on your journey, Mr Tran. Personally, I didn't start really learning
to program until a couple of years back; I'm 25 now. I've managed to
transition to a dev role within my company shortly after and I'm earning quite
a reasonable salary.

------
zobzu
18 isn't even late, not that the age at which you starts matters ;-)

programming is just a way of expressing a sort of creativity, nothing less,
nothing more. if you don't start piano, painting, whatever, at 12, you think
you're useless?

That's a pretty terrible mindset ;)

------
mtrn
I've started programming at 12. But rest assured; the moment of - _wow, this
is really cool, (why?) I've never seen this before_ seems to hunt me many
years after my initial contact.

------
suhastech
[http://www.youtube.com/watch?v=E1RqTP5Unr4&feature=playe...](http://www.youtube.com/watch?v=E1RqTP5Unr4&feature=player_embedded)

\- Richard Feynman

------
rjzzleep
i can summarize this as blablablabla. frankly i don't care.

i had people studying computer science in the university that had never seen a
computer from the inside. do i like it? no. does it matter? no.

i'll crosspost from another hackernews thread:

“Nothing is withheld from us what we have conceived to do.”

the real question is do we have to blog about everytime we decide to go the
toilet? well, i don't think. but people obviously disagree. hence the twitter
popularity

------
drobati
I didn't learn to program when I was 12. I learned to program when I was 8.

------
nirvana
I am one of those who started with building a computer from scratch when I was
12ish. By the time I was 18, I thought that I was way behind and needed to
learn marketing, business, finance, etc, if I wanted to do startups.

Here's the perspective at more than twice your age: Success isn't going to be
determined by when you started learning something, but by whether you learned
it once you realized you needed it.

There is no school in the country that is going to teach a course in your
business, because every business is different.

Success comes to those who work hard and improve and will teach themselves
whatever they need to learn.

If your interest in entrepreneurship means a string of 120 failed lemonade
stands, then you're already well ahead of nearly every biz school graduate in
the country.

If it has meant sitting on your butt wishing you were rich since you were 12,
then nothings going to happen until you change.

Learn programming- its valuable. More valuable is learning to teach yourself
what you need to do what you want to do.

That's the key to success.

------
override
Start by learning how to modify the default Wordpress theme for your blog.

~~~
kennyt
Will be on it, just wanted to post right out the gate of making the blog. I
guess you can say I'm training myself to not be embarrassed of looks for the
MVP if I ever have a startup.

~~~
Noxchi
Looks (user experience) are very important. Apple didn't get to twice the size
of Microsoft with shitty looks.

