Tell Us What You Make: The 2017 Data Professional Salary Survey

Not what you’re worth, dear reader: we know your worth cannot possibly be calculated in base-10 numbering systems because you’re just so awesome, but what you make.

A few things to know:

  • It’s totally anonymous (we’re not getting your email, IP address, or anything like that)
  • It’s open to all database platforms
  • Your responses will be totally open (so we’re not asking for city, for example)

Your next steps:

Thanks for your help in giving everybody in the community a better chance to talk honestly with their managers about salary.

Previous Post
Filtered Indexes and Variables: Less Doom and Gloom
Next Post
Build Me A Build: Assembly Olympics

81 Comments. Leave new

  • QuickQuestion
    January 5, 2017 8:41 am

    For the # of servers should dev/test be counted as well or were you looking for only production? Might be good to specify if you can modify the form.

    • In my experience, dev/test servers aren’t less work. You still have to patch & troubleshoot ’em, plus they come with devs/testers, which have plenty of questions, and they want you to do frequent restores.

      • My company uses the “shared” approach – one cluster has multiple instances. So we definitely have more instances than servers. I was not sure how to answer this question correctly…

  • What does “Total Salary” mean? Is it inclusive of bonuses? Probably too late to change the wording for this survey but if you do it again you might want to make it explicit, e.g., “Total Salary, Including any Monetary Bonuses.” (Equity should probably not be included.)

  • Checking out the raw data and the most important question is, what does the $1.1M person do for a living?

    • Graeme J Martin
      January 5, 2017 12:09 pm

      That was Brent’s survey.

    • Which means the least important question is: “What do those guys do that make $120.00 and less per year?”. Can we do like the Olympics and just throw out the highest and lowest scores? And Adam, I’m not greedy, I’d ‘take’ the one that makes only 300K.

      • Yeah, switched the super-lowballs to thousands. I’m guessing someone who types in 120 means 120000.

      • I assume the “90” and similar meant 90k. Maybe the 1100000 was an extra 0. Tough to say, but if it says company owner / 20 years experience or something like that then maybe it’s legit. Agreed that throwing out some data is a good idea. Not sure what you meant about being greedy. Isn’t the whole point of this survey to allow us to be greedy? Nothing wrong with wanting to make more money, in my humble and 100% capitalist opinion!

        • Yeah, I can believe the $300,000 level stuff I’m seeing (based on some of the other details on those rows) – I know freelancers who really clean up if they offer retainer-based services, or sell products. Over $500k I start to get a little suspicious.

      • I want to meet this person that works 160 hours per week too.

        • I want to shadow these people with 20,000 and 50,000 database servers to look after. I am fairly new in the field and that seems absurd to me.

          • The trick is to look at the number of other people on their team who do the same job – these aren’t loners. (There’s so much interesting data in here if you look at all the columns in the raw data.)

        • Josh Henderson
          January 9, 2017 9:33 am

          That’s the catch 22.. If they work 160 hours per week you will never be able to meet them. Do they exist?

    • Hahaha, guessing that was a typo on 110,000, so changed it to that. (I’ve been cleaning up a few of the more BS job titles, too – if you hit Other and type in “Senior DBA,” you’re getting changed to DBA.)

    • Lying probably? 🙂

  • There should be choice for Nonprofits under the business type

  • For “Years of doing this job”, does that mean at your current company or all years doing the equivalent job across companies?

  • I can pick from lists on the survey, but I can’t type into any of the text fields. I tried both Chrome and Firefox.

  • So who’s making $2-300,000 a year and are you hiring?

    • The answer — generally — is that it comes down to the question of risk vs reward. People who run their own companies (including solo operations), people who work for finance firms with heavily bonus-weighted structures, and people in high visibility management positions are going to make more in good years because they’re carrying a higher risk of losing a large amount in a bad year. It’s much like managing an investment portfolio. You have to decide what level of stability vs payout keeps you happy.

  • This is great! I’d love to get my hands on this data and put it in Power BI to see how some of the different answers relate.

  • I find it quite interesting that roughly half the responders so far are looking for a new job.

  • Brent,

    Thank you for doing this, It is great data to share with my boss.

  • Maybe those in the US should have the question of whether benefits are included or not. My pay looks artificially high because I have to pay for medical benefits for my wife and I.

    • Yeah, we talked about that in the blog post last week about picking questions too, and it was too hard to answer all the benefits in a short question span. For example, health insurance, performance-based bonuses, company-based bonuses, training classes, intangibles like free food, flex time, etc.

    • I think one can reasonably infer that a consultant salary doesn’t include health insurance, but in the U.S., being an employee doesn’t necessarily imply that health insurance is included. And that can be a bigger factor than bonuses and training combined when looking at total compensation. It could simply be added as a check box for “Includes Health Insurance”. I don’t think we’d want all the possible check boxes for benefits, but this is major.

  • For next year would be nice to identify more on geographical info, London vs outside London, San Fran vs Detroit. Would give a little more prospective on $. Might be tough to define.

    • Yeah, we talked about that in the blog post last week where I let you guys pick the questions. Unfortunately, if you let people do free-text entry into a city field (which SQLServerCentral did), the data is unusable – we can’t trust you people to all use the same variation of a city name, heh. (And people put in things like West London.)

      It’d be awesome to have a system that gave you a dropdown list of state/provinces after you picked a country, and then a dropdown list of cities after you picked a state/province. We couldn’t do that with the resources we had easily available, and I’d rather give you something than nothing.

      For 2018, we’ll work with the community to sponsor an open source project to make this easier.

      • Hey Brent, I designed that sqlservercentral survey in surveymonkey and asked Steve to publish it a few months back and we got back ~430 responses. I reminded him to publish results during the PASS summit in seattle, but being the “busy” man he is ;), he only published results last week.. I too wanted to get location information because NY/SFO are heavily skewed vs no-name town, but had same resources issue you did.

        I also wanted to separate hourly/yearly salaries because of nature and hours of work, rather than converting them.

        And yes, for next year, I like the idea of a commnunity-sponsored survey, maybe something we can float around at the PASS summit in October 2017

      • I agree, state would be nice, so you can see where these jobs are in relation to compensation.

        • Capturing the first three digits of the zip code (for entries from the U.S.) would get it down to a metro area, separating out major cities like New York, San Francisco, and Chicago from the rest of their states, while still including nearby suburbs that are impacted by the big cities’ salaries.

          • Mark – hmmm, not really. For example, here’s the zip codes from DC alone – and then you’d have to think about the surrounding metro areas that also call themselves DC:


          • You could use Census Bureau definitions of metropolitan areas, which have a loose relationship to Zip codes, via zip code tabulation areas. See for more information if you wish to pursue such an approach/

          • Mike – this survey is global.

          • Good point, Brent. However, it may be that some other countries have a similar approach that could be implemented (I’m thinking UK, Canada and others). Others won’t so you’d just have to use city names or some such. I take your point – it could get complicated quickly; definitely a barrier to implementation.

          • Right, given that I’m implementing this in my spare time, that’s a barrier too high. 😀

  • BTW, if any of you folks want to feel just a wittle bit jealous 😉 , take a look at the Seattle Tech salaries spreadsheet –

    • That’s not really indicative of the breadth of salaries here. I know some lead dev’s & director types that are making in the high 200k to mid 300k. But they are very good, very smart, and work more hours than I want to consider. I did work similar hours at a previous company and it’s just not worth the impact on your life unless your 25, single, and don’t want to have a life. Most of the people I know with work ethics like that can’t even hang onto any significant other, and/or are on their 3rd marriage.

  • In technical terms, I am employed by a private company that charges clients for my hours and pays me a salary; but since I am the sole owner of that company I am actually self-employed.
    In the survey, would you want me to put the actual annaual salary I pay myself (while keeping the rest of the income in the company as a reserve for bad times), or the total amount I billed last year?

    • That’s why we have the Job Type dropdown, and one of the options is Company Owner. The rules are very different for us. 😀 I don’t think our salaries directly map to the what the rest of the industry sees.

      If I filled it out, I’d base it on taxes. The government sees me as the company owner, so whatever the company makes in profit, I make. Even if I only pay myself $1 salary and I leave the rest in business banking for hard times, I still get taxed on all of it – and I can always take that banking out whenever I want – so effectively my salary survey entry would be our profit.

      (Which is also why I’m not filling the survey out – my salary’s kinda weird, what with the training classes and having employees, and I don’t think it’d be too useful for the rest of the industry to gauge their own salaries.)

      • I thought you said you couldn’t fill it out because you only made the salary column an INT?

      • Yeah, the situation is indeed a bit different over here in the Netherlands.
        Over here, the government considers both myself and my company as two separate legal entities, that both have to pay taxes. For my company, the tax is a straight percentage of the net profit. There are a few edge cases where costs cannot be considered for taxation purposes but let’s not go there. The legal person “me” has to pay income tax, which is based on a combination of earnings (the salary my company pays me), tax deductable costs, other form of income (e.g. dividends payd on any shares I own, including those in my own company), and the value of everything I own (savings accounts, market value of shares, etc, – in this category the shares of my own company are a bit weird; because they are not sold on the market their price is fixed even when the value of my company changes).
        Long story short: I better not fill out the survey either, 🙂

        • Yeah, you can set companies up that way in the US too (typically an S-corp) but incurs a lot of extra overhead, so we avoided that when we set up Brent Ozar Unlimited. (There’s advantages to it, just didn’t make sense for us at the time.) So many wild gotchas to starting a company!

  • Seeing how many comments were people wanting to narrow down the results by city / metro location, perhaps on the survey next year include an option for postal code / zip code? Make it an optional field, plus if you get too many garbage results you can throw it out when you work the data.

    It would have to be a character field, seeing as you get different postcode formats (US zip code, CA codes, UK, etc…)
    But it would let people who want to play with the raw data to see if their buddy who works in the north end of London is making more than they are in the south end…

    • Jason – yep, we talk about that in the other comments. Go ahead and read those. Thanks!

      • Leave it to me to not quite get the subtext of some of the previous comments…
        I read the comment about not allowing entering a city because people can’t be trusted to spell it correctly (or everyone enter it the same, or using regional terms that don’t actually reflect a real city {ex “South Detroit” = “Windsor, Canada”})

  • Lee Malatesta
    January 9, 2017 9:48 am

    I’m probably in the minority but I’m a part timer. None of the Job Type answers really fit.

    From a quick review of the spreadsheet, it looks like the “Independent or freelancer” answer is a far less prevalent answer to this question than “Full time employee”. Yet I doubt that most of the sub-40 hours per week answers who indicate “Full time employee” are from countries or states that have less than a 40 hour “full time” work week.

    I recommend adding “Part time employee” for next year.

  • Andrew McDermid
    January 9, 2017 12:49 pm

    it *shouldn’t* matter, by by-gender results here would be interesting

    • I second that, being one of the minority – would be nice to get that info to compare. 🙂

    • Likewise, ethnic group analyses might prove enlightening. As AM state, it should not matter but in reality it does track and bringing light to this issue helps us make better decisions overall.

  • As someone from a country other than the US, it’s honestly hard to believe some of this data outside the US is in USD. Either I’m way the hell out of line, or some people didn’t convert their salary to USD at all, or used some arbitrary rate…. I realize it’s more work, but it might be better to ask for the salary and currency as separate fields, and then have some conversion take place when the data is finalized. This of course in addition to the whole zip/postal code thing that was suggested earlier. 🙂

    • Eric – yeah, it emphasizes the problem you always have when you let human beings enter data: the data’s just not 100% trustworthy. You’ll want to focus on the country that matters to you for now rather than looking at other countries.

      This is the concern I have about zip/postal codes, too – I just don’t see people getting that data right. And it’s sad, given that we’re data professionals, but it is what it is.

      • Next year I’m getting a robot to enter the data for me. It will probably still say that it’s under paid and over worked. ;o)

  • Hey Brent, did some data mining on your survey data

  • I LOVED this- thank you for doing it, folks! Do I get points taken off for loading it in Oracle? 🙂

  • Here’s my quick and dirty analysis:

    Of these, I spent most of the time on PPP, figuring that that’d be an angle relatively fewer people would hit.

  • Brent,
    As always, this was a great initiative! I blogged about it here:

    It’s surprising how nothing really guarantees a higher salary. It doesn’t matter your location, years of exp, technology, degree or not, etc. Really just depends. 🙂

  • Hi Brent, took some more time designing here are my analytics and data visualization through Power BI –

  • Cláudio Silva
    January 22, 2017 4:07 pm

    Hi Brent, I have a question regarding “EducationIsComputerRelated” value.
    I expected to have “N/A” only when “Education” column is different of “None”. Am I right, or am I missing something?
    Just to be sure and to do some data care. Like, if “N/A” maybe we can assume “Yes” as default value.

    • Claudio – since human beings are entering the data, you can’t really assume anything. In theory, they should have only picked N/A if they picked no college degree, but if they didn’t, you can’t be sure which answer is incorrect, sadly.