12 Jul 2008

Which Database to Choose When Looking For a Job

I had a talk with a friend of mine, yesterday. He recommended to me that I should move away from MySQL and become more proficient with Oracle or MS SQL. The reason for this is that he argues that there is a higher chance I can find a job working in a company that uses a commercial databases (and also higher paid position) then I could for a company that uses an open-source database.

His logic was that:
If a company is already paying for a commercial database, they would have no problem paying some more for someone to maintain it or develop on it.

I started thinking about what he said to see if its true. Not so long ago, I worked on a project for big car manufacturer in China and they used Oracle databases. They had the resources to hire quite a few PL/SQL developers for something relatively simple (but I am pretty sure those PL/SQL developers are still working on it as they get paid by the hour).

On the other hand, I used to work for a relatively small company that had a profitable website and they used MySQL. During my time there, I put a lot of work into optimizing the MySQL database, although it wasn't my specific job to only work on that.

Would a small company afford to hire a MySQL expert? They would probably choose someone who can do some MySQL and PHP as well.

To strengthen the point, a while ago when I was looking at jobs listings in the UK, the vast majority was for MS SQL positions then Oracle and maybe one or two for MySQL.

My own conclusions are that it depends on which environment you would like to work in. I noticed that medium/enterprise businesses tend to work with commercial databases and web companies use MySQL. So sticking to expertise in certain databases will force you into certain companies.

Thats not to say, however, that if you only know MS SQL, you will never work with a company that has a website. Quite a few websites use MS SQL (no where near MySQL though) and companies that use Oracle for their offices might choose to use Oracle for their website too.

Personally, I really liked working for my old web company. It was exciting, interesting and allowed me to gain experiences in many new fields (and it was also where I started liking MySQL).

Where as the enterprise company I worked for was slow, dull, very restrictive and very frustrating.

Can I make a connection between companies and which database they use to whether you will enjoy working there? Absolutely not.

For now, I will stick to be a part of the MySQL community, simply because I enjoy it. I will look for jobs that hopefully I will enjoy working there. It also wouldn't hurt to learn about all the other databases, if nothing else for my own knowledge.


  1. Hi!

    "He recommended to me that I should move away from MySQL and become more proficient with Oracle or MS SQL."

    Not sure why embracing A should include denouncing B...

    It is certainly a good idea to get acquainted with several database products and learn their strengths and weaknesses. Same goes for programming languages. Just because you're into, say, PHP doesn't mean you should stay away from Java or Ruby or what have you.

    It is also good to make up your mind which products you generally like best, and to be aware of the motivations and reasons that make you prefer one product over the other.

    Moving away from a particular product, especially if you like working with it, should be based on practical experience and rational evaluation of product merits, or a clear signal that the product is a dead end.



  2. No doubt there are more jobs for Oracle folks. But ask these two questions: a) is there any shortage of high-paying jobs for a competent MySQL DBA? b) what is the company culture at a MySQL shop vs. an Oracle shop?

    Talk to some people who are advertising for MySQL DBAs and find out *grin*

  3. Good question. I am sure there is great work for all kinds of DBAs today, because the internet is growing and the amounts of data are growing even faster.

    If you visit Indeed.com you can compare the two: http://www.indeed.com/jobtrends?q=mysql%2C+oracle&l=&relative=1

    It shows the relative (or absolute, if you choose) growth of the keywords you specify in job postings. "Indeed.com searches millions of jobs from thousands of job sites..


  4. That's a very nice chart, marten. The absolute is very different then the relative chart.


  5. @jonathan,

    I believe it is called "lies, damn lies and statistics" :-)

  6. As someone that is looking for a job right now, I wish that I could trade my (limited) MySQL skills for MS SQL. Same with PHP and ASP/JSP. I admit that this is a grass is greener mentality, but it is probably healthy. A diverse skill set should be an asset for anyone.

    Based on the fact that you posted what you did, perhaps now is the time to start learning something else. I know that when I start learning a new language/environment I gain perspective on what I already know.

    I passed the MySQL DBD cert this week, and will try to pick up the ZCE and MySQL DBA over the next couple weeks. After that I will start learning something else. Just my 2c...

  7. I agree with Roland, learning a new db doesn't mean you ditch any old skills.

    You will find that there are some differences, but many performance issues are the same for Oracle, MSSQL or MySQL.

    The reason there is a lot more MSSQL jobs is SQL 2000 was a much more robust product then SQL 6.5/7.0.
    Lots of developers and businesses liked the Business Intelligence stuff which came kinda bundled with SQL 2005 so again there was increase in MSSQL installations.

    Learn them all. My next one is PostgreSQL. Each new one gets easier to learn.

    A side comment, my experience has been that MSSQL and MySQL don't always have a DBA install them or a design which models the business eg. used as SQL wrapped datadump. Or worse in my opinion, a object datastore behind hiberate or other object to relational mapping tool.

    So when asked to review they tend to have lots of easy stuff to fix.


    I would be demonstrating your ability to do the job as well as getting certifications. If that means posting blog articles on what you have done... it is a good start.

    Have Fun


  8. Ah... the eternal open source vs proprietary debate.

    I had the same debate a number of years ago - should I go back to doing Java (as I learnt in Uni) with J2EE etc - or focus on Open Source technologies (PHP, Python etc). Obviously I now have no regrets - as I've built up plenty of 'mental struts' to support my past choice :)

    Open Source's generally low barrier to entry seems to be a problem if you're (e.g. trying to hire a good PHP developer) but also good - as there is fabulous documentation, a huge community and you're not as locked into the whims of a supplier. So it's give and take.

    I think the UK has a much lower open source adoption rate (compared to other European countries) which would probably make the discussion quite different if you were looking for work abroad.