A knowledge of
programming is the main
pre-requisite to becoming a software engineer, but it is not
sufficient. Many software engineers have degrees in
Computer
Science due to the lack of
software engineering programs in higher education. However, this
has started to change with the introduction of new software
engineering degrees, especially in post-graduate education. A
standard international curriculum for undergraduate software
engineering degrees was defined by the
CCSE.
In 1998, the US Naval Postgraduate School (NPS) established the first doctorate program in Software Engineering in the world.Steve McConnell opines that because most universities teach computer science rather than software engineering, there is a shortage of truesoftware engineers.[24] In 2004 the IEEE Computer Society produced the SWEBOK, which has become an ISO standard describing the body of knowledge covered by a software engineer.