Tuesday, July 17, 2007

When I grow up

My apologies if I've written on this before. It's getting harder and harder to remember the approximately 1,750 things I've written on so far.

When I was young, I wanted to be a lot of things when I grew up.

I wanted to be a writer. I used to love writing fanciful, imaginative stories. Many of them made fairly little sense, having been based at least loosely on some insane dream I'd had. But I loved writing them. I loved playing around with the English language, and I loved telling the story. I even wrote and directed plays that were performed for the other students at my elementary school on at least one or two occasions. This was one of my first choices of potential professions, and it didn't really make its way past elementary school if I recall. This blog is about as close as I get nowadays. Writing here, and business communications, and documents, and writing for my other websites seems to satiate my desire to play around with words. I've come to enjoy the informal writing style of nonfiction articles and humor books, and for the most part lost interest in the style of most fiction. That, and I truly believe that in most cases film is a far superior method of storytelling than the mere written word—an unpopular opinion.

I wanted to be an artist. I'd draw and doodle and paint and everything else. I think I realized in late elementary school or middle school, though, that I didn't want that to be my source of income. Nowadays, I don't draw or doodle too much. I've grown to vastly prefer graphic design in general, as well as photography. I didn't ever really think of graphic design as an interest until the end of high school and the beginning of college, but the hints were there—I'd enjoyed design for quite some time. I drew maps and diagrams in my childhood, carefully choosing colors and layouts, and imitated designs of things I enjoyed. I made letterheads and cover sheets for my assignments, and in high school I started playing around with web design, which is a pretty fertile playground for anyone with an interest in general design.

I wanted to be a doctor, so I could help people. I also wanted to make games, because games are fun. Like any kid, I had a lot of short-lived desires to become an X when I grew up, but most of them weren't grounded in any real interests or understanding or talents, so I gave up on them.

I wanted to be an "electronics expert." I didn't really know what that meant, but I knew I wanted to do something with electronic machines—I've always loves machines and gadgets. Even as a child I always seemed to be the one who knew how things like the VCR worked, starting me on the long, dark path of which the technically-inclined are quite familiar: tech support. This eventually led me on the path to computers.

I believe I was still in kindergarten (no later than early first grade) when the family got our first computer, and it was then that I started programming. It was all silly stuff back then, of course; I had a fascination with cash registers at that time, so I made a lot of cash register programs. There would be codes for everything you could buy, and you'd type codes and quantities, and it would print out totals, taxes, and receipts. It was all very exciting for a nerdy five-year-old who was only allowed to "play computer" for one hour a day. (The one-hour-a-day restriction lasted throughout elementary school; around middle school I got to two hours, and by the time the middle of high school came around, my parents largely knew I was a good kid and eliminated most of the rules that applied to me.)

This interest was my first and only one that never faltered or changed—I've been developing software for twenty years now, at least in some fashion, and I've always loved it. In elementary school I saw programming as a very likely career choice... I had other artistic interests, and I knew I'd never be able to escape writing and art, but by the time I left elementary school I just knew I'd be doing something with computers. A few years later I grew to understand how computers allowed me to combine almost all of my interests into a single activity: art, writing, math, and that sense of engineering joy you get when you build things. I also started to understand that writing programs could be used to help people, just in a different way from how, say, a doctor helps people. All that was very appealing.

I knew exactly the major I wanted long before I started college, and nothing else was going to get in my way. I was not one of those guys who changes his major twice a year trying to find something that he loves; I'd known for ages by that point.

And now here I am. I write software just about every day of my life, and I'm happy with it. I still get to write and make art when it suits me, and I still enjoy how software design has subtle artistic aspects built right in.

A couple months after getting that first family computer, I started programming because one of the school administrators knew I was a smart kid who liked math and building things, and happened to know that there was a book on the subject (sort of—it was really just listings of BASIC source code) in the school library. Every once in a while I wonder how things would have been different today if she hadn't tipped me off to that book when I was five.


Anonymous said...

Thanks for sharing!

Anonymous said...

I'm with you man - great story. My story is only slightly different since I'm apparently about 50 years older older than you. I think my parents got a C64 when I was in 5th grade complete with 64K RAM SYSTEM 38911 BASIC BYTES FREE and one game on a cartridge that sucked (Jupiter Lander). I figured out that I could spend lots of time writing BASIC programs:
10 FOR I = 1 TO 10
20 POKE 53280,I
40 GOTO 10
(I wrote that from memory after um... 23 years? try it)
Oh man that was fun. But I didn't have a clue that you could get a job writing software until I was 15. I was walking back from my neighbor's house after pirating a bunch of Apple IIe games and my neighbor's mom says "Hey do you know how to program? This guy where I work is looking for an assistant." Making money playing with computers? That sounded crazy and just possibly like the best idea anyone had ever suggested to me. I think I made about $5000 that summer (1988) sitting in an air conditioned office converting BASIC programs from some crazy IBM mainframe to a version that worked on PCs, while most of my friends were bucking hay bales, manning burger cash registers, and checking sprinkler heads and they earned like $200 for the summer. After that, I never looked back.

Unlike you, I did game the system slightly when I went to college: I signed up for Electrical Engineering so I could qualify for a $500 scholarship, but I signed up for 200 level CS classes, and then I promptly switched to CS once the term was complete. I love writing software, and would probably come to work to write software even if I didn't get paid. Don't tell my employer, though. They already think they're getting a steal paying me $20k/year for the first 5000 hours/year of my work.