Tag: Career

How To Not Be a Commodity DBA – Part 1

A couple of months ago I wrote about the concept of the DBA as a commodity (DBAaaC), and how it can be so easy for management to consider any DBA as a basic, and replaceable resource within their organization. This got me to thinking (and it would seem that my thinking takes a long time) that maybe a little guidance would be in order to help prevent you from becoming a DBAaaC.

Not everyone is in the same situation, so I’ve broken this down in to a couple of parts, one for those of you that have the time, and inclination to get things done, and those of you that can barely find a half hour to themselves.

First up…when time for you isn’t a problem…

Continue reading “How To Not Be a Commodity DBA – Part 1”

DBA as a Commodity

If you’ve been working around the IT industry for a few years then you have probably heard mention of commodity servers. These are machines that run a standardized hardware spec, and are easily interchangeable with others. The price point around the machines is that it is typically cheaper to replace than it is to repair them, so once the warranty runs out you just throw the old one away and get a new one.

I was thinking about this the other day, and how it really goes beyond servers, which is where I thought about Database Administrators as a Commodity (or DBAaaC).

When first considering DBAaaC as an idea it really does not seem to make much sense. After all DBAs have to do all kinds of different work, and many have very different sets of skills that are applicable to a wide variety of situations.

If you are thinking that then the odds are that you are a DBA, or have worked closely with one over the years. This is not something that the vast majority of people, in particular IT management type folks seem to think.

What makes me believe this to be the case?

DBA Job Requirements

I’ve been in the DBA business for about 17 years now (why yes, that does make me feel old, thank you for asking). In this time I have had a few jobs, interviewed for many, and been an interviewer for even more. I have seen more generic DBA job desscriptions than I care to remember.

Generic Job Description
Typical job description

There are hundreds of jobs descriptions for SQL Server DBA jobs that look almost exactly like the one above, do a search yourself and see what commonalities seem to exist between roles. Think back to the last job description that you read, was it something similar to this?

Would it surprise you to learn that the above job description was actually copied from the job description of a company that was looking for an Oracle DBA?

Certifications

How many jobs have you seen looking for someone holding an MCDBA? That’s a certification that existed through SQL Server 2000 and was replaced by the MCITP with 2005, and then with the MCSE Data Platform in the last couple of years. It would seem that with management team that these things are easily interchangeable, after all there really is not difference between running SQL Server 2000 running in a cluster, and SQL Server 2016 with a multi-subnet Availability Group running on a cluster that is not joined to a domain, using DMVs to help you identify performance bottlenecks.

What about jobs that are looking for an MVP? That’s an award given by Microsoft for community contributions. It is not a barometer of technical knowledge, and yet I have seen several DBA jobs looking for people who are MVPs.

Over the years I have seen many jobs that also will only consider people that have bachelor degrees, because apparently having a bachelor degree means that you will be good at your job. I do not have a degree (of any kind), and know several excellent DBAs that do not either, but every one of us would be excluded from these jobs just because we did not take four years of college (and we’ll ignore for now how that plays into systemic racism in the US).

Experience

Here are the general guidelines for DBAs that I’ve seen over the years:

  • Junior DBA – < 3 years of experience
  • DBA – 3-6 years of experience
  • Senior DBA – > 6 years of experience

These are usually baked right into the job descriptions, and it is how companies seem to manage peoples careers and job progressions (not to mention candidates looking for job seem to think that their skills put them in line for a job thanks to years working with SQL Server, not with actual knowledge).

This completely ignores whether a person looking for a DBA role has 5 years or varied experience, or 5 years doing the same thing day in and day out (checking if jobs ran, and answering business questions).

All the Technologies

Your generic job description will frequently be looking for someone with experience (if not expertise) with

  • SSIS
  • SSRS
  • SSAS/OLAP
  • DTS (yes really)
  • AlwaysOn (even though it’s not a thing)
  • MSCS (even though it was replaced by WSFC almost a decade ago)
  • VLDB (many places believe > 50GB = VLDB)
  • VMWare
  • Azure
  • TCP/IP
  • Windows 2003/2008/2008R2/2012/2012R2
  • TSQL
  • Maintenance Plans
  • Replication
  • and many more…

There tend to be long lists, like the above, for job roles. It is really just a list of buzzwords that the hiring manager (or the recruiting team) have put together so that they can plug them into their software to automatically weed out candidates that don’t have those words in their resumes.

