Developers are getting older and wiserslightly. Though of arguable significance, there's no denying that the average age has increased in the 2005 Software Development Salary and Job Satisfaction Survey of nearly 3,500 U.S. software engineers and technical managers.
The current mean age is 41 years oldtwo years grayer than the average in 2000. Similarly, the number of years' experience has increased from a mean 13 in 2000 to 16 this year. Respondents have been with their current employer an average of seven years, and most expect to stay another four. As in previous years, 90% of respondents are male.
[click for larger image]
Base Salary Trends, 1999-2005
Salaries have risen in 2005again, slightly. While respondents claim receiving an average 5% raise this year, a comparison of 2005 and 2004 base salaries shows raises in the 3% range or lower. The average staff salary in 2005 was $82,000, compared to $80,000 last year. The average manager salary this year was $100,000, compared to $99,000 last year. The median bonus was $1,000 for staff, $4,000 for managers. And it's not a bad living: Total cash compensation for respondents was $95,000 overall, or $87,000 for staff and $111,000 for managers. That's quite a bit higher than the August 2005 report from the Bureau of Labor Statistics. The National Compensation Survey shows an average hourly wage of $35 for computer scientists, which can be extrapolated to an annual salary of $67,000or equal to the figure Software Development encountered at the 25th percentile salary level for staff. That puts developers ahead of mechanical and industrial engineers and architects, but behind nuclear, aerospace, petroleum, electrical and chemical engineers.
Over the past eight years, the survey has shown little change in job and compensation satisfaction levels. Consistently, less than 4% are very dissatisfied, 14% are dissatisfied, 23% are neutral, 43% are satisfied and 16% are very satisfied. Sixty-four percent say the challenge of their job is what matters most to thembut 55% say a flexible work schedule is crucial.
Headhunter contacts continue to rise after the recession: While 39% of respondents said they'd been called by an employment recruiter last year, that figure rose to 45% this year. It's a promising sign, though not likely to soon rival 2000's high of 69%.
While most (63%) aren't looking for a new job, those who are increasingly cite offshore outsourcing as a reason: This year, 9% say it's a factor in their job search, up from 3% last year.
[click for larger image]
Average Metropolitan Salaries
In the last decade, much attention has focused on whether American-born students are entering computer science with the alacrity of their immigrant counterparts. At the same time, the ability to attract the world's top technical talent is a crucial component of the U.S.'s competitive advantage. According to an August 2004 study by the American Immigration Law Foundation by Rob Paral and Benjamin Johnson, while immigrants comprise 11 percent of the overall population, they make up 17 percent of the 7 million scientists and engineers in the U.S. The report's findings coincide with Software Development's results for IT professionals: Eighteen percent, or 607, were born outside of the U.S., up from 15% in 2004.
This number has fluctuated slightly since 2001, the first year the question was asked. That year, 16% were foreign-born; in 2002, 13%; and in 2003, 17%. Nearly one-third (30%) of managers with the title of software architect are foreign-born, comprising the highest proportion in the survey. The lowest percentage of non-native respondents (8%) is found among staff database analysts. In education levels, foreign-born developers tend to hold higher credentials: Thirteen percent of native-born developers hold a master's degree in computer science, compared to 26% of foreign-born developers; 16% hold a master's degree in any subject, compared to 10% of natives; and twice as many hold Ph.D.s (7% vs. 3%).
|Publicly traded|| |
Fewer respondents are working on H-1B visas in 2005: 2%, compared to last year's 5%. The percentage has dropped from the highs of 9% and 7% in 2000 and 2001, respectively.
So where are these foreigners from? Discounting the confused handful who wrote "United States" as their place of foreign birth, most hail from the United Kingdom, Canada, China, India, Taiwan, Russia and the Philippines. Vietnam, Israel, Brazil, Mexico and Guatemala represented a surprising, if small, number of respondentsand the remainder came from every continent on the planet.
Developers who swear by model-driven architecture and modeling tools make the most money, this year's survey foundbut that doesn't mean those tools are the most popular. Slightly less than 30% say modeling tools are important to their work, but only 4% make the same claim for MDA or computer-aided software engineering (CASE) tools. Version control tools are also associated with higher salariesand with popularity, as 75% of developers say they used them. Next up are IDEs (60%), requirements gathering (54%), testing (51%) and project management (49%).
For this question, respondents were encouraged to write in their favorite tools, generating a plethora of responses including XML editing tools, HL7 profiling tools, Wiki and other group collaboration aids, Internet relay chat, usability testing tools such as Camtasia and Morae, UI simulators, time managers, ticket/workflow managers, network monitors, knowledge managers, graphics tools, business process modelers, automated build tools and the longtime editing favorite, Emacs. But one respondent took the time to point out, "None are ESSENTIAL."
Top Technical Skills
Though little has changed overall in what staff and managers view as the most important skills, it's worth noting one shift: Service-oriented architectures are inching upward in perceived value, as respondents ranked them up a percentage point, at 11%, from 2004's near 10%. Nonetheless, they're clearly not considered as crucial as design and architecture, programming, management and requirements gathering. Interestingly, the biggest divide between managers and staff gapes in programming and algorithm design: Fifty-six percent of staff say this skill set is among the most important, while only 48% of managers rate it as crucial. Managers tend to value business rules and requirements gathering more than staff do.
[click for larger image]
Software Development by Application Type
As always, the write-in suggestions for skills are good for inspirationand a few laughs. One respondent advises, "Extremely specialized skillsfor example, 15 years creating Linux kernel drivers for MPEG-2 data streams sent of GRPS and CDMA cellular networks (Even though the technologies are only 5 years old)." Another writes, "Business process discoverymost of the time the business doesn't know WHAT it's doing!"
More helpful advice: "Big Picture," "anything Web" and quite a few votes for agile methods in one form or another. Thinking outside the box, some suggest "Read, Write, Think, Do," or "Intelligence, resourcefulness, creativity."
Communication in all its forms is the most popular write-in skillspoken, written, interpersonal, team-wide, company-wide and language-specific (though mastery of English predominated, minor attention was paid to Russian and Mandarin).
On the humorous side are the following tidbits: "Under age 30 else overqualified," and the priceless "Ability to speak Indian or Chinese."
Languages and Technologies
When it comes to programming language popularity, there are few surprises. Cobol, Delphi, Ada and Fortran continue to decrease in popularity, along with technologies for enterprise resource planning (such as SAP and PeopleSoft) and database administration (Oracle, SQL Server and Foxpro). The little-known OO scripting gem Python is still garnering support, increasing year over year from 9% in 2003 to 13% today. Next year, the technology list will be revamped to include newer languages, operating systems or technologies (such as Ruby and model-driven architecture) and to rectify an error: the dropping of UML from the list after 2003 (when 32% of respondents said they used it).
Java and its siblings are still at the top of the totem pole, though .NET is closing in at 57% popularity. C# is in third place behind C++ and Cand C++, while dropping eight percentage points from 2003's high of 67%, has not yet fallen below .NET.
The eighth annual salary survey was prepared by the editors of Software Development. CMP Media's Information Week, along with Hewitt Associates LLC, a global management consulting firm that regularly conducts professional compensation and benefits studies, helped redesign the questionnaire in 2000. San Diego, California-based CIC Research Inc. collected and tabulated the data.
An e-mail invitation asking 102,000 readers of Software Development to fill out a Web-based survey was sent on July 11, 2005. Over a six-week data collection period, 4,054 developers responded, comprising 2,795 staff and 1,259 managers. After removing students, the unemployed, consultants and part-time employees, and cleaning the data, a total of 3,439 records remained.
How to Use This Survey
Compensation is multifactorialthere's no single right answer for how much a given job should pay. Therefore, each large salary table provides many insights into base salaries; these are achieved by slicing the cumulative data according to such criteria as age, years of experience and region. That said, many readers may be concerned if their salaries don't match the averages reported in this survey. Here's a guide to using this information to your advantage:
1. Find your general area of concentration (application design, application development, testing/quality assurance, Internet development, project management) and look at overall salaries for staff (does not supervise other employees) or management (supervises one or more employees).
2. Drill down into the various crosshatches based on age, experience and region.
3. Median salaries aren't skewed by outliers (excessively high or low salaries); therefore, they're often a valuable guide to a reasonable midpoint for compensation.
4. If your salary is below the average, does it correspond to the 25th percentile? This figure represents the salary at which 75 percent of respondents make more money and 25 percent make less. If you're at or below the 25th percentile and aren't above it in any of the relevant areas of concentration, job titles or skills, this can be valuable information for your next salary negotiationbut it doesn't necessarily mean that you're underpaid, just that your pay is at the low end of the scale.
5. In comparing your salary to national statistical data such as this, remember to also take into account skills, industry and company size. Java programmers tend to make more than Cobol programmersbut not always.
6. Also consider the general population surveyed by Software Development: Magazine readers in any industry comprise the most dedicated professionals among their peers. The average respondent is a 41-year-old male with 16 years' experience in the field and seven years working at his present company. More than a third have a bachelor's or master's degree in computer science. This is not an entry-level or universal population, so averages are higher than in a random stratified sample of software developers.
7. In negotiating your next raise, be sure to ask your manager and/or human resources director what your company's pay philosophy is. This can help you understand where your salary fits in, company-wide, and the rationale behind raises, bonuses, profit sharing, benefits and other perquisites.