Here's an informal (but long-winded) account of my professional history. If you're after terse, formal bullet points and keywords, see my resume.
I started programming on my dad's computer in the mid-1980s, but didn't go professional until the end of high school (in the early 1990s). Up until that point, my main source of income was from mowing lawns and working at restaurants. I was a cook, a dishwasher, and a waiter. I prefered dishwashing because I got to listen to music and eat the leftovers. ;)
In 1991 I headed off to college (William and Mary). My parents helped pay tuition and living expenses so that I could focus on studying rather than work. I learned how to do the school work quickly, and spent the rest of my time focusing on music. I became a DJ, recorded my own music, and bought lots of tapes and CDs from the local music store. Lots.
To fund my music addiction passion, I needed extra money. I didn't want to ask my parents for "fun money", so I got a job at the college as an "office assistant". This meant I stuffed envelopes and shredded paper. Yeehaw. I got in the habit of listening to music on my walkman the whole time. This made the menial work almost fun (and actually memorable), but the downside was that I got tired of my tapes faster, and so had to keep buying more.
Soon, I upgraded to a brainier job with the college: programming. An example task was to write survey tabulation software from scratch. The money was better, and the work was more intellectually satisfying. I definitely preferred programming to stuffing envelopes. Plus, I was able to work in my room, which meant I could listen to music full-blast! Yay! (This turned out to be my first of many telecommuting jobs.)
During summer and winter breaks, I worked at my dad's office (Simpson Weather Associates) as a lab assistant and programmer. Working with my dad was great, because he's informal but very clear and always considering the big picture. The focus of most of my work for him was writing programs to turn raw atmospheric sensor data into attractive, understandable images. Train cars, factory pollution, lidar-measured winds: they sound boring, but on screen we were able to render it into attractive stuff! Plus, it was rewarding to know that Dad actually used my programs to help make and support his scientific conclusions and business decisions, which in turn helped people. That was exciting for me, knowing that my programming efforts were being used to help humanity.
Note: The next few paragraphs come from my old "Boeing" page. They're very formal (read: precise and dry) compared to the rest of this page. I don't know if I'm gonna be shifting this page in a more or less formal direction in the future. For now, please bear with the change in tone!
I was hired by Rockwell International in July 1995, shortly after I graduated from William and Mary. In late 1996, our division became part of Boeing.
I started off in the Electromagnetic Engineering (EMENG) team at Washington Engineering Operations in Crystal City, Virginia, about 5 miles from downtown Washington D.C. Our EMENG Team was contracted to by the U.S. Navy to develop tools for computer-aided ship development. Our primary focus was on topside EM interference and blockage patterns.
During my second year I spent the majority of my time working with the Fiber Optic Data Multiplexing System (FODMS) team in Anaheim, California. FODMS is responsible for creating and managing FDDI networks that enable fast and reliable communication between positionally and functionally diverse ship components.
My third largest project was to assist Seal Beach's Theater Ballistic Missile Defense (TBMD) program in preparing for and assembling presentations for military officials. This task included writing software for porting data between existing applications and databases.
I also spent quite a bit of time developing, porting, managing, and documenting various utilities that helped automate configuration management tasks. Additionally, I designed and managed internal web pages for the different groups (EMENG, FODMS, TBMD).
Hey! You still awake? Yeah, I know. All those acronyms make the eyelids heavy.
Okay, I'll translate: My first "real" job was with Rockwell International, which later merged with Boeing. My group studied electromagnetic interference on naval ship topsides. We also simulated missile interceptions and worked to improve ships' computer networks. My focus was on organizing and presenting the information that the other engineers were discovering and deriving. I developed interfaces which helped our employees and clients visualize complex data and make decisions. So it was like what I was doing for Dad: developing visualization tools for scientists.
There were a couple downsides working for Boeing. For one thing, it was in Northern Virginia. I don't like Northern Virginia. I don't like cities, and Northern Virginia is one big city. Another thing is that my job required me to spend several months in Los Angeles. Remember what I said about cities?
City life wore on me. I got sick of concrete. And crowds. And roaches. I had tons of roaches in my apartment! One night I killed 23. Bad bad roach problem in Northern Virginia. Los Angeles wasn't as nasty in terms of roaches, but it had its own creepy crawlies: centipedes and scorpions.
Something good actually came out of being shipped to Los Angeles (besides the per dium). I was living in a hotel, with no friends, no computer, and no music! I therefore had to change my habits. I found a nearby college with a piano practice room, so I started rollerblading and jogging to the college in order to work on songs. Also, my hotel had a pool, so I swam laps almost every night for a while. And guess what? I started losing weight! All that jogging, rollerblading, and swimming dropped me from 180 to 135 lbs in just a few months. A couple more months and I was down to 95 lbs. Yeehaw! (Just kidding).
Getting in physical shape inspired me to push myself in other areas. I started buying educational books, about science and computers and writing. I bought a used laptop, taught myself HTML, and created my first web page (in 1996). Then I created another page, and another... And pretty soon I was running online discussion lists, organizing tribute albums for my favorite musician (Julian Cope), and creating pages about my own music...
When I was yanked back to Virginia for some high-priority defence projects, I made a point of persisting in my personal-improvement program. I kept exercising, studying after work, and creating web pages. All these extra efforts resulted in further accomplishments, which reinforced further efforts, and the momentum grew...
Meanwhile, however, I still hated living in Northern Virginia. Nothing could change my mind about city life. It just wasn't for me. I wanted desperately to get away to somewhere greener. The months of isolation in that Los Angeles hotel room had made me yearn for intellectual buddies, but the guys in my office were all much older than me and had families, so I couldn't relate to them.
I therefore decided to go back to school. I figured that in an academic environment I could formalize my self-improvement efforts and get to hang out with some good old-fashioned geeks. Plus, many of my coworkers at Boeing had multiple Master's degrees, and I wanted to get myself one too.
The transits involved in my business trips to Los Angeles had inspired me to do some more travelling, so I left work a couple months before grad school started, and went on my first big solo adventure, to Alaska. For info about that trip, see my travel journal.
After Alaska, I returned to Virginia, this time Charlottesville (my home town), and started graduate school at the University of Virginia. I was in the Computer Science department, which paid my tuition and gave me enough living expenses to cover rent, food, and a handful of CDs each month. In return, I worked as an research assistant (RA) and teaching assistant (TA). My main areas of focus were information retrieval and software engineering. You can read more about my grad school days on my school page... after finishing this one...
Grad school came and went quickly. I learned a lot, mostly about software engineering. I also created several more web sites, mostly for bands I liked. I overhauled my dad's site, which earned me a few more bucks to spend on CDs. Managing all these web sites started consuming more and more of my free time, but people kept telling me I was really good at it, so I kept doing it.
I had spent most of my childhood in Charlottesville, and now that I was back, I quickly got tired of living there again. I had a dream to move to the Pacific Northwest... Bellingham, WA in particular. Like Charlottesville, Bellingham was a medium-sized college town. Unfortunately, it didn't have a PhD program. However, I loved the "wild west" and still wanted to move out there. Ski trips with my parents reaffirmed that feeling. So as soon as I got my Master's Degree, I hit the road. I conducted a quick East Coast road trip as a test, and then headed west, to Oregon and Bellingham.
By this time it was late 1999. Bellingham was beautiful (as always), but I couldn't find any programming jobs. I toured Canada and Alaska for the second time. There were no jobs up there either, and it was soooooo cold (by then it was early November)! Eventually I gave up on moving out there without a job, and tried to focus on having a fun vacation. After Thanksgiving, I returned to Charlottesville.
I worked for my dad again for a couple months, which I enjoyed, but I got tired of living in my parents' basement. I decided to get a full-time job and a cheap apartment, save up a bunch of money, and then try moving west again in a year or so.
Pretty quickly I found a job at a local company called Boxer Learning. They specialized in creating online math tutorials. It was a great match for me, especially in the beginning when the company was expanding its product line. I learned tons about web development and got to work with smart and artistic folks. I also felt useful, since my background with bureaucratic Boeing helped me lead the company's efforts to organize and document their development process, and I got to create an intranet for them. It was an intellectually and socially rewarding experience.
After a year or so, however, the company changed. The higher-ups decided to dramatically expand their workforce. To accommodate the larger staff, they moved us to a huge, empty office building, which was actually an old bank. Most of the rooms were vacant. The administrative offices were in a separate wing from the programmers, so in order to ask questions, we had to walk along dark, empty corridors for a couple minutes. It was very strange, spooky, and impersonal compared to the cozy environment we had before.
Then, suddenly, the company started to run out of money. Within a month or two of moving into the bank, there was a round of layoffs. Work on new product ideas was halted. We had to stop all creative develpoment and focus on cost-savings techniques, like database optimization and alternate delivery formats (e.g., CD). I found the non-creative work to be extremely boring, and the work environment depressing. And I was itching to leave Charlottesville again.
Fortunately, I had saved up enough money by then to move west, even without a job. I told my boss I planned to relocate. He asked me to stay with the company, offering to let me telecommute from wherever I went. I agreed, took a month off to focus on music, and then hit the road again.
This time, my trip to see if I could move west was a success! I found an apartment in Bellingham and then for fun drove all the way to Alaska and then through Cananda for a few weeks. When I got back down to Bellingham, I flew back to Virginia, and then my sister helped me drive a moving truck to Bellingham (so I ended up driving the same 3000+ mile stretch of road twice that summer!).
As soon as I get settled in Bellingham, life was happy! I loved the area, and I loved telecommuting. I worked part time, and the time difference with the east coast meant I was done with work at around 2pm. This left me plenty of time to make music and go outside. Life was great!
Unfortunately, Boxer Learning kept sliding downhill. They laid off more people. The [virtual] atmosphere got gloomy and tense. Two of the other programmers left Charlottesville for the west coast, and started telecommuting like me. The techies who remained in Virginia formed one social circle (which was inundated with stress from the dying company), and we "ex-pats" formed our own little isolated bubbles. It became hard for any of us to relate to each other, and as the company's stress levels mounted, personalities started clashing.
There was yet another round of layoffs. This time, all of the part time people had to leave, and this included me. So now I was unemployed. For most people, this would have been scary, but for me it was a huge relief. I had enough saved to coast for a while, and lots of things to keep me busy: a vacation in Belize, digitizing all my photos, finishing up several musical projects, and moving to a new apartment with my girlfriend.
Shortly after my girlfriend and I moved in together, a new job fell in my lap, and what a beaut it was! Not just "was" but "is"; I still work there!
The company is CareerPerfect. They specialize in writing resumes for people, and do it all via the web. I'm the lead developer. A system guy manages the servers, a graphic designer creates the images, the bosses and business manager handle the text, and I do the coding: PHP, MySQL, Javascript, XHTML, CSS, etc. It's lots of responsibility, but my bosses and coworkers are great! Plus, I get to work at home! :)
So that's where I am now: happily employed, working with great people. I still make music, work on on web pages, and study in my off hours, always trying to improve. And I'm always exercising!