The above examples are all ways to quickly recognize if a company is likely to treat anyone coming in as a DBAaaC.

What would be better?

A More Reasonable Job Description

Given the very generic information that is listed for almost all DBA positions what would make a role stand out? Usually it is something that is a little more crafted, and provides and understanding of the world in which the DBA works. For example a job that listed the following things:

  • Required 3+ years with Availability Groups
  • Understanding of DMVs and how to use them to troubleshoot server performance
  • Can tune queries to improve performance and lower server impact
  • Ability to manage SQL Server backups and restores to meet companies documented RPO/RTO
  • Experience managing maintenance for tables larger than 100GB in size
  • Knowledge of how Windows and Active Directory settings can impact SQL Server performance
  • Can work with development teams on best practice guidelines for new code, and provide performance enhancements when problems occur
  • Can troubleshoot SSIS packages
  • Preferred current MCSE certification

This by no means would be a perfect list, however it does provide some good information, and would let a potential candidate know that management here at least has a clue as to what is required to perform in the role, and provides a basis for a conversation.

Working as a DBA

Once you are in a company how can you recognize whether or not you are being treated as a DBAaaC?

Think about potential new hires that the company are looking to make. Are they using generic job descriptions?

Do promotions seem to happen thanks to longevity in the role, rather than be based upon some more hard based criteria around the work that you do? Is there a planned career path for you to move to the next position?

Do you perform the same work day in, and day out? Are you solely focused on backups, or indexing, or checking on failed jobs?

Is there a way that you can receive ongoing training to help you get additional knowledge? (even if this means just paying for some online videos, or giving you a section of time every month to spend on skills development)

Does your manager treat you like a truly valued member of the team, or are you just there ensuring that things are set to run smoothly?

If any of the above ring true to you then the chances are that you are seen as a commodity, and you can be thrown away at any point, and replaced by someone else (at least management believes that to be the case).

A Word of Advice to Management

There is every chance that you believe that the people that work for you are interchangeable, no matter the role (I’ve seen this over the years with developers, database, Windows, and Unix admins). People really aren’t, except at the lowest skill levels (and frequently even not then).

People are not machines, do not think that you can just throw the old one away and pick a new one up. Consider the ongoing learning that is required for your people to have skills that remain current, and help you move ahead. Certainly, at times you will have people leave, or you may have to let people go, but don’t treat your entire team as if they could be replaced at a moments notice.

If you think that all DBAs are the same, spend some time looking on Stack Exchange at some of the questions asked, and consider what questions on there your DBAs could answer (and what questions they may post). You’ll quickly see that DBAs are all different, they have different areas of focus, and each can give you different things. They are far from being a commodity.

Apathy – The Underpaid Conundrum

In the third post in the Apathy series we’ll be digging deeper in to the thought that you might not be getting paid what you are worth.

This can be a big concern for a lot of people (in particular in the U.S.) as there is always a feeling that you should be earning more, and getting more money. Money is frequently equated to having status, and who doesn’t want better status (or more money)?

 

Symptoms of feeling underpaid

You are a busy person, you keep the servers humming along, or you deliver a metric ton of code, but you haven’t seen much of a pay raise in the last couple of years, in fact it’s not even been keeping up with inflation. Now the company just hired Glenda into your team, and you are pretty sure that she is getting paid more than you.

You must be worth so much more than you are currently getting paid surely? Why is it that this new person is worth so much more, that’s complete BS and so forget this whole working hard thing. If I’m not going to get paid what I’m worth then I’m not going to work hard.

And so down the path to apathy you go.

 

Attacking that underpaid feeling

As with most feelings the best way to attack the problem is to look at the data. The data won’t lie, so long as you give it an honest to goodness chance to tell you the truth (yes, lies, damned lies, and statistics).

What pieces of data can you look at to give you a proper evaluation of your salary?

Research salaries for your job

You know what your job title is, and where you live, so take a look at one of the several sites out there that can give you an idea about what other folks are earning.

Salary.com lists a Database Administrator II in Seattle as having a median earning of $95k a year. That same job in Orlando, FL only has a median of $85k, and Little Rock, AR is less than $80k.

You might have to figure out what your job title means according to these standard titles, but if you look at the requirements for the jobs you should be able to figure it out.

Now that you know what the median salary is where you live, where do you fall in the range that they list? Are you in the 20th percentile, the 50th, or the 80th?

Update your resume

