Should I Specialize?

27 Comments

A reader asked a great question, and I just had to share it in a more general form because it applies to so many of us production database administrators.

He’s currently a production SQL Server DBA, and his company’s bringing in a new application with a SQL Server back end.  He’s doing a good job as a production DBA, so the company offered him the chance to be the application administrator.  He’ll need to learn the application and specialize in it, and he won’t be doing as much – if any – SQL Server work in his new role.  Should he take it?

So many applications offer this same opportunity for database administrators: accounting software, sales force automation systems, document management software, I could go on and on.  For me, the choice boils down to a few basic questions.

Can you bet your career on this application?

Around 2001-2002, my company was preparing to retool our software from scratch, and and we had to decide between Java and .NET.  A few of us went to training classes for both platforms, did some basic development in each, and held meeting after meeting debating the pros and cons of each platform.  None of us had a really clear feeling about what the Way of the Future would be, but we started to realize that none of the options out there were the right answer.  It was entirely possible that ten years down the road we’d be retooling everything again due to unseen weaknesses in the platform we’d chosen.

No matter what language we chose, it would have been the third programming language I’d learned in my short programming career (not including things like batch files or HTML).  I realized the rest of my development career would be a continuous cycle of:

  1. Learning a language
  2. Getting good enough at it to build good applications (by building several bad applications first)
  3. Maintaining my initially bad applications, and rebuilding them with the new best practices for the language when things went wrong
  4. Deciding which language would solve the new business problems coming down the line
  5. Go back to step 1

Ugh.  I bailed out of programming and focused on database administration because ANSI SQL works not only in nearly every current programming language, but even on most database platforms.  I love to learn, but I don’t really love to learn new languages.  SQL Server has paid off for me: it’s still phenomenally popular, and I don’t see it going away in ten years.  The fact that SQL Data Services is switching from an abstract XML-style data storage over to standard table-style data storage is yet more evidence that things are looking good in the DBA arena.

SQL Server is a gateway drug: you can branch off from there into all kinds of hardcore stuff.  However, the more specialized you get, the more of a risk you’re taking that your new specialization will disappear over time, and the tougher you’ll find it to step back down to your old SQL habits.

If you become, say, an SAP BI administrator, you’ll make a lot of money today, but if that platform fades out, the knowledge you’ve gained won’t help you much in another job.  You’ll be forced to find another BI platform and learn a completely different way of doing things.  Going with a massively mainstream app like SAP is a relatively safe bet, but picking a smaller niche vendor is a riskier bet.

Is it easy to get training on the app?

Learning to be an Engineer
Learning to be an Engineer

Wanna specialize in web design?  Open the phone book, call your local community college, and they’ve probably got a series of courses you can take dirt cheap.  If you want to learn faster, you can call a place like New Horizons and do a couple of week-long boot camps.  Presto, you’re a designer.

If you learned the necessary skills to perform your job in less than a month, then so can anybody else.

Goodbye, job security.  As evidence of that fact, I give you 99designs.com: a site where people like me who can’t draw a stick man shell out some money, and graphic designers all over the world compete to build the best logo/site/design/etc.  Yesterday, I forked out about $250 for a logo for a site I’m working on, and already today I’ve got dozens of designs, some freakin’ amazing.  The contest goes on for an entire week, and during the whole time, I’m interacting with each of the designers giving them advice and tips on how I’d like their logos to be improved.

The tougher it is to get training, the more staying power your career will have.  It’s a balancing act, though: a lack of training options might also indicate that the market sees the technology as lacking staying power.

Do you like the team you’re going to work with?

You’re going to be using training wheels for a year while you get up to speed on the new technology.  Is your new team going to be supportive and tolerant of your mistakes and your downtime?  Are you going to enjoy working late nights with ’em when you’re under a tight deadline?  After years of work as a DBA, you might be accustomed to getting big things done in a short amount of time, but you may not have that luxury with your new application role.

I’ve had to make these decisions more than once.  Sometimes I’ve branched off briefly, like when I learned SAN administration and VMware administration.  As it happens, I’ve only gone down those routes when I felt it would make me a better database administrator, and I’ve come back to my roots each time.  If things were just a little different, I might have stayed with either of those technologies – and I bet they’re both going to be great career choices too.  It’s a fun decision to have to make!

Previous Post
Sky Blue Screen of Death
Next Post
PASS Summit 2009 Call to Speakers Open! #SQLPass

