Ask HN: When did you realize your passion for programming?
I'm wondering because it seems to have a considerable barrier to entry, at least compared to other less intellectually rigorous fields.
So what was the turning point that made you realize that you had a passion for the hacker lifestyle? Or was there no distinct point in time, just a gradual increase of interest?
30 comments
[ 3.0 ms ] story [ 75.3 ms ] threadTrying to recreate SimCity was the perfect thing for a 13 year old to do because it really gets your brain around modeling complex systems -- and sets the stage for OOP -- even when you fail miserably. :-)
Later my interest was rekindled in college when I tried to create a neural network in Java from scratch. Again -- failing miserably and enjoying every second of it.
The next year, I switched to a much larger school and was enrolled in Gifted class - where they had a Mac with HYPERCARD.
The whole Mac + HyperCard experience was mind blowing. Technology went from something of limited use that I was afraid of, to this amazing thing you create with (back then, even changing the desktop icons was a creative art).
The Gifted teacher let me take the 500-page HyperCard manual home and that's pretty much where I lived for the next few months. A few times a week she would come get me from normal class where I would then, after sludging through her regular assignments, get 10-15 minutes to type out my experiments and ideas.
Til this day, I'm still just that little kid pounding on a keyboard. :D
It also saved a lot of money in parts, and when you're on pocket money and in to electronics a computer is actually cheaper in the long run (even if the up-front was substantial for me at the time, from my news paper route).
I'd been primed by some brief previous experience programming in one year of highschool and when I was a kid with a ZX Spectrum. Not sure why I didn't get 'the bug' earlier. Probably lack of extrinsic motivation.
Few months into high school, I started getting requests for contract work on RentACoder, a site launched by code sharing site planet-source-code(where I had a lot of submissions). I still loved programming. But overtime, I became a lot more conscious of the $ amount and optimizing for making a business versus learning programming.
Nothing bad, but my passion just diverged significantly. I went from being the guy who told his first dozen clients he didn't care for the money and probably worked at a dollar an hour for many of the initial contract projects...to a guy who was hiring full-time dudes offshore so I could maximize rev.
Yes, I realize how utterly backwards that is.
I got more interested in my early twenties, a friend of mine was a programmer and the computers an individual could afford became more powerful. (I was never very interested in Commodore 64 and its ilk, they seemed too constrained to be useful.)
I started programming in my late twenties, when I attended university and got a CS degree.
I'm not still not entirely sure that I have a passion for the hacker lifestyle. My view today is the same as when I was a teen - computers and programming can be very useful tools, but I find tools interesting only to the extent that they can help me solve an interesting problem.
But as I got better at reversing, I needed more sophisticated tools, and I needed to write them myself.
I usually did my cracking on request, cobbled up something quickly before class or early in the evening, and took floppies of keygens and patches with me to school in the morning. I wasn't exactly a jock, but I was cool; had gelled hair, baggy jeans, a walkman, wore sunglasses in class, etc. Pretty much riding on Neo's coat-tails, thanks to the then new movie, The Matrix.
But I distinctly remember one winter when I didn't give a shit anymore. I was developing my own x86 disassembler and had hand-written opcode tables on my wall. I remember waking up later and later for school, not bothering to dress, avoiding friends, and refusing to take crack requests.
I pretty quickly out-grew all my familiar tools and techniques. The official Microsoft and Intel documentation wasn't cutting it. I was fedup with crap "popular opinion" in the assembly-programming fora. I realized all the crackers and black-hats were mostly full of shit and didn't know what they were talking about. I "felt" my tools were primitive, and there was more to life than mastering the quirks of crappy compilers and assemblers from MS or Borland. I had just watched my treasured knowledge of MS DOS go obsolete, none of the old tricks worked.
So I bought myself a bootleg, Xerox copy of the Dragon Book. Soon after, Tanenbaum's OSD&I.
Boy met theory, and boy had to grow up fast.
I realized I loved programming when I no longer did anything else :-P
When I got to college, I wanted to be a Electrical Engineer, just like my neighbor, but I didn't do well my first semester. I switched to computer science because it was easier. 3 years later I was porting VAX Fortran to a Cray YMP and couldn't believe that people were paying me to do it. I would have happily done it for nothing, just for the chance to run code on a Cray.
But then in college I stopped programming for whatever reason. I guess I didn't think it would make a good 'career'. This was a huge mistake. I got a lot of advice near the end of my education to get a job that I was passionate about, where what I would be doing was something that I would do if left alone.
I looked back at my life and one of the biggest things I enjoyed doing was programming those little applications in high school. All of that programming was entirely on my own and it was one of my favorite things in school.
So, about 3 months ago, I decided to get back into programming and have been working a few really fun projects, including an API for the Stanford Parser http://nlp.naturalparsing.com
Lessons learned:
1) go after what you are passionate about (obvious)
2) its not always too late to pursue your passion and learn new things (not always obvious)
Anybody who started late, and still like it?
There was a business machines store with a Commodore PET in the window, and a Radio Shack with a TRS-80 Model 1 on display. I was allowed to sit and program on them in return for answering any questions the customers asked of me.