Hacker News new | ask | show | jobs
by prophetjohn 5096 days ago
This is kind of inspiring. As someone who wrote their first line of code at 25 and won't be able to shed the "intern" title until I graduate at almost 28, it's really easy to feel like I screwed myself over by not being where I am now 5+ years ago. Especially so in an industry where the younger you are the better and there are stories of people in their 40s having a problem finding work.

The real kicker is that I actually consider myself a pretty good programmer, at least for my experience level. As stated, I've been programming for about 2 years and I'm the primary contributor on a project that is deemed to be the "number one priority" for our application. But how good of a programmer would I have been had my parents bought me a computer when I was a kid? Or even when I was a teenager? I didn't even really know I liked computers until I was around 21 and even if I knew what the hell programming was then, I definitely wouldn't have been able to afford college.

So I guess there's still a decent likelihood that I'll need to be transitioning out of programming less than 15 years into my career, but hopefully there's still plenty of other opportunities for me to do great things for the next 20 or so years after that.

3 comments

To be honest, I wouldn't worry too much. Everyone is like "I was programming since I was 10!" Nobody ever asks what they were programming at 10, most people wrote relatively simple stuff until they grew up and got a professional job.

Now to wait for replies from people who designed OSes when they were 12 :)

When I was ~12 I wrote a 4000+ line monstrosity in Pascal. I had to learn about functions/procedures because the GOTO wouldn't jump far enough anymore.

I called it an OS, even though it was just a text-based visual shell running in DOS that let you do pretty much anything. Actually used it as my primary "OS" for a few months.

Another cool thing was a game I wrote in BGI graphics with Pascal. Was fun to play, but I didn't know about arrays so there were roughly 200 global variables.

Oh and all the code I wrote before I was ~15 tried to use as short variable/function names as possible for some reason. When I used up the alphabet I'd go to aa, ab ... I want to slap my young self for that.

PS: I started programming when I was 9, in Logo. That was fun too. But the real fun started when I "unlocked" Pascal at 11.

I've been programming since I was 12. I would say the only advantage it gave me was an unshakeable faith in my ability to figure things out - it really built up my problem-solving skills and gave me an attitude of "I'm going to figure this out somehow, even if I have to stay up all night" that I've noticed is missing in many new developers.

However, the idea that people who start this early have a 10 year head start on someone who starts at 22 is silly. Maybe for child prodigies this is true, but I was neither driven nor intelligent enough then to learn at the rate I do now. I distinctly remember being incredibly confused by the syntax of for loops, and being unable to solve trivial C++ compiler errors because I had no idea how to approach debugging them or where to find more information. I also had a casual hobbyist approach, where if something wasn't working, I would just give up and go play outside with my friends. Even with all the resources we have today, I don't think I had the mental faculty back then to design an OS. :)

Also, learning programming now is an order of magnitude more effective nowadays, with all the free online resources, new languages and frameworks, and public interest in the subject. Back in 2000, Arduino didn't exist, there were no decent web frameworks or JS libraries, and I remember sadly giving up on trying to build a robot because the only books I could find on the subject were university textbooks that required proprietary tech provided by the prof.

Your story rings true for me. I dabbled in programming in my teens, but like you I was a hobbyist at best. When things got tough I would just give up. Programming seemed really hard and I just couldn't figure out how people who did it knew all the stuff they did (this was the mid 90's and there was no stackOverflow if things went wrong).

I didn't really start taking it seriously until I was in my mid twenties by which time the quality and quantity of free educational material, languages and tools for programmers had exploded. Learning how to program has never been easier. It's really a great time to be in this field, beginner or otherwise.

I started when I was 8 using QBASIC. When I was around 11 I discovered Java, and from there C.

My first programs were text-based games written in QBASIC. I also wrote a program to help me with my math homework. Later on, one of the Java books had a 3D game engine so I dabbled in that.

After I discovered C from a Windows programming book (age 11-12) I quickly started experimenting with various lower-level things. I wrote a DOS-based 3d engine. I studied printouts of the Allegro source code. I used DJGPP (remember that?!). And I played around with BIOS interrupts, and real mode extenders, etc.

It was around this time (when I was 12, in 2000) that I was introduced to Linux (Red Hat), and I also got a printout of a shell/OS written by some guy in Obj-C, which had assembly code and stuff to do with context switching and registers. That lead me down the path of making my own OS. My first attempt was via a ASCII-HEX to binary conversion program. I wrote a HEX file that switched to mode 13h and filled the screen with blue, copied it to the boot sector of a floppy, and booted from it, and it worked. I was hooked.

My teen years were spent working on different versions of that OS, and also doing 3d graphics stuff.

A 12 year old found a vulnerability in Firefox.

http://www.zdnet.com/blog/security/12-year-old-finds-critica...

I managed to build a game in BASIC when I was 10. ..and that's about it (other than BBSing and running up the phone bill.)
>" I screwed myself over by not being where I am now 5+ years ago."

I think it's natural to think that way.

But how you need to look at it is: You didn't really miss anything. There are a whole bunch of new things you can get ahead on, right now. In 5 years you can be doing something that other people will look at and think, "I should have started on that 5 years ago".

There is no one good moment in life to get started. It's always now.

Civilian pilots log plenty of flight time, but their flying experience is nothing compared to fighter pilots'. Time is not a substitute for quality.

My code has significantly improved compared to what I wrote a decade ago (or even a few months for that matter), but it's due to better resources (GitHub, etc), and exposure to better programming practices (SCM, TDD, CI, etc).

Computer science and software engineering is a relatively young field, and there is still plenty of room for improvement.