27 Comments. Leave new

  • Brent,

    At the risk of sounding like a fanboy, this is another gem.

    Reply
  • Ha HA! At the risk of sounding like I approve of that behavior, the next time we meet your first beer is on me. 😉

    These are the most fun posts to write, because I wish I would have had access to this kind of stuff when I was getting started. Sure, over the last ten years I learned the difference between stored procedures and functions, but what I really learned was making better career decisions. (And not because I made ’em all right!)

    Reply
  • Okay, it’s my turn to switch sides and argue the counterpoint. I’m not sure why you were starting on your 3rd language in just a few short years. Usually you (speaking of the organization) want to build on existing skill sets not constantly introduce new ones. Had you settled on one side or the other, one of the .NET ones or Java, you could still be using said language today very successfully as a senior somewhere. If you were doing Visual C++ back before .NET, there are still a lot of Visual C++ jobs out there because there are some cases where you still want to use unmanaged code (like high-end gaming). Sure there are some differences between versions, but the same is true between versions of SQL Server.

    And if a developer wanted something that was cross platform, C, C++, Perl, and even PHP to some extent, would have fit that bill, with Java certainly doing so as well. So as a developer one could specialize on a language and find great positions as long as they stay relatively current (and the same could be said for SQL).

    Reply
  • Great question about the number of languages. The company’s core software was developed with Topspeed Clarion, a RAD toolset that seemed brilliant at the time but ended up dying off. The company got bought by a larger company who’d standardized on VBscript for their web applications, and when .NET came out, they decided to bail on all VBscript development. (No arguments there – VBscript wasn’t the right solution anyway.)

    We did have guys who standardized on C/C++/Java, but they were let go when the company decided not to pursue that route. I’d rather have stuck with the company than changed my language, because I loved that company. (Great people.)

    Reply
  • A professed fanboy here!

    Another awesome life-lesson to ponder upon!

    A gem.

    Reply
  • I vote for number logo #10 , followed by #48 and #11 adn 47. 🙂

    Reply
  • Yeah, that “Barcelona” designer is pretty skilled. Their portfolio’s really impressive too:

    http://99designs.com/people/barcelona

    Reply
  • whoa! #65 rocks!

    Reply
  • Yeah, pretty much a fan boy here too. I wanted to be an actual programmer as recently as a year or so ago, but Jeff Atwood inadvertantly talked me out of it.

    Basically he asked me if I was willing to work for starvation wages again because so many young college students are able and willing to work for peanuts.

    Besides, although I can program well and I really enjoy writing T-SQL, I am not at that level of geek where I dream about code. Those that border on aspergers (sp) syndrome will always code better than I do and I really need to leverage my social skills.

    I’m currently mulling over The Cloud.

    Anyway, sorry for rambling.

    Reply
  • My title is Senior Applications Systems Analyst. I’ve been a developer since 1996. Currently, I am a .NET developer building web-based database apps for a health care institution. I’m the development DBA for most of my projects, mostly with an ORACLE back-end. I’m thinking of transitioning to become a DBA but not sure what plasform, ORACLE or SQL Server. Although I know and have more experience in ORACLE, I’m thinking it would be easier to become a SQL Server DBA. I’m already 43 yrs old and also planning to relocate back to NY in 5 years. What do you think is a better career path for a 43 year old developer like me ?

    Reply
    • If you have any Oracle experience, you should leverage that in your quest to become a DBA. Don’t change platforms without a compelling reason. It’s much more helpful if you can say you have X years on Oracle no matter what the job titles were along the way.

      Reply
  • Michael Rivera
    August 22, 2010 1:38 pm

    Brent,

    At what age did you start you career as DBA?

    Reply
  • Brent Ozar,

    I worked 6 years supporting Windows servers, two years experienced with Cisco and VMware. At the moment I am working installing and supporting Red Hat/CentOS servers.

    Do I have a chance to find a job as a SQL Server DBA?
    If yes what do you recommend?

    Thanks

    Reply
  • i just completed learning sql tutorials, iam so much interested in sql sever dba, but im not having any experience, im having batchelor degree in computer science, please can you suggest me how can i start my career as sql server dba, will i get job in this field…?

    Reply
  • Thanks for sharing this Brent!
    I could relate very closely to few points here. I’m a systems engineer with over 7 years into MS and other technologies. I recently appeared for an interview (which I was very keen to crack)but failed bcoz of lack of skills in SQL. Interviewers didn’t waste time even asking any questions since I didn’t mention any SQL skills in the resume though I have fundamental knowledge of standard SQL language. I think it’s now imperative to have some DB experience to be in a complete sys admin profile. I have found your blog a good starting point , I have decided to get enough of SQL before re applying for the same position.
    Please advise and thanks once again!!

    Reply
  • Hi Brent,

    As usual great article. Do you think that lot more 3rd party tools (specially on a troublshooting side..back/restore etc) like redgate, idera, lightspeed would lessen the need of a full time DBA in near future?

    Also is that mean as a DBA its time to be also good at BI and Development DBA?

    Some say no matter how much training material you have until you work on a real BI project its not good enough but I guess you have the basic to hit the ground running and have the advantage against other candidates etc…

    Reply
    • Thanks! I think a lot of the tools out there do make life easier for the people who have to manage SQL Server. Some of my clients are able to get away without a DBA altogether just based on good development skills plus tools. Of course, when something breaks, that’s when you need the SQL Server focus.

      Reply
  • I really have enjoyed your blogs. I have two questions with regard to any opinions that you may have with regard to Microsoft Dynamics.

    Do you have any thoughts with regard to the long term future of Microsoft Dynamics?

    Also, it appears that Microsoft Dynamics is a platform that Business Analysts could configure if they were technically savy. It also appears that under the covers, Microsoft Dynamics is a combination of SharePoint, SSAS, and SSRS. Would you believe that training to become a Microsoft Dynamics Developer would be worthy of consideration for someone with a developer background?

    I understand that my questions are rather specific, but we are talking about specialization. Thank you for considering whether to answer the question.

    Reply
    • J. Wade – go after what you love. If you get excited working with Dynamics, then go after it. You’ll be happy, and you’ll absorb things much faster.

      If you’re going after Dynamics in an effort to make money, I’d step back further and look at what you want to be doing for the rest of your life.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.