Software Developer Kaihanga Pūmanawa Rorohiko
Software developers develop and maintain computer software, websites and software applications (apps).
Software developers may choose to become certified through associations such as the Institute of IT Professionals.
Software developers who specialise in developing or maintaining computer programs may do some or all of the following:
- discuss clients' computer program requirements
- work out design specifications for programs
- write programs
- run tests to ensure programs and computer systems are working properly
- maintain and upgrade programs.
Software developers who specialise in developing websites may do some or all of the following:
- develop a technical plan for the website and ways to promote it online
- suggest production methods and necessary equipment, and investigate costs for the website
- liaise with designers and other staff to help design and maintain the website
- integrate the technical, visual, and content aspects of the site to produce the finished product.
Software developers spend a lot of time using computers, so they need to know how to use computer equipment properly to avoid occupational overuse syndrome (OOS).
Useful experience for software developers includes:
- creating websites or games, and computer programming
- fixing computer hardware or software problems
- graphic design and desktop publishing
- client or project management
- doing software development-related study and projects
- volunteer work involving software development, and creating websites.
Software developers need to be:
- methodical, accurate and patient
- able to work well under pressure, and meet deadlines
- able to work well as part of a team, and with minimal supervision
- skilled at problem solving and decision making
- skilled at verbal and written communication.
Software developers need to have knowledge of:
- computer software and systems
- programming languages and techniques
- the impact of programs on computer hardware (such as monitors, keyboards and printers) and other software (computer programs)
- software development processes such as Agile
- confidentiality, data security and data protection issues.
- usually work full time and often work evenings and weekends, or might be on call
- work in offices in conditions that may be stressful because they sometimes work to strict deadlines
- may travel locally or overseas to meet clients.
A tertiary entrance qualification is required to enter further training. Useful subjects include digital technologies, maths, physics and English.
For Year 11 to 13 students, the Gateway programme is a good way to gain industry experience.
Software developers may progress to become senior developers, software architects or IT managers.
Software developers may specialise in the development, maintenance or enhancement of certain programs and software.
They may also specialise in a particular area such as:
- website development
- computer games
- film and animation.
Years Of Training1-3 years of training usually required.
There are no specific requirements to become a software developer. However, you usually need at least one of the following:
- a tertiary qualification in computing, software engineering, information systems or business computing
- a relevant industry-based certification with well-known companies such as Microsoft or Oracle
- on-the-job training through internships and graduate recruitment programmes
- experience in related entry-level IT roles such as IT helpdesk/support technician.
You can also learn through online courses and tutorials, and work on your own projects.
If you are a graduate from other fields, you can gain a fast-tracked IT-related qualification through ICT Graduate Schools.
- Microsoft website - information on Microsoft certification
- Oracle website - information on Oracle certification programmes
- NxtStep website - find IT internships and graduate programmes
- Summer of Tech website - information on the IT internship programme
- Tertiary Education Commission website - find out about ICT graduate schools