Topics ranked in order of importance to software developers, starting with the most important.

All 75 topics, according to the average of questions 3 and 4 of the survey. Note that these topics are not necessarily given an appropriate level of attention in education and training programs. Note especially the topics near the bottom of this list, some of which are nevertheless heavily taught.

Sample of data from the 1998 Survey of Software Practitioners

Rank

Topic

Overall Importance

Details

(Q3)

Influence

(Q4)

1

Specific Programming Languages

3.8

4.1

3.5

2

Data Structures

3.6

3.7

3.4

3

Software Design and Patterns

3.5

3.6

3.5

4

Software Architecture

3.4

3.5

3.3

5

Requirements Gathering & Analysis

3.4

3.5

3.3

6

Human Computer Interaction / User Interfaces

3.3

3.3

3.3

7

Object Oriented Concepts & Technology

3.3

3.3

3.3

8

Ethics and Professionalism

3.3

3.2

3.4

9

Analysis and Design Methods

3.3

3.3

3.3

10

Giving Presentations to an Audience

3.3

3.5

3.1

11

Project Management

3.3

3.4

3.2

12

Testing, Verification & Quality Assurance

3.2

3.3

3.1

13

Design of Algorithms

3.2

3.3

3.1

14

Technical Writing

3.1

3.4

2.9

15

Operating Systems

3.1

3.3

3.0

16

Databases

3.1

3.3

2.8

17

Leadership

3.0

3.1

3.0

18

Configuration and Release Management

3.0

3.3

2.8

19

Data Transmission and Networks

3.0

3.1

2.8

20

Management

2.9

2.9

2.9

21

File Management

2.8

3.2

2.4

22

Software Reliability & Fault Tolerance

2.8

2.9

2.7

23

Systems Programming

2.8

2.9

2.7

24

Network Architecture & Data Transmission

2.8

2.8

2.7

25

Negotiation

2.8

2.9

2.6

26

Performance Measurement & Analysis

2.7

2.8

2.6

27

Maintenance, Reengineering and Rev. Engg.

2.7

2.8

2.6

28

Programming Language Theory

2.7

2.7

2.7

29

Computer System Architecture

2.7

2.7

2.6

30

Computational Complexity & Algor. Analysis

2.6

2.6

2.6

31

Probability and Statistics

2.6

2.4

2.7

32

Software Cost Estimation

2.6

2.7

2.4

33

Real-Time System Design

2.5

2.6

2.5

34

Information Retrieval

2.5

2.7

2.3

35

Software Metrics

2.5

2.6

2.4

36

Formal Languages

2.4

2.4

2.4

37

Formal Specification Methods

2.4

2.4

2.4

38

Process Standards CMM / ISO 9000

2.4

2.4

2.4

39

Predicate Logic

2.4

2.2

2.5

40

Entrepreneurship

2.4

2.2

2.5

41

Simulation

2.3

2.4

2.3

42

Security and Cryptography

2.3

2.2

2.4

43

Telephony and Telecommunications

2.3

2.3

2.3

44

Parsing and Compiler Design

2.3

2.3

2.3

45

Parallel and Distributed Processing

2.3

2.3

2.3

46

Microprocessor Architecture

2.2

2.2

2.3

47

Digital Electronics & Digital Logic

2.2

2.1

2.3

48

Set Theory

2.2

2.2

2.2

49

Automata theory

2.1

2.0

2.3

50

Data Acquisition

2.1

2.2

2.0

51

Marketing

2.1

2.0

2.3

52

Computational Methods for Numeric Problems

2.1

2.2

2.0

53

Psychology

2.1

2.0

2.2

54

Accounting

2.1

2.1

2.1

55

Economics

2.1

1.8

2.3

56

Linear Algebra and Matrices

2.0

2.0

2.1

57

Philosophy

2.0

1.5

2.5

58

Second Language Other than English

2.0

1.9

2.1

59

Physics

2.0

1.6

2.3

60

Information Theory

2.0

1.9

2.0

61

Graph Theory

2.0

2.0

1.9

62

Queuing Theory

1.9

2.1

1.8

63

Computer Graphics

1.9

1.9

1.8

64

Digital Signal Processing

1.8

1.7

1.8

65

Control Theory

1.7

1.6

1.8

66

Pattern Recognition and Image Processing

1.6

1.6

1.7

67

Differential and Integral Calculus

1.6

1.3

1.9

68

Combinatorics

1.6

1.5

1.6

69

Artificial Intelligence

1.5

1.3

1.8

70

Analog Electronics

1.5

1.4

1.7

71

Laplace and Fourier Transforms

1.3

1.3

1.4

72

Differential Equations

1.3

1.1

1.4

73

Chemistry

1.3

0.9

1.6

74

Robotics

1.3

1.2

1.4

75

VLSI

1.2

1.1

1.3