A friend of mine was asking me about a career as a DBA. He has an aptitude for computers, speaks more than one language, and wanted to know where he should focus his time and energy trying to get a job as a DBA.
So I asked a simple question: “What would you rather be: the person who designs a car, the person who manufactures the car, or the mechanic that fixes the car?”
He didn’t have an answer right away, but started to understand what I meant by asking. There is a lot to being a data professional these days. It isn’t just about database administration. There are many, many more pieces and each one is growing (some faster than others) with job opportunities.
So I wanted my friend to take some time and think about in which role he felt he would be happiest. Did he want to be the designer? Did he want to help build the car that someone else designed? Or did he want to fix cars that were designed and built by others?
Let me explain this a bit more.
This is the person that gets to build something from scratch. If they are lucky they get enough budget to purchase whatever tools they need to get the job done. They build something that they hope will be usable by anyone, something that will be safe and durable, and something that will result in a pleasurable experience for the driver.
These are the data architects and database designers. They are the ones that have the most impact on database performance because they get to decide all sorts of things like data types, normalization, and (hopefully) indexing. The database designer needs to know and understand things like data quality and data retention policy. Also, data usage, requirements analysis, compliance issues…all of these things must be taken into consideration when designing and developing a database. Once you’ve gotten experience seeing your designs implemented and tested by real production loads, you will get better at balancing design theory and practice.
It sounds like a lot because it is a lot. Many times a lot of these areas are skipped over because there aren’t enough people (or enough time) to get it all done.
If you fancy a job as a designer or architect then look for opportunities to get experience in designing a system from the ground up. It doesn’t have to be anything that formal, either. I know people who got their start as an architect by helping a local church build a website for their members. That experience was enough to get them a full-time job as part of a web team with one company and two years later they were able to get a job doing database design.
This is the person that actually builds the car and delivers it to showrooms and dealers around the world. They also need to manufacture spare parts for their cars and provide instructions on how to operate and repair the cars. They rarely have input into the design of the cars but get to decide how best to build the cars and distribute them.
This is the database developer or ETL engineer. They are often told to build a process to extract data from one system and input it into another. A lot of the business intelligence and business analytics roles are found here. They need to know about a variety of databases and datastores, about things like XML and systems integration. They will also need to know how to read a requirements document (hopefully one exists!).
If you feel that you are the type of person suited for this role then you should start learning about how to query data and move it from one place to another. Writing reports is a good way to get started, and then move into more formal ETL processing. Look for opportunities in business intelligence or business analytics and you should be on your way.
When you take your car to a mechanic you only ask two questions: how long and how much. There is probably some brief discussion around each and then the mechanic goes to work. The mechanic is constrained to work with your car, as is, and cannot simply give you a new car. The mechanic cannot take your car and in less than 48 hours give you back a rocket car that would break all known land speed records. They must work with what they are given and do their best to provide you with a level of service and quality that keeps you up and running.
This is the traditional view of a production DBA. They are often asked to fix something, and are also often constrained as to what changes they can make. Some see this as a welcomed challenge and they relish the idea of being able to take what they are given and figure out a way to make it better. Think about the guys that constructed the air filter for the Apollo 13 astronauts given only the materials available on board. That’s what being a DBA is often like: here you go, fix it to be better than new, and we needed it done an hour ago.
I doubt you treat your mechanic in the same manner as your DBA, but one thing is very clear to me: the best mechanics and DBAs alike are often in high demand due to their technical acumen. Like a good mechanic, a DBA must be versatile in their skills and have some depth of experience in a variety of areas. For a DBA this often means knowing things outside of the database such as storage, networking, and virtualization.
If you think you would enjoy life as a mechanic, er DBA, then you should focus on those areas. Learn how to install and configure an instance of SQL. Understand the different storage options. Get to know how the engine works, how requests are processed. Learn how to troubleshoot performance issues (and how to deal with the pressure of finding answers, quickly).
How does one get started as a data professional? For most of us it is something we all gravitated towards over time. I don’t know anyone that ever said “I want to be a DBA when I grow up” and yet there are tens of thousands of us in the world. How does that happen?
If you want to get started then you need to take the first step: get started.
There are many paths to becoming a data professional. Getting there can be seen as either an impossible journey or as a journey you did not even know was happening. You start by finding opportunities to get yourself the necessary skills. There is a wealth of free training available online these days. There is also plenty of training available for a fee. I would always advise anyone to get as much hands-on experience as possible, in addition to any training offered through books and manuals. And you can always donate your time to local organizations in order to get that hands-on experience.
If you truly want to become a data professional, there are many ways to get there. Some paths may take longer than others, so you need to remain positive and keep visualizing the end result.