Why is there such a huge difference in web developer salaries?
July 25, 2014 1:32 PM   Subscribe

I'm studying web development. The yearly salary estimates I've found online range from $40,000 to $80,000 or more. What gives?

I'm speaking about back-end development, not web design. Obviously, I'd like to reach the higher ends of that salary range after five or so years of work experience. Do you have tips to help me maximize my potential in this career? Are there specific skills or programming languages I might want to focus on, and what is a realistic salary expectation in this career in the first few years? What about after a few years of experience? The money isn't the only factor I'm considering, but it does make me wonder. How do certain people reach the upper echelons?
posted by quiet earth to Grab Bag (21 answers total) 4 users marked this as a favorite
"Web developer" is a class that encompasses a pretty large diversity of positions with a considerable variation in required skill sets, which possibly explains the range that you are seeing.

Another factor which is not to be discounted is geography -- starting salaries for a web developer in Mountain View, CA, are going to skew much, much higher than starting salaries for a web developer working in Indianapolis, IN.

If you want to see what the market values at this moment, look at job postings in the area where you want to live.
posted by Nerd of the North at 1:40 PM on July 25, 2014 [4 favorites]

Industry (if you work corporate) would certainly be a factor.

There's also whether you manage work or just do it. So the team lead developer may not be a true manager (doing performance reviews, discipline, salaries), but may manage the work of a team. That person could still have the developer title.
posted by 26.2 at 1:54 PM on July 25, 2014 [1 favorite]

Also depends on the company. A public university or non-profit will have significantly lower salaries than a big company or a heavily VC backed startup, even if they do the same type of development.
posted by xtine at 1:56 PM on July 25, 2014 [4 favorites]

Industry is definitely a big issue. Pay for a developer working on a mostly static web site will probably be lower than pay for creating a very large web application.

Experience is also a big difference. Programming, and especially web development, has a wide array experience ranging from self taught with no professional experience through 4 year degree + internships all the way up to been doing it for years. Entry level (if that's what you're looking at) can mean some very, very different things.
posted by Krop Tor at 2:02 PM on July 25, 2014 [1 favorite]

Speaking as the SO of a web developer, I can tell you that my SO started at the lower end of the range of salary (with no degree beyond his HS diploma, a situation that hasn't changed) and over 15 years or so, has moved far beyond the higher end of the salary range you give, all while working in the same mid-sized city, but while jumping companies about six times (from a small, local company to an international corporation). Even within the same company, each time he's worked on different projects with varying levels of responsibility. (He is adamant about not moving up into management, otherwise his salary would probably continue to grow since the sky seems to be the limit salary-wise once you make that leap.) So there are some more variables for you to consider: Degree, level of experience, years of experience, type of project, and company size.

Recent developments will make your move into the field much different from my SO's, I'm sure. The sluggish economy coupled with a glut of graduates has spoiled companies, allowing them to offer smaller salaries to both new and experienced developers. There's also a trend, especially with larger corporations, to farm out work to temporary consultants/developers in countries like India, where the salaries are much lower and the developers work remotely, never coming to the US.
posted by GoLikeHellMachine at 2:14 PM on July 25, 2014 [3 favorites]

As others above have mentioned (and will likely mention below) there are a LOT of variables that determine salary. I'd like to encourage you to re-evaluate this for just a moment:

I'd like to reach the higher ends of that salary range after five or so years of work experience

Let's assume that you maximize every external variable and you pick the most lucrative possible industry/type of work/technology stack/etc.

You're talking about a career that a not insignificant number people have been working in for decades. If it were common and easy for people to start nearing the top end of the salary range in just five years . . . well . . . the salary range would increase unless people with more than five years of experience were all functionally identical and/or there was a huge pool of them to choose from.

Neither of those is the case.

In the unlikely event that you are a world-class software developer in just five years (I say 'unlikely' not as a slight, but as a statement of general probability), then other folks can maybe address how to get what you're worth.

I'd like you to consider very seriously that in just five years you simply will not merit "top end" pay.

"Back-end web development" has a huge range of applications that range from simple, tiny websites that four people a month will use to sprawling, popular internet stapes and everything in between. It is not uncommon to see someone with five years of experience who really hasn't done more than dip his/her toe into problems with scale, performance, or architecture.

The simple fact is that to get to the top of the developer pile, there is a bunch of stuff to learn and know, and most of it is very difficult to get out of a book or a class.

Experience matters, and five years just isn't all that much of it.

If your goal is a six-figure salary as a developer (or something in that ballpark), I think 10 years is a more reasonable goal. I'd consider someone making that much just five years out of college to either be a bit of a prodigy, tremendously lucky, considerably overpaid, or some combination thereof.

This isn't to say that it can't be done, but I'd encourage you to re-think the timeline you expect this to happen on.
posted by toomuchpete at 2:16 PM on July 25, 2014 [2 favorites]

People are worth more the longer they do the job.

People start around 40 with some combination of education and basic experience and then they get more money by a) having more experience, b) knowing how things work at that particular place (including location of buried bodies, etc), c) pursuing specialized skills (either advanced skills or management/sales/implementation add-on skills), d) being good, e) being a dick but knowing who to make friends with, f) lucking out at a startup, g) taking new jobs at other places when there's no room to grow.

I don't know how, at 5 years in, you would get paid the same as someone 10 or 20 years in. Advanced degrees - either MBA, something specific to your field (game design, human factors, IS/CS degrees etc) - might get you part of the way, but it's just honestly a little unrealistic to expect you can skip the experience curve. If you are very, very good and you play politics very, very well, you'll do it about as fast as it can be done, but it still might take you 8 years to be earning the same as most people with 10 years' experience.
posted by Lyn Never at 2:18 PM on July 25, 2014 [3 favorites]

Oh, the other variable, which I did not mention, is the gender-based pay discrepancy in the industry. At one of the local companies, the owner/CEO told my SO, "If I want more women to apply for the job, I post a salary offering $5,000 to $7,000 less than I offer when I want men to apply for the job."
posted by GoLikeHellMachine at 2:19 PM on July 25, 2014 [2 favorites]

I've done web development for about 15 years, in NYC and Minneapolis, and I have friends all over who do it. I have also done a lot of hiring in the last several years. Those $40k salaries you see online are not real. What I mean by that, it may be that someone some place did at some point make $40k but there were circumstances. For example, there was an equity component, or it was someone who wasn't doing "real" web development e.g. a glorified WordPress admin whose job doesn't require any actual programming, or it was a young guy working for the Maxim magazine who traded a super low salary for the party invites. Real web developers - i.e. people who do computer programming specializing in online applications - start at much higher than that. Everyone I've ever known, including fresh grads, started at 70k. The current price for a web developer here in Minneapolis is about $120k for a mid-senior level, or anyone with 5+ years of experience, really. Internet-famous developers, such as those who contribute to open-source projects - go for more. My friends in NYC make close to $200k (consulting, but still), and it's similar in Silicon Valley.
posted by rada at 2:21 PM on July 25, 2014 [7 favorites]

As someone working in the public sector not in NY or SF, I can say that there are $40k jobs out there(as opposed to what a comment above says.) Although the $40k positions at my organization are for developers in training.
posted by tofu_crouton at 2:30 PM on July 25, 2014 [1 favorite]

Yes, it's all about experience. If the company I work for hired a new graduate or someone very young to do web development, I'd expect to have to spend a lot of my time fixing their mistakes and even rewriting large parts of their code. Which is why we'd probably only hire someone with 5+ years of experience and a lot of completed projects behind them. I've always thought of it as a skilled job akin to being a car mechanic or a builder... you learn as you go, and become more valuable with time.
posted by pipeski at 2:40 PM on July 25, 2014 [1 favorite]

It's not really about experience. Obviously more experienced people tend to get paid more, but outside of an explicit "junior" position or lead, salaries across teams tend to be pretty flat regardless of experience.

A lot of developers made $80k or a lot more in their first job. rada's answer rings pretty true for me, but I *do* see low-paying dev jobs advertised, like 35-40k low.

In my opinion it's because it's a relatively new industry and there isn't really a "settled" price structure. Some people are cheapskates, so they'll post those low salaries and eventually they'll find someone desperate enough to take them. There's just a huge variety of situations out there. You have a lot of people who don't know what they should get paid, a lot of people who don't know what they should pay, and a lot of people who are just happy to get a job offer for what sounds to them like a high number.

Despite having 15+ years experience, I have found it consistently not that easy to get "market" values like rada mentions. I've done it with my last two jobs, but it was by making money a priority and not even bothering to consider jobs that wanted to be pay me 40k less then those "market" numbers just because.
posted by drjimmy11 at 3:57 PM on July 25, 2014 [1 favorite]

Put another way, regardless of how "good" or experienced I may now be, as I've started asking for closer to my "market" value, there have been fewer companies willing to even consider paying a developer that much.

So the pool of non-horrible jobs that pay what I want isn't that big at this point. So finding a new job may take a while, which is why so many people look for a job while already having a job.

It's also one of the reasons people change jobs so often. If you are at a job and improve your skills a lot, they're not going to say "Wow here's a $40k raise." Just doesn't happen. People get a raise by going to a new job with their improved skills.
posted by drjimmy11 at 4:03 PM on July 25, 2014 [1 favorite]

