August 20, 2004

Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers
By Steve McConnell:

"Striking the right balance between theory and practice in software engineering education depends on making a distinction between education and training. Education seeks to instill qualities in students that will enable them to respond effectively to diverse intellectual challenges. It focuses on general knowledge and includes development of critical thinking skills. Training provides specific skills and knowledge that can be applied immediately and repetitively. Education is strategic; training is tactical."

"The most common kind of occupational development for software developers today is training. It tends to be reactive and provided just in time in the specific technologies that a developer needs to know to work on a specific project. Education in longer-lasting software engineering principles is largely absent from the picture. Some people claim that software development has become too specialized and fragmented to be amenable to standardized education. It is too fragmented for standardized training, but not for standardized education."

August 20, 2004 08:52 PM