Saturday, January 06, 2007

Ten

Today marks ten years for me as a software professional.

On January 6th, 1997, I walked through the doors of the Corporate Express corporate headquarters in Broomfield for the first time as a Systems Analyst. I had four similar offers coming out of the College of Business at CU-Boulder. My starting salary at Corporate Express was $37,500 and I received a $5,000 signing bonus (which was taxed at nearly 50%)... remember 1997 in programming folks?! I had worked as an intern (code monkey) for about 10 months prior at a company called BDM Technologies, which folded into Avitek, which folded into BEA in Boulder (and subsequently Rally Software).

On my first day, I attended a SQL brown bag session put on by our DBA's. They had worked with large systems with Sprint and Andersen. I can't remember which version of Oracle we were working with but it was the rules-based optimizer and I was taught, literally from day 1, how to write optimized SQL for Oracle. I still see some of those guys almost weekly and they've graduated on to terabyte systems at Level 3.

My first project was implemented with Pro*C, Tuxedo, and Oracle stored procedures. It was an optimized version of an existing EDI 850 processor. It was also my introduction to heads-down coding, sitting at my desk when the vacuum lady visits, and late night Chinese food.

Since that day and project, I've worked on countless lines of code, created and fixed countless software bugs, worked on and solved some interesting problems, worked with interesting technologies, and worked with a whole bunch of really good people. Some of which I've managed to stay close with over the years...

Here are some other bits of reflections that help sum up my 10-year professional experience:

  • I've worked for four companies. Corporate Express is the largest. Since then, I've worked for three dot-coms. The majority of my experience, approx. 66%, is from within small dot-com environments.
  • My average tenure at a company is around 4 years. I had one anomaly of 6 months...
  • I've worked on UI's for three installed applications: one in Visual Basic, one in Java, and one in C#. I liked the C# client the most.
  • Most of my time has been spent within the confines of cubicle walls. I've had one office to myself. I once worked in a single office with four other developers - which was one of the best times I've had on a team.
  • I've experienced three layoffs. All of which I survived and wished maybe that I hadn't. After one, I negotiated my own exit.
  • In total, I've gone on three out-of-state business trips: once to PL/SQL training in San Francisco (by Steven Feuerstein no less), once to JavaOne in San Francisco, and once to Houston for a sales presentation.
  • I've been sent to training classes for third-party technologies a total of four times, or six days: SQL, PL/SQL, XML, and Java.
  • I've been certified on a technology once, as a Java developer.
  • I've pretty much always been an application developer. But that role's held six different titles: Systems Analyst, Technical Architect, Senior Analyst, Java Developer, Software Engineer, and Senior Software Engineer.
  • I'd approximate that 75% of my development has been done on Unix/Linux, and too much of that in vi or some other plain text editor.

So what will the next ten years be like..? I've said that by the time I hit 40 I don't want to be coding any more. To be honest, I don't know what that looks like right now. I suppose I can only hope that I get a chance to work with people as great as I have in the past and on problems as challenging and interesting. Bring it on!

Cheers!

Friday, January 05, 2007

My 2007 Word

Instead of a list of fleeting New Year's resolutions, I choose an action verb that I intend to incorporate into as many facets of my life as possible over the course of the new year.

For 2007, that word is Execute.

Given last year's craziness, it could easily be misconstrued as "hang" or "behead"...

Seriously though, I tried less harsh synonyms such as "achieve" or "accomplish" but those don't hit the mark like Execute does. After a few years of performing this exercise - 2006 was Create, 2005 was Rise - I've found that the word just sort of comes to me from my gut and separates itself as an obvious choice.

One of the obvious personal experiences from 2006 that drove this word, I think, was keeping two stocks on a watch list and not pulling the trigger. I watched Marvel Entertainment (MVL) for months. It met all of my criteria... I called a broker when it hit $13 and he recommended against buying. Of course, now at $27, I sit kicking myself and cursing the broker. The other stock was Herman Miller (MLHR). I was actually sitting with a broker when I told him I'm interested in the stock but I wasn't sure. Literally the next day it jumped from $27 to 36$ on earnings news. Could'a, should'a... Execute. Maybe my relationships with brokers are earning the other form of "execute" this year.

The beauty of Execute is that there's a prerequisite planning that's built in. Plan and Execute.

My son is starting Kindergarten this Fall...
Plan what I what him to have going in: some reading, some writing, some math.
Execute in the form of flashcards taped around the house labelling items, a grocery list on the refrigerator with pictures and words that he adds to when we run out of something, a game that we made up called speed numbers involving up to 6 dice that we roll and figure as fast as we can, etc.

My house built in 1974 needs some love...
Plan small projects monthly and one or two large projects this year.
Execute in the form of listing priorities and budgets (more planning... recursion is very powerful), schedule time to take classes on home improvement, secure the tools or professional help and DO IT.

