As a software engineer, you'll work in a constantly evolving environment, due to technological advances and the strategic direction of the organisation you work for. You'll create, maintain, audit and improve systems to meet particular needs, often as advised by a systems analyst or architect, testing both hard and software systems to diagnose and resolve system faults.
The role also covers writing diagnostic programs and designing and writing code for operating systems and software to ensure efficiency. When required, you'll make recommendations for future developments.
As a software engineer, you'll need to:
- analyse user requirements
- write and test code, refining and rewriting it as necessary and communicate with any programmers involved in the project
- research, design and write new software programs (e.g. business applications or computer games) and computer operating systems
- evaluate the software and systems that make computers and hardware work
- develop existing programs by analysing and identifying areas for modification
- integrate existing software products and get incompatible platforms to work together
- create technical specifications
- write systems to control the scheduling of jobs or to control the access allowed to users or remote systems
- write operational documentation with technical authors
- maintain systems by monitoring and correcting software defects
- work closely with other staff, such as project managers, graphic artists, UX designers, other developers, systems analysts and sales and marketing professionals
- consult clients and colleagues concerning the maintenance and performance of software systems, with a view to writing or modifying current operating systems
- investigate new technologies
- continually update technical knowledge and skills by attending in-house and external courses, reading manuals and accessing new applications.