Sounds like a very strange piece of advice, but until you know what you can and cannot do there is no way that you will be able to easily establish your work worth.

Let’s say you have been a DBA for ten years, your job title states that you are a Senior DBA, and based on where you live you feel you should be making a six-figure salary, but aren’t. Time to break out the resume.

If you have not been making frequent updates to your resume then this is going to consume quite a a few hours to get it up and current. In this step you aren’t going to be doing any strong editing (that comes later prior to submitting for another job), all you are going to do is list all the things you do at work, and have been doing the last few years (at however many jobs that might cover).

Once you have everything down try to sort the list chronologically if at all possible (any work self-assessments, or reviews may be very useful for this). Now that you have this long list put a line through anything that is repeated.

How big is this list now?

If you have much smaller list, with lots of lines crossed out there there is a strong chance that you are not actually progressing your skills. There is a commonly used phrase of having ten years experience, or one years experience ten times, which is similar to a quote from the book  Shibumi by Trevanian

You can gain experience, if you are careful to avoid empty redundancy. Do not fall into the error of the artisan who boasts of twenty years experience in craft while in fact he has had only one year of experience–twenty times.

What does this mean for you? Potentially that, rather than be the Sr DBA that you think you are, with ten years experience, you are in fact a Jr DBA still, with but a single year, just repeated many times.

This is a great way to help figure out if you really have all the experience you think that you do.

This resume exercise is also a great way to help with imposter syndrome, that will be covered further in the post in invalid statistics.

Are you a pack of one?

If you work at a smaller company then you may be the only DBA or developer. This can really cause your salary to be wildly out of kilter with what the general expectations for your job may be.

Being the subject matter expert (SME) at your job can easily lead to you being paid more than you might be worth at a larger company with standardized salaries.

Being a pack of one can come with other advantages, so it is worth looking beyond the raw salary number to see what else might be there.

Is base pay all you get?

Some companies just don’t have the budgets to give out large pay checks to people, but they might do other things to offset that lack of funds. For example they might allow you more vacation time, or work flexible hours. They may even give you shares as a yearly bonus. And in the U.S. give you better health insurance benefits.

Rather than strictly focusing on that base salary number try looking at your total salary. This could be a significantly higher number than you would see otherwise, and might make you feel better about what you get to take home every couple of weeks.

Test the market

Possibly the only way you are going to feel truly comfortable about your salary if to find out what your skills are worth on the open market.

What does this mean? Well, now you have updated your resume go ahead and start applying for a couple of jobs.

Go to somewhere like indeed.com and put in what you are looking for. Or answer one of those recruiters that keeps hitting you up on LinkedIn.

In going through this process you will learn a lot about yourself and your skills. You will learn very quickly if your current set of skills is marketable. If it isn’t then you’ll know you have to makes some serious changes to get yourself up to snuff. Fairly early on in any of this process someone will ask about the money that you are earning, or that you want. If you tell them, and never hear from them again, there is a pretty good chance that you are looking at way too much money. If that’s the case, and you based that number on your current earnings, then you are probably doing pretty well for your role where you are now (although a single data point would not prove that, but getting something similar from a couple of companies would).  That might well be enough to put your mind at ease.

There is a chance you might make it all the way through and get an actual offer from another company. That offer might be a good indicator as to what you are worth in the current market. Compare that to what you earn now. See if that makes you feel a little better.

 

You have your data, now what?

I’m paid fairly

This is a good thing. You are getting paid what you are worth. You also have a great list of things that you have worked on over the years, and know what other companies are looking for. Maybe it is time to start looking at expanding your skills even further so that you can go from a DBA to a Sr DBA, or a make that jump from dev to lead dev. This will help you earn more down the road, just keep documenting those improvements.

You know that you are being paid fairly, but that may not help the feeling that you are being underpaid. Why yes, there is a possibility of a disconnect between the facts of the situation and how you feel. This is actually a perfectly normal thing.

How do you get past this? The first thing to do would be to speak with your spouse, partner, or a trusted friend to get their thoughts around the situation. Sometimes their advice will help you see through the situation.

Another option is to go and see a mental health professional. You probably think that is really jumping off the deep end, after all, you may not feel as if you have a mental illness (and feeling like this does not mean that you have one either).  You do not have to have a mental illness to go and see a mental health professional. Someone like a clinical therapist could sit with you and help guide you through this disconnect. In situations like this it could be something else which is masking this feeling of being underpaid. If you go back to the first post in this series, you’ll see I listed several potential reasons for apathy, this feeling of being underpaid could well be masking one, or even several of those reasons.

