How old were you when you started programming?
Wrote first program at 11 – BASIC 1.0 on Commodore PET
How did you get started in programming?
In grade school I was most likely ADD, so when I got done with my school work early I was a bit "high-maintenance". The teacher’s solution was to send me to the library and let me be someone else’s problem. Fortunately the librarian was great and always had stuff to do, books, filmstrips, etc. Then one day the Commodore PET arrived and I lost 2-3 hours a day for the rest of 6th grade. The sample apps were fun to play, but I wanted to see how they worked. Some apps were "protected" but many others you could see the BASIC code. A few books and a text-editor later, we were on our way. Wrote several semi-complex apps, but they were pretty juvenile.
What was your first language?
What was the first real program you wrote?
First of any length was a "Lord of the Rings Adventure" game, modeled loosely on some of the Scott Adams Adventures that were poplular at the time (e.g. Adventureland, Pirate Adventure, etc.). It was text-only (i.e. a "console app" for younglings) even had a basic parser (bunch of nested if/thens) – AppleSoft Basic. Even made up some disks of it to sell as "shareware". Never sold any – gave a couple away.
First program I ever got anything for was a simulation of a beam of light bouncing off a parabolic mirror for the Cranbrook Institute of Science. They had a huge (4-5 foot diameter) parabolic mirror in one of the exhibits and wanted to simulate how the beams of light went into the mirror and back out. The program used Apple ][ "hi-res" graphics and a game paddle (PEEK/POKE) so you could move the beams of light around and watch how they moved across the screen, off the mirror, and all went through the focal point. Hardest part was drawing the parabola. All I got for it was free admission and access to some of the "backroom" areas of the museum – it was worth it. Funny thing was when I went back years later the mirror was gone but the Apple ][ was still there (as an exhibit – sigh).
What languages have you used since you started programming?
I’ll define "used" as writing 2 or more programs, over 1000 lines of code.
In the "hello world, up and coming" list are: F#, VPL, PHP
What was your first professional programming gig?
The first full-time (summer) job where I got a paycheck was at the Masonry Institute of Michigan. They needed a Novell 2.11 server installed, Baseband wiring for a network, and mostly a shared database server application. This was a Paradox database, which meant I spent a few months learning and programming some pretty complex apps in "PAL". There are still some nice things you could do with PAL that are much more complex to do today.
The next summer I got paid as a research assistant programming quantum-mechanical wave functions in Fortran 77 on a Cray YMP Supercomputer. The Cray was in California and we connected first via 300 baud modems, and later over this new "Internet" thing.
If you knew then what you know now, would you have started programming?
Yes. No regrets. I might have taken computer programming "seriously" a bit sooner (I guess implying I take it seriously now). It was always more of a hobby.
If there is one thing you learned along the way that you would tell new developers, what would it be?
Code a little every day, and use a new language or framework whenever you get a chance. But, take a day off a week and unplug and go off the grid for a while with real live people, friends, family, nature, etc. and do things. If it needs batteries or a plug, let it go for 24 hours. Even just in practical terms, completely letting go of tech regularly tends to "free up your local cache" and "defrag your life". You might need to drag some others with you, kicking and screaming from their wired "life support", but they will thank you for it, in the end (you know I don’t mean literal "life support" right – a metaphor).
What’s the most fun you’ve ever had … programming?
It’s all fun, really, just different kinds of fun.
There is "Puzzle Solving" fun, learning something new, rendering a 3D Fractal for the first time, creating something that wasn’t there before.
There is "I have Power" fun, typing in a command and having the computer "obey" you for the first time. Even now programming a LEGO robot to "do my bidding" is oddly fun.
There is "Gaming" fun, writing a basic game that someone actually has fun/laughs using, playing games (Wii Mario Kart, is fun).
There is "Helping Others" fun, seeing a start-up or inventor/entrepreneur get their site up and running and start bringing in customers, fixing a family computer (again) so they can get back to whatever they were doing (fun for the first few times)
There is "Hacking Fun" taking things apart, putting them back together (sometimes), tracking a Wii controller via Bluetooth, making a touch screen, etc.
Any and all of these could justify an "all-nighter", and be a lot of fun. There is a lot of "un-fun" things in our business, but most of the actual coding is really fun.