Saturday, January 06, 2007


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!


No comments: