Linux User Group of Mauritius Promoting open source software in our beautiful island

31Aug/160

Software Engineering needs to be taught by Software Engineers

Posted by Avinash Meetoo

complexity_small

Software is eating the world.

Quoting ACM:

The availability of qualified software engineers has not kept pace with the demand from industry, so that systems are designed and built by people with insufficient educational background or experience.

In other words, Software Engineering is Hard and we do not have enough Software Engineers to create and maintain all the software which is eating the world. The fundamental reason is that software is unlike all other kinds of engineering artifacts (such as a bridge, a house or a computer):

  • Software is abstract and invisible.
  • Software has both static and dynamic properties.
  • Software is intrinsically complex in terms of its organization.
  • No universal measures of quality exist for assessing a software product.

Furthermore,

  • The manufacturing cycle for software products is not a significant element in software development, and it mainly involves the needs of distribution mechanisms.
  • Software does not wear out.

Quoting ACM again,

  • Software engineering practices are therefore largely concerned with managing relevant processes and with design activities.
  • A high-quality faculty and staff is perhaps the single most critical element in the success of a Software Engieering program.

And they conclude,

  • Faculty members who have a primarily theoretical computer science background might not adequately convey to students the engineering-oriented aspects of software engineering.
  • Faculty members from related branches of engineering might deliver a software engineering program or course without a full appreciation of the computer science fundamentals that underlie so much of what software engineers do.
  • Faculty members who have not experienced the development of large systems might not appreciate the importance of process, quality, and security.
  • Faculty members who have made a research career out of pushing the frontiers of software development might not appreciate that students first need to be taught what they can use in practice.

In other words, faculty members who teach Software Engineering need to be Software Engineers themselves. And this is là où le bât blesse (the main problem) in most universities: those teaching cannot do! This is true abroad but also true in most (all?) universities in Mauritius.

Mauritius needs universities with teachers who are doers and who know how to make students become doers.

And this needs to happen now!