Monday, January 18, 2010

Twists, Turns, Convergence

I decided to take a full-time opportunity a couple months ago, and it is has taken my career on an interesting, but unexpected turn. One of my career goals has always been to continue learning, becoming more technologically well-rounded. I try to balance this to avoid the adage "Jack of all trades, Master of none." In college I studied a fairly broad software curriculum, yet I found an affinity for data management, and throughout my career that has been the focus.

I had been expecting a career move to take me deeper into Oracle-specific technology, where I hoped to gain more technical skills in core database administration and new features. As it turns out the opportunity that presented itself was not one of more depth in Oracle, but less - however it is adding breadth via exposure to Informix and DB2.

Today I find myself needing to support Oracle at the application/schema level, but also needing to support DB2 at a similar level, and Informix from the installation on up. At one point of my career I may have said "I'm an Oracle guy, no thanks". Today I'm more of a "right tool for the job" guy, so I welcome the chance to learn the competing DB systems.

In studying both DB2 and Informix, I find myself translating the concepts of each into the concepts I am familiar with from Oracle. Sometimes I must be careful, such as when seeing the word "tablespace", which means different things in each RDBMS. But overall I am finding conceptually they are more alike in operation than I exepected. I am finding specific parts about each that I like, and other parts where I prefer Oracle's approach. (Perhaps a "universal translator" cross-reference would be an interesting summary to put together and post here at a later date.)

Professionally, I like where this is going. I believe this experience is going to make me a better DBA overall, as I will get to know the differences and strengths of different vendor's database systems. Down the road this could give me the ability to pick the most appropriate system for a specific project, or it could help me understand the "gotchas" to expect when migrating a system from one platform to another (for example, how are NULLs treated in a query in each system?).