There is a strong market demand for computer people. A large number of Canadian trade schools, colleges and universities offer programs of study that are taken because students want computer positions. Many graduates of these programs succeed…in spite of their education.
Most computer education programs do not take a balanced view of the subject. Computer science focuses strongly on the computer and how it works; it’s largely silent on who uses computers and for what purposes. Business computing focuses on how business uses computers, but is largely silent on how computers actually work.
Twenty years ago, professionals concentrated on their profession. Everyone understood how to formulate problems so that they could be solved by engineers, lawyers or accountants. The boundaries seemed clear. Professionals working with computers had the luxury of simply stated problems. Reality was never quite that simple, but that was the way everyone acted.
Today’s professionals need to go beyond current, specialized technical knowledge. They also need a solid contextual understanding about where, why and how to apply that specialized knowledge. We’re in the middle of major social transformations – professional roles are being redefined. That’s true in established professions, and in emerging ones such as computing.
Our educational institutions have been slow to respond. Ontario is beginning to see new computing education programs that recognize the importance of context. Several of the new college applied degree computing programs include a concern for the context. And programs such as York’s ITEC (www.yorku.ca/itec) address the full range of computer education needs. Other Canadian jurisdictions are several years ahead of Ontario.
What follows is my list of eight themes that should be woven into real world computing education programs. I encourage readers to take their own list of important themes to a college or university near you.
The consulting approach: There are differences between a manager and a consultant. The manager is obligated to give orders…after due thought and careful consideration. The consultant is limited to providing advice, counsel and recommendations. Students should have the differences between managers and consultants highlighted in several of their courses.
High tech markets: The technical merits of a product are relevant in its selection, but should not be dominant. Selecting a product is really a decision to participate in the market for that product. Pick the wrong market and you lock yourself into the wrong evolutionary path. Students should be introduced to high tech market analysis.
Financial analysis: Most business decisions have a clear and necessary financial dimension. That’s certainly true for IT decisions. But few computing graduates have ever been required to perform a financial analysis of a recommended course of action. Financial justification should be a necessary ingredient in support of recommended actions.
Project management: Projects don’t just manage themselves. Overwork can compensate for a lack of management on a small project. Too many students compensate for their lack of project management by burning the midnight oil. Project management should be taught and some projects should be too large for the midnight-oil approach.
Organizational change: Systems require organizational change for successful implementation. With processes such as CRM, the required organizational change can be massive. Without experience it can be difficult to fully appreciate what is involved, but students can be introduced to some of the key organizational change ideas.
Scripting large components: Programming problems often focus on small technical details. Students should be required to figure out how large components can be woven together to provide business solutions. Scripting can overcome some of the scale limitations of programming. Using a component library can allow the students to go even further in limited time.
Agile development: The waterfall methodology never worked all that well. It assumes that you can get it “right,” the first time. The only effective way to develop many business systems is an evolutionary approach. Agile methodologies may not be right for all problems, but students should be introduced to other methodologies.
The pervasive Internet: Public networks are fundamentally changing what business systems are developed, how they are developed and how they are delivered. The educational implications go well beyond having a few Web courses. Almost all computing courses must pay attention to what happens when IP network access is universally available.
There are a number of ways these themes could be packaged for inclusion in computing education programs. Packaging is less important than a general recognition that we must help students understand not just computing, but the context in which it is used.
Fabian is an established Canadian management and system consultant (www.fabian.ca) who has always been fascinated by technology.