I've been meme-pinged by a few people (Ryan Lanciaux and Father Damien Guard - who I got to meet at ASP Insiders and who looks remarkably like Thom Yorke) and in the spirit of wasting time and adding (extremely needed) more words to the blogosphere, here it is: stuff about me I know you desperately care about....
How old were you when you first started in programming?
I was 13 when I got a Radio Shack "computer" for my birthday. I wanna say it was a TRS-80, but this is before those - it didn't have any kind of floppy disc, and all it let you do was write BASIC apps on a TV screen. But it really doesn't count because all I did was let my big brother show me how to make a Christmas tree using some capital A's with BASIC.
I remember feeling extremely cool - my big brother is quite the genius and at the time was getting his PhD in computer science from UC Irvine.
He's done quite well for himself - he's now a professor at University of Oregon (Eugene - Go Ducks!), has worked on AI research teams at MIT, and narrowly missed being named a Rhodes Scholar (not kidding) last year. The man's a genuis in every sense of the word. He also flies to Germany every 16 months to buy a new BMW and have it shipped over. Seriously - there's some kind of alarm that goes off in his brain - a beeping noise that indicates the BMW is "staling" and he must have a new one. Far from being a yuppy, he's just a car nut. Complete with magazines (Car PRON).
Anyway.
He showed me how to make a Christmas tree with a for loop in BASIC (can you do this? Seriously... show me some code!) and I wasn't so much "hooked" as I was further dosed with Big Brother Worship. Something that he doesn't exactly mind :). Not that this is about him - but his figure looms large in how I was pulled into this mess.
What was your first programming language?
That would be BASIC. After the Christmas Tree incident I didn't touch the TRS-80 for a while - short of turning it on occasionally to show my friends how smart I am. I tried a few times to do different images but could never get the equation quite right. I made a jagged line that said "Rob kicks ass!" go diagonally down the screen. My bro was really proud.
What was the first real program you wrote?
I decided to take Computer Science in High School when I was a Sophomore (in 1983 - that's "second year" to you Euro guys out there). Things had really advanced by then and I was able to boot from a tape recorder! Our projects were pretty complicated:
- Show odd numbers on the screen from 1 to 100
- Create 50 by 50 pixel blocks in each corner of the screen
- Take some user input and return a nicely formatted horoscope
That kind of thing. The final project was an ATM and I remember thinking how very fun it was. We had to track balances, use arrays to track transactions, take user input (including passwords) and do withdrawals, deposits, and so on. For the time it was pretty complicated, I must say.
What languages have you used since you started programming?
After High School I didn't do much with programming. My mom always bought the biggest Mac on the block (she has a major computer fetish)
and Prodigy had just come out with this really neat "online" service thing so I would spend my time trying to figure out how to stay connected for longer than 30 seconds, and also just what there was to do (I was convinced there was something to the service).
In college I took every CompSci class that I had time for, and learned to "love my VAX time". I took more BASIC, then Pascal and Fortran. I loved each one but kept thinking "I don't ever, EVER want a job doing this. I'll be inside all the time!". So I decided to major in Geology - a nice outdoorsy sort of major.
What was your first professional programming gig?
I stayed with Geology for a while - working in the environmental industry for about 7 years, but every job I ever had I became "the computer guy". I knew VisiCalc, Lotus123, DBase, Excel, learned Access immediately when it came out, MS Project (they loved me for that), etc. and eventually VBA (for writing macros).
I spose my first "professional gig" came when I was asked by the IT department (at my environmental company) if I would be the project DBA for a SuperFund project (we had to track lab results, sampling intervals, and so on). At the time we kept everything in Access, but it needed to be migrated to Oracle. Blech. I'll spare you the gory details...
When I finally decided to leave the Geology thing and jump into programming for real, I was hired to make an Access application for a physical rehabilitation company in Palo Alto, CA. I got the job through my friend Dave, and I remember it was quite complicated - tracking workouts, users, injuries, etc. Crazy stuff - but fun nonetheless.
From there I learned Java, knowing the web world would be all about Java and applets are the way of the future. And while I did that I stayed with Microsoft techologies so I could actually make a living :).
If you knew then what you know now, would you have started programming?
This one's tough for me. I love programming, but I don't really consider myself a "geek" really. I'm intellectually fascinated by the problems and issues, but there's a part of me that mumbles under my breath when people ask me what I do. I think I have a split personality...
I love the outdoors and have a small blue-collar streak that I give into sometimes, and at the end of most of my workdays I find my head spinning and the sunlight hurts my eyes. Yes, I know I need to get out more - but these are the things that drive me crazy about this industry (indoors, people with no tact, etc).
But I love what I do. I specifically love making a difference to others. I never found much satisfaction in building applications for my clients unless there was a net gain for the world at large. So I guess I have to say "yes" - but I probably would have done things a tad differently :).
If there is one thing you learned along the way that you would tell new developers, what would it be?
Learn tact and humility; don't further the stereotype. Whatever you think is "right and true" now, will change in 6 months time, guaranteed. That and believe in yourself to find the answer - never think you know it straight away (even if you "just did something like that").
What's the most fun you've ever had programming?
The night I finished the SubSonic prototype. I jumped around the house for hours and couldn't fall asleep until 3AM. I knew I had hit on something, and I new that it could make a difference to people. In fact I was pretty sure my brother had never thought of such a thing, and I remember showing it to him one day (after I got the job at Microsoft). I remember precisely what he said:
"Cute".
