Topics which novice software developers with no computing education most need to learn about to become proficient on the job.

 

Topics where there was the greatest difference between questions 2 and 1 on the survey, counting only participants who had learned almost nothing about the topic in their formal education. The implication is that these people were forced to learn this material on the job, and hence it must be important to someone with a career in software development.

Sample of data from the 1998 Survey of Software Practitioners

Rank

Topic

Forced Learning (Q2 - Q1)

Std. Dev.

n

1

Specific Programming Languages

3.1

1.45

20

2

Data Structures

2.7

1.61

38

3

Operating Systems

2.7

1.24

52

4

Testing, Verification & Quality Assurance

2.7

1.23

106

5

Project Management

2.7

1.35

111

6

Object Oriented Concepts & Technology

2.6

1.54

103

7

Databases

2.6

1.30

79

8

Configuration and Release Management

2.6

1.58

146

9

Requirements Gathering & Analysis

2.5

1.47

100

10

Ethics and Professionalism

2.5

1.65

104

11

Software Design and Patterns

2.5

1.43

83

12

Giving Presentations to an Audience

2.4

1.42

88