I’ve seen a number of posts over the years asking what skills and requirements are needed to become a DBA. It’s an interesting question. From experience, I find a lot of people seem to fall into the DBA role from a development role. Not all DBA’s have gone this route, but it seems a good percentage have done so. I’m from a development background.
I started out as a DBA/Developer back in 1999. I was exceptionally lucky. I had been developing the backend for our warehouse applications and after a 4 month search for a DBA I volunteered for the role. Why did I volunteer? Well something happened one day. We had been developing our applications for about 8 months and the database had grown to a point where we were seeing performance issues. I was looking through Books on Line and also browsing the net and managed to stumble across a couple of ways to optimise performance and I had instant gains. I saw queries which ran in 10s were now sub second. I had caught the bug – how much faster could I make this thing with a few more tweaks? The answer was a lot!
The next 6 months I was reading everything I could find. Books on Line was one of my main sources. I bought a bunch of books online, subscribed to SQL Server forums etc. I then managed to get my hands on my own server. I’d spend hours after work putting what I had read into practice. I’d even go to the point of corrupting files, pulling out disks and trying to recover. I learnt so much in a short time and the fact is, I am still learning. I’ve been a DBA for 16 years now but I still buy books, I still play about with SQL Server.
But what about you? The world of a DBA is an interesting one. I found databases an interesting subject when I first started using computers. You may have fallen into the database world like I did or you may just have an interest in the subject and wondering how to take this interest further.
What role is for you? There are a number of database roles out there. Some examples would be Production DBA, Development DBA, Developer, Business Intelligence, Data Architect to name but a few.
This post could become very long if I went into detail about what each role entails. If I’m honest, my BI knowledge is not extensive, so my thoughts would be a little raw there.
Deciding which role you want to focus on will likely come to you in time. It’s hard to stand up and say I want to be a Production DBA. You may find, with experience, that developing stored procedures is more your thing and that you get more excited about Development. You may even be in a company where you have to fill all of the database roles, much like I do in my current role.
Chances are, if you are reading this blog, you are new to the database world so I’ll give my thoughts based on being a relative newcomer as well as looking at a more one hat for all jobs role.
Books on Line, Technet and MSDN are both fantastic resources from Microsoft. Spend a lot of time reading up on various subjects. Typical subjects could include backups/restore, performance tuning, database design, security, indexes & statistics, T-SQL coding and so on.
You can also buy a number of specialised books which are well worth reading from cover to cover. You’ll probably want to buy books which cover all of the above or maybe buy books split into administrative & development areas. Either way, you’ll be reading about most areas of SQL Server.
Subscribe yourself to SQL Server forums and join LinkedIn groups (if you are registered). Read articles, post forum questions & engage in community discussions. You’ll soon gain enough confidence to write your own articles or answer questions.
Look up your local SQL Server User Group. I can’t emphasize enough about how good a resource this is. You’ll be able to network with experienced and also inexperienced DBA’s who are more than willing to share their knowledge with you.
Finally, get yourself a copy of SQL Server. You can start out with the Express edition or you may want to jump straight in with the Developer edition which contains all the Enterprise features. Either way, you’ll be able to start putting ideas into practice.
As you build up your knowledge and skills, you will likely discover for yourself which area of SQL Server you want to focus on. Maybe it’s database design which really excites you or maybe its performance tuning? Maybe it’s both?
With all that said and done, the biggest problem I find though is experience. Securing a DBA role generally requires experience. It’s a catch 22 situation. You have no production experience and yet nobody seems willing to give you that shot. This is a real tough one. Personally, I’m happy to overlook experience if I see a lot of enthusiasm and passion for the role – That’s how I started out, so I’m very aware that others need that opportunity too. There are junior jobs out there, but you may be looking to shift your career later in life when taking a big pay cut is not possible. However, don’t give up. There are always jobs out there. You just may have to be a little more patient which naturally gives you more time to learn.
So would I recommend a role in the database world if I was asked? Definitely. It’s extremely rewarding. You do hear of great salaries for DBA’s and I do get paid pretty well. But I find the daily challenges are what keep me excited about my job. The world moves so fast that there are always new technologies and features in the latest version and it’s great when I find a piece of code online or a different strategy which improves the performance across my databases. It’s a world of discovery!