At this point you could make the choice to leave your job and go somewhere else, that may well not fix the problem for you if some of the other underlying things exist in the new position.

I’m not getting enough money

The salary research is complete. You know that you truly have a solid ten years of experience, and when you tested the market you got a job offer for $10k a year more than you are making now.

So what do you do now?

Sit down with your boss and have a heart to heart. Explain that you feel that you are underpaid in your position. Show them the salary numbers from where you live, for the job that you do. Go through your growth over the last few years, and the things that you do for the company. Break out your resume and cover all the relevant points that back your argument. Do not forget to bring your prior reviews into the conversation as well.

Now ask your boss if there is anything that they can do to get you some more money, as you feel you are worth it. With all the data points that you have brought in you are going to have a lot of ammunition. Here are some of the responses that you are going to get:

  • I agree, you aren’t getting paid enough, but the budget just can’t support the kind of money that you are asking for
  • I would love to give you more money, but my boss won’t allow it
  • HR has put a freeze on increases
  • While you have good points I disagree on insert random reason here, if you can fix that then I can see what I can do to get you more money
  • The company isn’t doing so great, so we really can’t do better right now, but things should get better next year
  • You know, you’re right, we really are doing you a disservice, let me see what I can do about getting you some more money now

Now that the conversation has been had you sit back and wait for the money to roll in, right?

Wrong.

The chances are that the company is not going to magically come up with more money, so you are left with a few options.

Quit

You had an offer from another company for more money, take the job. Sure you might be miss some things from your old job, and starting a new job is a very stressful thing, but it might be just the thing to get you out of this rut. At the very least you’ll be earning something you feel is closer to your actual worth (hopefully).

Threaten to quit

Tell your boss that you have had this big offer from another company, and explain that you are going to leave if you don’t get matching money (or something close to matching money).

I really do not recommend this approach. First, if you make this threat then be prepared to follow through with it should management decide to call your bluff. Secondly, management knows that you already have one foot halfway out the door, and so they are not going to trust you much going forward. They are probably already looking for your replacement.

Stick it out

It is possible that you might decide that the extra few thousand dollars aren’t going to make that huge a difference, and that there are many other positive aspects about your current job that make it worth staying where you are.

Sure, you won’t make the same money, but all the work getting to this point might make you realize that money isn’t everything, and that you want to focus on your true priorities.

 

Final Word

Frequently heard around the workplace is that staying in a job for more than three years means that you aren’t getting paid what you are worth. There is an article on Forbes that argues staying at a company for even two years is really bad for your long term earnings. There are people that see large salary jumps by changing jobs even more frequently than that.

You truly have to sit down and figure out if the pay you are earning is truly reflective of your skills, and the market in which you work. Only once you have this data will you know whether your pay is fair. With that data in hand, only then you can then make the decision on what to do to combat that apathetic feeling.

If you have other ideas for how to handle that feeling of being underpaid, please share in the comments.

The Loneliness of the On Call DBA

There are lots of great things about being a SQL Server DBA. You get to play with lots of cool software; get the chance to spend someone else’s money on hardware; constantly be in a position to learn new things; and be a member of an awesome community.

With the good always has to come a little bit of bad. I’ve been a production DBA for over 10 years now. That means for over 10 years I’ve been on call at various times. Way back when it used to be a case of carrying a pager everywhere and that pager get swapped between team members. Now the NOC has my cell number and I can be called at any point. I also get emails on my phone day and night. Work loves it when you’re in constant contact (no really, they do).

The toughest thing about being a DBA has to be those long late nights when you are dealing with a production issue. The feeling of loneliness is pretty intense when the house is quiet and you are sitting in front of a monitor, it’s bright light burning into your tired bleary eyes and making them burn. The only noises are the faint sounds of sleeping from another part of the house, the clicking of your keyboard as you type in the database restore commands and the low humming from the refrigerator.

This weekend I had to deal with a long brutal outage. I ended up working through the night and most of the next day. It is what I get paid for however; so while I didn’t exactly have a smile on my face I did walk away at the end with the satisfaction of knowing that I had done a good job. I was able to get everything back online as it should be and that the business functioning at 100% again.

When I first started working with SQL Server as a DBA I thought it was just a job, I didn’t know it would be a way of life. Truly, being a DBA is a job that you live. If you’re a DBA, live it well my friends.