Disclaimer: You are looking at a post I wrote some time ago. The information and opinions contained within may be outdated and may differ from my current views. Please proceed accordingly.

How I Became a Programmer

May 29, 2003 5:59 PM
Tags:

Last night, I was IM-ing with Taylor, and he asked me an interesting question: "How did you learn this stuff?"

So, here's my story in a nutshell:

I've always been "good at" math and science, and both have been casual interests from as early as I can remember. Trips to New York City's Museum of Natural History, particularly the dinosaur exhibits, were always fascinating.

I was exposed to computers at an early age, in the form of our family's Atari 2600. Our first personal computer was a Commodore 128. I didn't use that for much of anything, except playing games. I did have somewhat of an aptitude for achieving those goals, no mean feat for a nine-year-old (?) on a system where you started programs by typing LOAD "*", 8, 1 or LOAD "$", 8 instead of double-clicking an icon or choosing something from a menu.

In school, we had some rudimentary exposure to computers. My first program was in BASIC:
10 PRINT "JOE"
as was my second:
10 PRINT "JOE IS COOL!!!"
20 GOTO 10

I didn't pursue it much further, though.

Instead, I toyed extensively with a language/program called LOGO, the preferred teaching language of my elementary school. LOGO had lots of visual, graphical feeback (in fact, that was its primary use: drawing colorful pictures). I took to it and, along with my partner Josh Cook (whatever happened to that guy?), we created a triumphant final project. Our program drew boxy pictures of all four Teenage Mutant Ninja Turtles' heads and played a tinny version of their theme song. Unfortunately, Teaneck had invested in PC Jrs. with a serious lack of memory — half of what Josh's box had. Ultimately, we cut down on the song and got it to run in the 128k of RAM.

From 5th grade until college, I didn't do any more programming. I had nothing against it — I was just interested in other, equally nerdy, endeavors. My computer use was mainly confined to playing better and better video games and doing book reports in MS Word.

When I started college, I barely knew anything about computers. I bought a copy of The Complete Idiot's Guide to Computers and took a class called "Computer Literacy".

Little did I know that I was right on the threshold of something big (I'll leave it at that, instead of some trite hyperbole) for computers — widespread use of the internet.

When I got to college, I'd been exposed to the internet twice before. A few times, I'd played text-only games on my stepfather's CompuServe account. And, at my friend Max's house, I'd posted a few obnoxious messages on NBA discussion groups.

As part of orientation, we were given email addresses. To use it, we had to enter an obscure command-line enviroment and use a program called pine. Outside of pine, I spent some time tooling around on what I later discovered was HP/UX Unix. I'd make ASCII art in my .plan file and finger other people's accounts to see theirs. But that wasn't really programming, as much as it was fooling around.

Email was nice, but not earth-shattering. In fall of 1994, the first public version of Netscape came out and I browsed the web for the first time. I was hooked.

Besides the usual allures (i.e. free porn), the web offered the most underrated feature in the history of the web: the View > Source menu option.

At the time, there was no Google, Yahoo! was a hard-to-remember URL (I've forgotten everything but the "stanford.edu" in the middle), and I needed a convenient way to keep track of the sites I'd found. Bookmarks were OK, but effectively gone the next time I went to the computer lab. I decided to make my own, rudimentary site for that purpose.

I found HTML relatively simple and straightforward for my needs (i.e. make a list of unformatted text links). Best of all, I didn't have to start from scratch. Thanks to View > Source, I could see the code behind other people's websites and use that as a starting point. I'd change one thing at a time and see what the effect was. When I wondered how someone got their text to appear red, the answer was a mouse click away.

Over the next few years, I built several incomplete homepages (always the same theme: "Here are sites I like to visit.") and did a *lot* of web surfing. But no programming.

After I graduated, I worked for a nine months at an advertising agency, doing Public Relations. It sucked. However, in the same company, there was a New Media division. In other words, they made websites. I knew I would enjoy that more and, because the sites were just static images and text, I felt I was capable of doing the work. I asked for a transfer to that division and got it.

For the next three months, I honed my HTML skills and then put my meager resume on the web when my boss offered me a new salary of $25k. Fortunately, in the late 90's, there was a huge window of opportunity. If you knew any HTML and were reasonably smart, someone was willing to give you a shot. Someone did, and a week later, I began working at Vir2L, the web design division of a 100-person startup.

At the time I didn't know shit. I was totally intimidated and thought about quitting. Little did I know, but the people that hired me hadn't overestimated my knowledge; they hired me with the implicit expectation that I'd learn the stuff hands-on.

The fact that there were no experienced programmers in my division and the fact they had no coherent tech vision, made it harder but I learned more.

Through a combination of reading books and pestering more experienced coworkers in the R&D division. I tought myself JS, DHTML and CSS on an expert level. I also did a project in ColdFusion/MS SQL, one in PHP/MySQL, one in ASP and a flat text file and a little bit of JSP.

After a year, I was that much more confident and found a new job at my current company, where I've been since October 2000. Of course, my learning hasn't stopped there (in some senses, it's gotten faster) — but our story does. I'm always getting better and better at this but I'd be comfortable saying that, at that point, I was a real programmer.


Comments: How I Became a Programmer

Great read Joe :) you just forgot the part about how webdesign got you rich. Thats like the one thing that keeps me holding onto my finance major, but I suppose you are supposed to pick something that makes you happy, otherwise everyone would be a lawyer hehe

Posted by: Taylor on May 29, 2003 11:31 PM | permalink

It actually was a well told story. Though I knew the facts, the story wasn't what I expected.

Who is Taylor?

Posted by: Daniel Grossberg on May 30, 2003 1:51 AM | permalink

Taylor: Not rich, but making more money than if I'd have stayed with journalism or public relations.

Dan: If you knew the facts, why wasn't the story what you expected? Taylor is the guy who's put together the main site for those blog buttons you see in my "tchotchkes" section at right.

Posted by: Joe Grossberg on May 30, 2003 9:19 AM | permalink

Joe, stories aren't told the same way as news. The nuances, emphases, etc., are what make stories great, not the facts themselves.

For example, I was not aware the influence that our Commodore 128 had on you, nor that you felt you didn't know shit about programming until afte vr2l.

One factual area I was oblivious to was that while in college, you would view sources on webpages. I figured you didn't even use the computer much except for papers and email (perhaps web browsing, but not seeking a deeper understanding of html).

Most surprising is how much you were affected by the trips to The American Museum of Natural history. Clearly, this is the case with me as well. (And, computer have influenced me, but I cannot foresee a career in that field - not that you did either).

BTW, those Tchotchkes are pretty cool.

Posted by: Daniel Grossberg on May 31, 2003 1:59 PM | permalink

Great read! Here's my story of how I became a programmer:

http://onlineaspect.com/2007/06/17/the-story-of-how-i-became-a-programmer/

Posted by: Josh Fraser on July 1, 2007 6:45 AM | permalink

No more comments! Either someone has violated Godwin's Law, I'm tired of the discussion or, most likely, the ten-week window has closed. You can, however, contact me through email.