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.