| |
|
|
||||
![]() |
||||||
| |
|
|||||
|
Orphans Preferred
Software Demographics The
stereotype of programmers as young men appears to have some merit
too. The average software worker is significantly younger than
the United States labor force. The age structure of the workforce
peaks at 30-35 years old, which is about 10 years younger than
the peak for other types of technical workers. The average age
is 38 years old, which is younger than the average age of the
United States labor force overall. The majority of software developers are male. In the latest year for which data is available (1996), 72 percent of the bachelor degrees in computer and information science and 85 percent of the PhDs were awarded to men. In high school, only 17 percent of students taking the advanced placement test for computer science are female, which is the lowest of any subject. The comparison of programmers to Pony Express riders begins to look less and less like an exaggeration (though I don't have any evidence that computer programmers are any more "wirey" than average). Education Many programmers go through a gradual occupational awakening. When I wrote my first small programs, I thought, "Once I get the program to compile and quit getting all these syntax errors, I'll have computer programming figured out." After I stopped having problems with syntax errors, sometimes my programs still didn't work, and the remaining problems seemed even harder to figure out than the syntax errors. I adopted a new belief, "Once I get the program debugged, I'll have computer programming figured out." That belief held true until I started creating larger programs and began having problems because the various pieces I implemented didn't work together the way I thought they would. I came to rest on a new belief, "Once I figure out how to design effectively, I'll finally have software development figured out." I created some beautiful designs, but some of them had to be changed because the requirements kept changing. At that point, I thought, "Once I figure out how to get good requirements, I'll finally have software development figured out." Somewhere along the path to learning how to get good requirements I began to realize that I might never get software development figured out. That realization was my first real step toward software engineering enlightenment. Programmers
take many circuitous paths to personal enlightenment, some resembling
mine, some not. As I mentioned earlier in the chapter, and as
Table 1 shows, about 60 percent of software developers have obtained
bachelor's degrees or higher. According to the United Engineering
Foundation, about 40 percent of all software workers obtained
their degrees in software-related disciplines. About half of those
who eventually obtained a software-related degree did so after
first obtaining a bachelor's degree in some other subject. Another
20 percent of all software workers obtained degrees in subjects
such as mathematics, engineering, English, history, or philosophy.
The remaining 40 percent completed high school or some college
but did not obtain a four-year degree. Universities in the United
States currently award about 25,000 computer science and related
degrees per year, whereas about 50,000 new software development
jobs are created each year.
Table
1. Software Developer Education The implication of all these statistics is that a great many software developers are well educated in general but have not received any systematic training in computer science, much less in software engineering. What education they have obtained has been acquired through on-the-job training or self-study. Providing more consistent education in software engineering represents a significant opportunity to improve the level of software development practices. Job Prospects Total current employment for software workers in the United States is about 2 million. As Table 2 shows, jobs are divided among computer programmers, systems analysts, computer scientists, computer operators, and network administrators. (These government-statistic job titles might sound old fashioned, but they do include modern software jobs.)
Job prospects for software developers in the United States are very good. According to the Bureau of Labor Statistics, computer and data processing services will be the fastest growing job category between 1996 and 2006, with a projected increase of more than 100 percent during this period. The job category in second place, health services, has a projected increase of less than 70 percent. All computer-related job categories except computer operators are expected to increase. Worldwide, software development jobs are expected to increase as dramatically as they are increasing in the United States. Table 3 shows the projected increase.
With a 25,000 job-per-year gap between bachelor's degrees awarded and jobs created, demand for computer programmers should remain high in the United States for at least the next several years. This labor shortage has been a perennial feature of the software world at least since the mid-1960s. Software-related jobs are rated well in terms of salary, benefits, work environment, job stress, job security, and other factors. Desirable as these jobs are, programmers know that there isn't much competition for them. |
|
|