Computer software engineers apply the principles and techniques of computer programming, engineering, and mathematical analysis to the design, development, testing and evaluation of the software and systems that enable computers to perform their many applications. This is basically an Electronics Engineering qualification with more software subjects and less engineering subjects.
Computer software engineers design and develop many types of software including software for operating systems, network distribution systems and compilers, and which convert programs for faster processing. Software engineers program computers using various programs, for instance, Assembler, C++ or Java. The major part of their work is, however, developing algorithms and analysing and solving programming problems.
Software engineers are also required to solve technical problems that arise and should therefore have a good knowledge of hardware components, for instance, microprocessors, embedded controllers, personal computers, routers and transmitters. They should also have the skills to develop the necessary software in order to implement a complete system operating on a variety of platforms, such as Windows, Windows NT and UNIX. Because computer systems and technology are rapidly evolving, the tasks performed by a computer software engineer have become more complex and specialised. Some examples of areas of specialisation include:
Computer applications: the design, implementation and modification of general computer applications software or specialised utility programs. Software engineers develop both packaged systems and systems software, or create customised applications.
Computer systems: the construction and maintenance of a company’s computer systems, and planning for future growth. This may include the setting up of Intranets, or telecommunications networks that link computers within organisations.
Project management: the management and delivery of a project in consultation with other members of a team. A core team may comprise engineering, marketing, manufacturing and design people who work together until the product is released.
Software engineers normally work in an office environment. Their job requires a fair amount of interaction with customers and co-workers and may require spending time away from the office in order to consult with clients at their premises. However, as technology advances, software engineers are increasingly able to communicate via e-mail, and by using the Internet, to connect to a customer’s computer remotely in order to identify and correct developing problems.
Degree: BEng Computer Engineering - UP, NWU, or Electronic Engineering - most universities, e.g. NWU, UP, UJ, US, UKZN.
A person who has obtained a recognised BSc (Eng) or BEng degree is eligible for registration as Engineer in Training. After gaining at least 3 years of appropriate practical experience, a computer engineer may register as a Professional Engineer under the auspices of the Engineering Council of South Africa.
For Computer Scientists, Bachelor of Information Technology degrees are offered at some universities - RU, UCT, UWC, NMMU, UFS, Wits, US, UP, UNISA, UKZN, UJ. UZ, UFH, NWU, Monash.
The more theoretical majors lead to specialised work in computer science and programming.
Computer Society of SA
546 16th Road
Constantia Park [Unit No.3]
Tel: (011) 315-1319
Engineering Council of South Africa (ECSA)
1st Floor, Waterview Corner Building
2 Ernest Oppenheimer Avenue
Bruma Lake Office Park, Bruma
Tel: (011) 607-9500
Society for Professional Engineers
P O Box 78433
Tel: 076 435 0892
Computer Users’ Council of South Africa
P O Box 1688
Halfway House, 1685
Tel: (011) 805-3151/2
Engineering News Magazine
Project Management South Africa (PMSA)
PO Box 4328
Tel: (011) 257-8003