Have you ever had a conversation with a fellow technologist that you felt wasn’t quite at your skill level, and at some point you discovered that she/he makes $20,000 more than you do? $50,000? As someone who has had a great deal of access to the salary and compensation details for thousands of software engineers over many years, I can report that there can be significant variation in salary between technologists with almost indistinguishable skills and qualifications. This may not be news to some, but the reasons might not be obvious to professionals in the field, particularly if someone has only been exposed to a small subset of industries or companies. Many of the explanations are somewhat unique to this industry or just more prevalent in the software world. Regardless of whether or not money is a primary motivator in your career, it is still useful to understand why others may be earning more (and what you can do to join them).
What are some possible explanations as to why someone equally or less-qualified makes more money?
- Public image and intangibles – An average technologist may be compensated above more productive co-workers if there is some advantage that the company sees in that person’s employment. Community influencers such as open source project leads, conference organizers, meetup/user group leaders, speakers, and authors may all fall into this category. In business this is the concept of goodwill, where an asset has a higher value due to an intangible. Google’s high profile hires of James Gosling and Ray Kurzweil and Dropbox’s hiring of Guido van Rossum came with a certain level of goodwill bundled. On a local level, a company may believe that hiring the local Python group leader could make hiring Python pros easier and less expensive, which may justify a higher salary independent of the developer’s quality or production. Regulars on the conference speaker circuit can ask for a premium simply based on the PR provided every time their bio is published on an event website.
- Negotiations and raises - Software professionals are often stereotyped as unskilled negotiators or uncomfortable in situations where they are seeking additional salary or perks. This first requires the courage to ask for more (in the form of a raise, or a higher starting salary for a new hire), and then the knowledge and skill to ask effectively. As a recruiter I typically handle salary discussions for my candidates, and I know that for most engineers that particular service is highly valued. A difference of even a few thousand dollars as a starting salary has the potential to dramatically alter your lifelong earnings. Remember that this number is regularly used as the basis for bonuses and raises, and most importantly it usually has some bearing on salary at your next job. Think of starting salary as the principal level for compound interest.
- Market knowledge - Remember that conversation alluded to in the first line of this article? If you had three or four similar interactions within a year you may have noticed a pattern and it seems your friends might know something that you don’t. Many engineers aren’t even aware that they are paid below market rate because they just trust that they are fairly compensated and have no reason to investigate further. I have had conversations with experienced and well-qualified developers who are floored when they learn that they have been paid 20-30% below market rate for many years. Know what you are worth.
- Self-promotion - Even if the high skill level is there, many technologists are either unable to properly express their own expertise and accomplishments or feel awkward tooting their own horn. The ability to market yourself often starts with a powerful résumé and a confident interview presence when trying to maximize salary at a new job. When staying with your employer, self-promotion requires the savvy to make your accomplishments known without looking like a braggart.
- Consulting differential (both independent and staff) – Developers that are independent consultants charge clients a premium to account for expected frictional unemployment and to address the fact that a temporary employer typically will not make any real investment in the career of a temporary employee. It is rare to see independent consultants sent to conferences or trainings by their clients, and independents do not always get the most desired projects. Independents are also on the hook for their own benefits, retirement savings, etc. Salaried employees of consulting firms are also often paid above other similarly qualified professionals, as it is easy to measure a consultant’s contribution to the firm’s net revenues based on bill rates, billable hours, and their compensation package. There may also be regular travel or variable commute that tends to inflate salaries. Salaried consultants who know their bill rate, utilization, and total compensation package have a distinct advantage when trying to justify their value (and salary) to an organization.
- Profit vs Cost Centers - Similar to consulting, companies that use technology as their main source of revenue tend to pay higher than firms where it is considered a cost center. Building software products that will be sold usually results in higher salaries than building systems for internal use. There are some major exceptions, but those tend to be specialized to industries where technology utilization is a key differentiator in the performance of the firm’s primary business interests (trading systems come to mind).
- Rare skill – The premium paid for even one single rare skill among many common skills can be substantial. When a new language, framework, product, or platform is hyped as the ‘next big thing’ and adoption begins, even junior level talent with that skill can earn above more generally qualified individuals. This is simple supply and demand for a scarce resource. In years past the premium was greater for rare skills, as companies today seem more confident in their ability to train an existing resource than to hire someone new and much more expensive.
- Time expectations – Some employers pay a premium because of the high expectations they place on hires. Unless you have some vested interest in the success of the company (stock, profit sharing), a 70 hour work week is probably unacceptable unless you are being compensated accordingly for that level of commitment. Positions that require employees to be on-call are also commonly paid above market. Work/life balance has a price, and some are willing to sell.
- Long tenures at big companies – Many large organizations have systems of pre-determined fixed raises and regular bonus or vacation increases for certain milestones. The hire’s value to the company increases over time as they become highly specialized in a certain environment, and the concept of golden handcuffs is born. The downside of this for the employee is that it often leads to compensation well above true market rates, which makes it nearly impossible to find new employment at a lateral compensation rate. When these types are victims of a layoff, the result is brutal.
- Location – No explanation needed, I hope.
Conversely, here are a couple explanations as to why someone might make less.
- Startups – Startups often exchange equity for cash compensation. These employees are often earning less for the opportunity to receive a big payout. Candidates negotiating with startups must place their own figures on the value of the equity, which is a difficult task. Startup compensation today is much more competitive with large companies than it once was, at least in my experience.
- Benefits, work/life balance – Since most professionals refer to compensation in terms of cash paid, employees that receive significant value in their benefits and perks may be mistakenly considered underpaid. Generous paid time-off, tuition reimbursement, and childcare can be major expenses that are covered by some employers and often not included in discussions.
- Experience value – The opportunity to work for certain companies, to learn a valuable skill, or to be on a highly-regarded team is a reason that many engineers may sacrifice some salary, and shops that provide that ability may leverage that during negotiations. Many developers are entirely comfortable with accepting compensation below market as a trade-off for the positive effect on their career and marketability.
If the topic of compensation comes up with other technologists, consider that there may be several explanations and hidden factors for the disparity between numbers. When exploring new opportunities, keep in mind that the amount of your offer is not solely based on your skill level relative to others or the value the company feels you will provide. In situations where several of these explanations apply simultaneously, the numbers become even more skewed.If you found this post useful, you may find my ebook Job Tips For GEEKS: The Job Search even more helpful. You can also follow Job Tips For Geeks on Facebook, Twitter, or Google+.