Monday, December 8, 2014

Evaluating a Developer Job Offer Part 3: Comparing Salaries

Few decisions can have a larger impact on your financial life as a software developer than accepting (or not accepting) a new job. Today we'll examine what we know about salaries. This is part three of an essay on the financial considerations when evaluating a software developer job offer. You can start by learning the risks of taking a new job in part one.

Salary: you might not think it requires much thought-- and if your offer just takes you down the street, you may be right. However, you’ll need to move cross-country, or even to a different city, you have some comparison work to do. Location significantly impacts the value of a dollar.

To start with, the value of your new salary should probably be at least 10% more than the value of your current salary. By way of comparison, the typical raise when moving companies is 10-20%. If you didn’t disclose your current salary during salary negotiations, you may do better than that. (I know I have!)
Dragon Claw
 But what is the value of the salary? It's not simply the dollar amount. Even though people say “the world is flat”, the value of money is quite geographic. A salary, and the value of that salary really depends on where you live.

The cost of living varies greatly from city to city. For instance, I live in Austin Texas. I own a moderately sized house in the city with a backyard, a kitchen, three bedrooms, 2.5 bathrooms, etc etc. I pay about $1000 a month in mortgage and property tax expenses. If I lived in San Francisco with my current salary, I wouldn’t be able to afford a home at all. Renting a decent two bedroom apartment would cost around $4500 a month! I’ve heard you sometimes have to interview just to get an apartment there!

If an employer wanted me to move to San Francisco, would they have to pay me the previously mentioned 10-20% more? (That would be (4500 - 1000) * 12 = $42,000 more per year.) Absolutely not. They would have to pay even more: income taxes would eat up much of that, not to mention staples like food, gasoline, utilities, and more. (More on taxes later.)

For my purposes, when I discuss the value of a salary, I mean the equivalent amount of money in your current city. A lot of the time, converting a salary in a new city to the equivalent value in your home city will make the comparison more familiar to you.

Salary Statistics

Never consider average geographic salaries for your position unless the average is well above the value you currently make. The same thing goes for average national salaries. So what if the average mobile software developer in New York City makes $169,000? If the value of your current salary in NYC dollars is $328,000, an average salary won’t make you smile.

Another issue with average salaries is that you know very little about the statistical distribution of salaries. For all you know, the salaries distribute bimodally: a group that makes $100,000 or lower (i.e. the suckers), and a group that makes $200,000 or more (i.e. the winners). Perhaps most developers make above the average, and a few low-paid outliers hold the numbers down. Knowing the average helps, but it doesn’t prove that a salary far from the average is ridiculous.
Mind the Gap. I'm happy to see folks in #Taiwan mind it just like England! #trainStation #Taichung
Average salaries are also lagging indicators. For instance, if there suddenly is a lot of demand for developers, salaries might go through the roof. Even so, the average salary data will reflect the obsolete situation until the next survey. The salary (and cost of living) data can be out of date quickly.

Finally, average salaries rely on accurate job titles. Job titles for software positions aren’t very well defined. Some companies have one title: Software Developer. Some have nine: software developer 1, software developer 2, software developer 3, senior software developer 1, senior software developer 2, senior software developer 3, Member of Technical Staff, Senior Member of Technical Staff, Fellow. Multiple levels of experience tend to get glommed together in the statistics. Developers fresh from college might get lumped in with developers with thirty eight years of experience.

Also consider that developers with different experience and specialities may rate higher or lower salaries. Open GL developers might make more than Perl developers. Or maybe the other way around. Either way, if everyone is a “software developer” it isn’t any help to you.

The lack of readily available data on this is probably why consulting firms make lots of money helping companies sort out this impossible mess of how much they should pay their employees.

Don’t let average salaries mess with your head. A bad offer is a bad offer, even if the average salary data makes it look good by comparison. An average salary is just one number trying to hide a complex reality.

Consultant or Contractor Rates

In the United States, asking folks about their salary is considered taboo. I don’t know how this came about, but it can make it difficult to do field research on salaries. Fortunately, the issue of contracting rates seems to be a little less taboo. I frequently ask my consultant peers what they think the typical prevailing rates are. None of them seem very upset by the question.

Consulting rates are usually hourly, by the day, or by the week. Multiply that number by the appropriate units to calculated the revenue for a fully-loaded year of consulting. From there, I usually divide that number by two and consider that the equivalent employee salary. This is a very rough approximation, but it can be a useful way to consider your value.
Dragon Slayer. Longshan Temple, Taipei #Taiwan
Why do I divide the annualized consulting rate and divide it by two? Because that’s something a friend told me once. It’s a gross simplification of the realities of business: the costs of health insurance, employee vacation, other benefits, the cost of acquiring customers, the lack of revenue between clients, and other expenses. Based on my consulting experience, I think you can have costs closer to 1/3 of revenue, but the revenue isn’t necessarily steady.

As an aside, consultants and contractors in your field are a great career resource since they tend to have experience with multiple companies, and they have a more direct understanding of what companies really value.

I've created a job offer calculator that will help you compare your current salary to your offer, including other factors like cost of living. It also helps you compare other aspects of a job offer that we'll go over in future posts. Fill out your email below, and I'll send you a link to the calculator spreadsheet. Don't worry, I won't sell or share your email.

Get the Job Offer Calculator

* indicates required

What’s next? Evaluating the benefits your new job is offering.

No comments: