Where have all the MySQL DBAs gone?

New Addition: Why you need a Part-time Remote MySQL Expert

I have a friend who works as a MySQL recruiter. He recently told me that he cannot find any more MySQL DBAs in the UK or in the neighbouring countries. His words were "I've exhausted the market".

I myself know that there is a shortage of MySQL DBAs and that a lot of recruitment agencies are looking for them. So I started to wonder how come the situation is the way it is?


Experience curve

Usually what I see in companies, is that they start out with the developers taking care of the databases along side their usual coding duties. At some point, they complain to management that they need a professional DBA to handle the database. When the complaints get loud enough, management looks for a new DBA.
The problem is that the DBA they want needs to have 3-5 years experience as a MySQL DBA.
It seems to me that there is no "phasing into" being a MySQL DBA or at least, you are expected to know a lot to begin with.

As my recruiter friend said, DBAs come from 2 streams: developer or sysadmin.
I, myself, came from the developer side. I started as a developer and got more and more interested in the database. At some point, I was the only person in the company that knew anything about databases, so I was the first one to turn to when there was a problem. Next thing I knew, I was a DBA.
Since I come from a developer background, I have some understanding of the code and how it interacts with the database. I usually put an emphasis on queries and schema design over server settings.
DBAs from sysadmin background, start as a system or network administrator that are at some point assigned responsibility over the databases (with or without their consent) .
Most jobs do actually prefer a DBA from a sysadmin background over one from a developer background.

The problem with phasing into being a MySQL DBA position, is that you would need to have other responsibilities apart from looking after databases. Eventually, you can phase into a position that needs most of your time to do that.
Its just that the in between is such a large chasm to cross, that many people don't really try to (especially  developers).


Its not that interesting

For some people being a DBA most of the time isn't that interesting. I have seen DBAs opening their own companies or trying to become managers. I, myself, do a lot of data projects in addition to looking after the databases.
Companies that try to find a DBA, because the other developers complained for one, will almost definitely not have a lot of work for a that DBA a few months after they come in.

Unless you work for a huge company like facebook or a consultancy like pythian, you will not find enough work as a MySQL DBA to avoid you from being bored.


Salary


There is also a problem with salaries. From my experience, most companies look at MySQL DBAs as PHP developers with a bit extra. And in most companies (but recently this has changed a bit), PHP developers get paid quit low.
(To be honest, when I say "most companies" I mean LAMP shops or LAMP e-commerce companies. Usually, if you are the type of company to adopt open source, you wont have enough money to pay people well. This is of course changing and my current company is one of those exceptions, but more often then not, its that way.)
So accordingly, MySQL DBAs get offered salaries similar to mid to high level PHP developers.

This can be fine for some people, but when you look over at the MS SQL and Oracle side.. it leave a lot to be desired. And back to the point of "phasing into" being a DBA, the proprietary databases have all sorts of levels. From beginner at "not so bad salary" to expert at "extremely well paid salary" to consultant at "obscenely high salary". There are very few MySQL DBA consultancy jobs that I have seen (almost all of them in London) and the pay is literately half of Oracle or MS SQL consultancy jobs.

It would be nice to see more balanced salaries for DBAs across the different technologies and recruiters like my friend try to achieve that.


What needs to be done


I think its a difficult situation, to be honest. Even if companies try to encourage more people to become MySQL DBAs, it will still take some years for anything to change. This adds to the problem, I believe, of companies accepting MySQL as their database of choice. They can find MS SQL and Oracle DBAs easy enough (they just have to pay a lot), but how can they justify MySQL when it takes (at least) 3-6 months to secure a MySQL DBA (if at all).
However, companies can try to accommodate DBAs by allowing for more mixed positions (either developer or sysadmins) as well as training.

It will be interesting seeing this space in the market develop.

Addition:
Another post that talks about this problem can be found here:
http://www.iheavy.com/2011/12/19/mythical-mysql-dba/

9 comments:

  1. Interesting acticle!

    What difference would having the Sun Certified MySQL Database Administrator (SCMDBA) or other certification do?

    Rotem

    ReplyDelete
  2. please tell your friend that i am a mysql dba but outside UK :) . . .

    ReplyDelete
  3. Hi Rotem

    Certifications do help, but you will always be asked:
    The size of the database you work with
    The table with the highest number of rows
    How many servers have you managed
    Do you know MySQL cluster
    And sometimes, but not always.. do you know stored procedures, functions and triggers.

    If you havent worked on something similar, they are not so likely to give you a chance to work with their environment

    ReplyDelete
  4. Unfortunately most companies don't want to have DBAs, they think that a mediocre developer would be enough, and there is the sysadmin, who can install database and restart it, so everything is OK.

    My background is quite different, first I was a sysadmin and programmer the same time. Later I was MySQL DBA, then PostgreSQL DBA. Now I'm back a programmer as in my city no one is interested in having a DBA.
    That usually end up with a very poor database design and efficiency.

    ReplyDelete
  5. I'm a MySQL DBA with 3 years of experience and I think it's time to change for me. You hit the point, even in a company with 200+ database servers you being bored. Sadly not all companies are smart enought to give other responsibilities to dbas.

    ReplyDelete
  6. I am a MySQL DBA with 4 years of experience. I also worked as sysadmin for 2 years, but outside UK

    ReplyDelete
  7. Is it really just MySQL DBAs though? I'm getting people reaching out to me for other types of positions, and I have few people in my network A) qualified for the work and B) interested in jumping ship or working fulltime for someone else.

    It doesn't seem limited to just MySQL DBAs right now, but there seems to be a shortage of a lot of web/tech people in general.

    That said, there's a few places around here that have contacted me, I'd have been a good fit, but they did not want to pay my rate... So I can only conclude that the "gotta get this done project" isn't really that high of a priority if it can languish for 6 months while they try to find someone at 60% of what I was asking for, then another 3-6 months for them to get up to speed on the particular tech.

    ReplyDelete
  8. "Unless you work for a huge company like facebook or a consultancy like pythian, you will not find enough work as a MySQL DBA to avoid you from being bored."

    This is not true. There is always more to learn, more you can monitor and optimize and tune. If you are bored it's not from a lack of opportunity.

    ReplyDelete
  9. I agree. I am currently recruiting for a MySQL DBA in Leicester/Midlands-UK and am finding it very hard!

    If you know anyone you can contact me at rob@enhanceuk.com

    ReplyDelete