My body built in 1973 needs some love...
Schedule time to continue with yoga classes and consistent gym visits. Eat breakfast and pack my lunch.

My portfolio needs some love...
Research my options and pull the trigger on an index fund or services like Sharebuilder.

Set a morning routine to stay one step ahead of the daily madness.

Keep Java fresh.
2006 was a good year that involved CruiseControl, Spring (and Spring.NET), C#, .NET interfacing with Axis web services, RESTful vs. SOAP api's, XSLT transformations, interesting patterns like Strategy and Template Method, and JMX.
I need to keep the mo, possibly with the likes of Java 5, annotations, clustering, and Ajax.

And finally, (ironically) enjoy peaceful and love-filled time with friends and family. And I wish that for you as well.

Saturday, December 23, 2006

Things To Do In Colorado Before Turning 5 or 34: Ski

Last weekend marked the first time that my 4-year-old son got on skis. It also marked my first time on skis. I started snowboarding when I was 18 but I never skied.

We spent the weekend in Glenwood Springs and signed up for lessons at Sunlight Mountain. Sunlight has a reputation for being a family friendly resort just to the north of Aspen and it did not disappoint. The staff were probably the most friendly bunch I've ever encountered at a ski resort. We pulled into the parking lot at 9:30 and took the first spot two staircases from the lodge! My son's package cost $70 total. By comparison, our friends just took their son to Breckenridge for lessons and dropped $160. At one point on the lift, my instructor looked at me and asked if I knew what Aspen charged for his 4 hours of private service... $500.

I started my lesson in a group with a woman that had never been on a mountain and I was pulled out after 30 minutes because I was progressing quickly. The combination of snowboarding for 15 years and ice skating for 26 really made my transition to skiing relatively easy. In fact, my instructor scolded me several times for "turning up hill too much" when in fact I was intentionally stopping with a hockey stop like I've done probably a million times in my life. Stopping was exactly the same on skis as on ice skates for me, just longer "skates". And really, I think adjusting for slope and terrain is 75% of what you need to get down a mountain on either a board or skis. But I was most impressed with how easy skiing is on my body. On a snowboard I really torque my hip and knee in the lift line, strain my ankle on the lift up, pray getting off the lift, sit down to struggle with my less-than-limber muscles as I try to strap into my frozen bindings, push all of my weight to get up, then constantly work both edges of the board by twisting and flexing on the run. I felt like I spent 80% less energy up and down on skis. The most significant gains were getting off the lift and just gliding/going and just letting the skis release or not having to battle against the edges of the skis constantly. The day may have converted me... Talking to my friends that both ski and board, they said they like to board during powder days and ski other days or if they're with skiers. And come to think of it, I do still truly cherish my Ride Timeless!


Quote of the day, toilet wall scratches: Chuck Norris' tears cure cancer, but he never cries.

Tuesday, November 28, 2006

TC on Google... Aww Yeah!

With a tip 'o the hat to Thomas, I've modified my Blogger template to include clips from Google Reader. I haven't really bought into the "all my favorite sites in one convenient place" notion yet (I kind of like visiting my favorite sites). But I think it's a nice tool for keeping track of blogs I regularly read. From time to time I'll share the ones that made an impression on me. This exploration into Google Reader also prompted a seismic shift in my Internet usage habits... more on that later.

Sunday, November 26, 2006

4 Days, 4 Blogs: Congratulations Dad and Jan!


My baby girl with her grandpa at his wedding, Saturday, November 18.

Saturday, November 25, 2006

4 Days, 4 Blogs: Dad's Pontiac Solstice


My dad bought a Pontiac Solstice this summer. My wife and I postulate that it was either the result of his early sixties or meeting his future wife (or both). In any case, I hope I'm fortunate enough to own a completely impractical car during my tenure here.

My impressions of the car:

It is a
very cool car and fun to drive. I felt like Speed Racer driving it. I haven't driven it on winding mountain roads yet, but the suspension was tight through turns in city driving. The manual transmission seems like it was built for a true roadster feel - tight and somewhat unforgiving. Sitting behind the steering wheel, visually, it seems like they designed the hood line to rise up a little bit. I'm not a big guy and I couldn't really see over the hood - not quite like how some cars' hoods seem to "drop off". I thought this was cool and really gave it a unique feel driving it but I could see how it might annoy people who appreciate other sports cars. This was really the touch that I thought gave it the Speed Racer feel. The body is moulded around the seats so there almost wasn't enough room for me, my dad, and a box of bagels... but hey. The only drawback I felt was that the manual rag top seemed cumbersome to put up and down. Other than that, I appreciate the engineers at GM that designed and built that beautiful machine!