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.
Boston City Campus and Business College, Botho University, Botswana Accountancy College, Jomo Kenyatta University of Agriculture and Technology (Tanzania), Mangosuthu University of Technology, Marian University College, Monash South Africa, Mzumbe University, Namibia University of Science and Technology, National University of Lesotho, Nelson Mandela Metropolitan University, North-West University, Rhodes University, Sefako Makgatho Health Sciences University, Sokoine University of Agriculture, Sol Plaatjies University, Stefano Moshi Memorial University College, Swaziland College of Technology, Université des Mascareignes, University of Botswana, University of Dar Es Salaam, University of Iringa, University of Johannesburg, University of Malawi (The Polytechnic), University of Mauritius, University of Mpumalanga, University of Namibia, University of Pretoria, University of Stellenbosch, University of Swaziland, University of Technology Mauritius, University of the Free State