Salaries vary depending on geographical location, whether or not the job is in the private sector, and how marketable the skills and credentials you have are in that location. Experience is a factor, although some organizations will try to underpay for that. We've all seen job descriptions for "junior level" developers where the reqs were more appropriate to someone who was mid level, or even senior. Also, the marketability/popularity of your skills tends to be a more important factor than experience. So for example, someone who has a year or two of experience in a super trendy, insanely popular language is more likely to get a higher salary than someone who has decades of experience in a language that practically no one uses anymore.

Generally speaking in my metropolitan area, the lowest salaries (around 55K) are in academia. Junior level developers will be able to start at usually no less than 70K (but beware of companies looking to hire folks, especially naive fresh outs, on the cheap). Senior level developers (10+ years of experience) will be making six figures. The private sector will usually always pay more than any public sector (federal, state, or local), academic, or non-profit jobs. It used to be that academia and the public sector made up for that with better work life balance and benefits, but that's changing.

As to which locations are better, generally speaking you will be paid more and have more overall job security (meaning it's less likely you will need to move after a lay off because there are plenty of other jobs) if you are working in one of the tech hubs. These include Silicon Valley/San Francisco, Boston, NYC, DC, Austin, Seattle, and the Research Triangle area of North Carolina. I might also throw Los Angeles and San Diego in there but I'm sure some folks will debate me on that.

This is of course variable depending on the skills that you have and how marketable they are in the geographical location you are in. For example, in my area, Ruby on Rails developers will be able to get higher salaries than "PHP plus a popular framework" programmers because there are fewer of them and more of a demand for RoR programming. It's the same deal for C/C++ versus Java programmers, with C/C++ programmers getting higher salaries because there are fewer of them and the demand is still there. BUT, that's my location. The skill sets which are in demand may be very different in your location.

Also, it's not just skills that determine the salaries. It's also the other credentials you may have which are also very marketable. So for example, in geographical areas where there is a strong Federal Government presence (San Diego, DC) having a security clearance makes you A LOT more marketable. Similarly, organizations in some locations (I'm thinking primarily northeastern tech hub cities) will tend to be sticklers about college degrees (and also the type of degree) in a way that other locations (SV) may not be.

If you have not already done so, I highly recommend joining local professional user groups in your area in the technologies you are interested in. They are a great resource for learning new techniques and getting answers to tough problems. Among other things, they will keep you apprised of the marketability of those skills in that area, and also advise you on what sort of education, training, or other credentials you may need. As for keeping on top of general industry wide trends, I've gotten a lot out of Hacker News. They have more programmer oriented content than other news aggregators.
posted by jazzbaby at 4:28 PM on July 25, 2014 [3 favorites]

Beware selection bias. It's all about location. Good luck getting any development job in Kitchener Waterloo at all, let alone for more than $40,000US , for example.
posted by Yowser at 4:39 PM on July 25, 2014 [1 favorite]

I suppose I should have looked at the questioner's profile up front, but for those wanting to give non-generic advice: her profile lists her as being in Canada. Yowser seems to be the only one so far whose advice was specifically Canada-oriented..
posted by Nerd of the North at 4:48 PM on July 25, 2014

In my experience, there are a few factors that influence pay for web development:
  • Location of work - some places just pay more or less for this sort of thing generally. Maybe there is a surplus or deficit of workers in the field in that area. Maybe the cost of living is higher or lower.
  • The company offering the position - Some companies pay more or offer different compensation packages (e.g. salary, benefits, stock or stock options) than others.
  • The type of web-dev job - some companies just want a webmonkey to keep their small site or CMS running. Others want you to develop high-end, n-tier, scalable, buzzword-compliant web-apps. Jobs involving more complex systems will generally pay more.
  • Education - All else being equal, more education and the right type of education will generally give you a higher starting salary. In my experience a Computer Science or Computer Engineering degree is more valued than IT or Information Systems degrees, and advanced degrees tend to give another boost. Education becomes less important as you gain experience.
  • Experience - Depending on the type of job (i.e. this is more true for a job involving complex web-apps rather than just maintaining a simple site), companies will generally pay more for more experienced developers. Not all experience is equally valuable.
  • Other - Some companies don't know what they should be paying and low-ball (or, more rarely, high-ball) compensation, some may negotiate salary which can result in higher or lower pay than otherwise, and other various factors boiling down to the fact that hiring and compensation decisions involve people rather than robots can be factors in play.

posted by Aleyn at 5:49 PM on July 25, 2014 [1 favorite]

Wanted to add a comment re. some common threads in the answers above. People are right to say that certain locations and certain industries (such as academia) pay less - however, these jobs don't pay THAT much less, and they stay open FOREVER. For example, I've seen the web dev positions for the University of Minnesota open for as long as I've moved here from NYC, which is about 3 years. They just keep advertising, which means that they are hurting for developers, and I can guarantee you that while they do not pay $120k, they are offering a whole lot better than $40k (plus they offset your child's tuition, which is obviously a huge chunk of change). My point is, there is a huge bid-ask spread and I think it makes more sense to pay attention to what the developers are actually making than what the companies are advertising. Craigslist is full of "make me an ebay-facebook-amazon combo for $20k" ads but it doesn't mean they get any takers.

Another HUGE elephant in the room that no one's mentioned yet is your visa status. The tech sector is full of H1B's, and they do make significantly less, no matter what the techno lobby says in Washington. When I see salaries for web developers at Target posted on Glassdoor, I see some $40k's also, and yet several people I personally know who work there make so much more. Why would the same company pay one person $40k and another $130k for the same role? The only way I could imagine this happening is if the $40k person is handcuffed to their desk while waiting for their green card.

How do certain people reach the upper echelons?

Make a right-to-left plan. Look at the jobs that pay $80k and make a spreadsheet of the technologies that they most commonly require, and work backwards i.e. work on projects that include these technologies. For example, node.js jobs pay well right now - so make a project in node.js.
posted by rada at 9:16 PM on July 25, 2014 [1 favorite]

If the company I work for hired a new graduate or someone very young to do web development, I'd expect to have to spend a lot of my time fixing their mistakes and even rewriting large parts of their code.

In my personal experience of hiring web developers, fresh grads are NOT inexperienced. I don't know how it used to be but these days, the grads all have several summers worth of real coding experience as interns, plus their schooling involves constant coding projects. Maybe I've been lucky but the guys I've personally worked with are young but super productive; they contribute from the start, and their code quality is really not bad at all. FYI during the summers, the interns get paid around $15/hour their junior year and $20+/hour afterwards, which equals roughly $40k/year (example).

There's also a trend, especially with larger corporations, to farm out work to temporary consultants/developers in countries like India.

In my personal experience, that trend has slowed down a whole lot, if not reversed altogether, partly because every manager and every corporation have by now been burned by outsourcing, and partly because the salary disparities are not anywhere near what they used to be. Let's look at the numbers: $40k/year means around $20/hour, right? Google around for what the Indian/Asian/Eastern European rates are for developers these days and you'll see that they are $20/hour for the very cheapest (example 1, example 2).

(To be clear, you see an occasional lower rate from certain Indian bodyshops but that's because they provide the lowest quote in order to win the project and then pad the hours, so in the end you still pay $20/hr or more. FWIW I've outsourced for myself several times and I've never been able to find a legit developer who charges less than $20/hour).
posted by rada at 10:47 AM on July 26, 2014 [3 favorites]

Location, industry, age, and rarity.

Location. Compared to my childhood home in Kansas City, the housing where I live in the Pacific Northwest is half the size for twice the price. The bay area is twice as bad as that. The BLS publishes data on computer programmer wages, and provide a number of useful analyses. The map of annual mean wage of computer programmers by location shows a clear correlation with annual wage and population centers.

Industry. The BLS publishes data on programmer wages by industry, and bankers earn more than say Education. But technically, a lot of that is not web programming, except to the extent that you're sending SOAP XML trade requests over HTTP. But Higher Education hires the same set of web skills as Bing/Google/Facebook/startups, and the wages are known to be crap. So industry does matter.

Age. Individual's wages go up over time on average, this is a well documented phenomenon. Some of the variance in wages is fact due to this.

Rarity. I know programmers with 25 years experience. They have lots of experience automating manufacturing equipment, and designing embedded systems, but no clue about the web. They are effectively specialized out of that market. The only guy with 25 years experience in web tech is Berners-Lee. This means the market is smaller than all programmers, and hiring someone with 10 years experience is going to be costly. There's also a bonus for 'web scale'. Writing Drupal modules is slightly different than a website designed to use Hadoop techs like BigTable.

So those are some factors that can cause variance in annual wage estimates; I don't have the time / data / interest to estimate the weightings. But I suspect that's a good chunk of it.
posted by pwnguin at 12:19 PM on July 26, 2014

Incidentally, the one guy I know who's done nothing but Drupal modules (customizing, not writing his own) is making $85/hour (in NYC) so even this "lowly" skill brings in $170k/year. Also, he is working through an agency, so the client pays more than that - I am guessing at least $100/hour? Not sure what his agency's cut his.
posted by rada at 7:34 PM on July 26, 2014

« Older Pop music concerts in San Fran area over next few...   |   Sort of a child-protect my computer question... Newer »
This thread is closed to new comments.