Programmer/software developer

Designs, develops, tests and implements software for clients to improve business efficiency and productivity.

Job description

Job titles within the IT sector tend to be loosely defined so the term ‘programmer’ is often used to refer to software developers, software engineers, computer scientists or software analysts.

Computer programmers write the step-by-step instructions that direct computers to process information in a series of logical steps. This involves establishing a detailed specification and clarifying exactly what the programme needs to do, then breaking the specification down to its simplest elements and translating this into an appropriate programming language. Different tasks require different programming languages, but those most in demand are: Visual Basic (.Net), Java (J2EE), XML and C++. While most programmers specialise in a few different languages, the kind of work they do depends on the employer.

There are two distinct areas within programming: applications programming and systems programming. While applications programmers write programmes to process and manage incoming information, systems programmers deal with the internal operations of the computer such as designing diagnostic programmes to identify faults, or controlling the way a computer runs several applications simultaneously.

Work activities

  • Developing new software applications in partnership with business analysts and technical architects
  • Upgrading existing software as the user organisation's needs change
  • Localising software products for different international markets
  • Testing software to ensure the code is correct, fixing ('debugging') errors where they occur, and rerunning and rechecking the programme until it produces the correct results
  • Working with trainers and technical writers to develop user support materials.

Work conditions

Travel: not a regular feature of the job.
Working hours: mainly 9.00 am to 5.00 pm but deadlines may require additional hours to be worked.
Location: mainly in towns or cities throughout the country though freelance programmers can work from home.
Opportunities for self-employment: freelance work is common.

Typical employers

  • Financial services
  • Manufacturing firms
  • Educational institutions
  • Banks
  • Specialist software development houses
  • Consulting firms
  • Telecommunications firms
  • Public sector organisations
  • Self-employed.

Career development

Software development is often the first port of call for computer science graduates. Opportunities for promotion are good; a background in programming is valued for most IT careers as it provides a solid backbone of knowledge. Developers with a flair for teamwork and communication often end up becoming project managers.


Pay can rise considerably with experience and responsibility. Sometimes there is a shortage of specific software skills and salaries can rise according to supply and demand. There are no set pay scales so salaries vary according to employer, location and type of business.

Entry requirements

While entry is open to non-graduates, preference will more than likely be given to those with relevant degrees or training.

Other relevant degree subjects

  • Computer programming
  • Computing
  • Information technology
  • Software development
  • Software engineering.

Postgraduate study

Conversion courses are available for non IT graduates. A range of industry relevant taught postgraduate programmes are on offer across colleges that offer similar programmes at undergraduate level.


Mainly in-house.

Tips for applications

Gain relevant experience particularly during summer vacations. Become familiar with relevant industry software.

Skills and qualities

  • Mathematical aptitude and strong problem-solving skills
  • Excellent IT and programming skills
  • Excellent organisational, time and project management skills
  • Accuracy and attention to detail
  • An understanding of the latest trends and their role in a commercial environment
  • Teamwork skills because most projects require input from individuals with different roles
  • Self-development skills to keep-up-to-date with fast-changing trends
  • Professional approach to time, costs and deadlines.