Software topics ordered according to how much of the participant's current knowledge was learned on the job, as opposed to in formal education. The numers represent the difference between the participant's current knowledge, and the knowledge they had acquired at university. A high positive number means that the participant learned relatively little in university, and learned a lot on the job. A negative number means that they have had a net loss of knowledge since university, presumably because the knowledge was not of use in the workplace. Universities should think of adding emphasis on the items at the top of the list, and reducing emphasis on the items at the bottom of the list. Companies might improve the training of new employees by giving them courses in the topics at the top of the list. This might be more efficient than letting them pick up the topic while working. Configuration management 2.4 Testing & quality assurance 2.1 Process standards 2.1 Maintenance 2.0 Project management 1.9 Object oriented analysis & des. 1.8 User interfaces 1.7 Requirements gathering 1.6 Cost estimation 1.5 Reliability 1.5 Real-time 1.5 Metrics 1.3 Data transmission 1.1 General s/w archit. & design 1.0 Databases 0.9 Formal methods 0.8 Parallel and distributed 0.8 Systems programming 0.8 Information retrieval 0.8 File & information mgmt. 0.6 Operating systems 0.6 Data structures 0.5 Graphics 0.4 Comparative program. langs. 0.2 Simulation 0.2 Parsing and compilers 0.2 Pattern recognition 0.2 Programming language theory 0.1 Complexity and algor. analysis 0.0 Artificial intelligence -0.1 Numerical methods -0.7