Applications developers make computers perform specific tasks, based on their client's specifications
As an applications developer you'll translate software requirements into workable programming code and maintain and develop programs for use in business.
You'll usually work within a specific development field, such as mobile phone applications, accounting software, office suites or graphics software, and will have in-depth knowledge of at least one computer language.
The work of an applications developer differs from a systems developer in that systems software allows a computer to actually run. Users interface with the applications software, which is served by the systems software.
Types of applications developer
You might write applications, or apps, for either:
- a particular system, such as Windows or Android
- across numerous platforms, including computers and mobile devices.
These may be in the form of generic products, or bespoke solutions for individual clients.
As an applications developer, you'll need to:
- establish a detailed program specification through discussion with clients
- clarify the actions the program is intended to perform
- write the program - to do this you'll break down program specification into its simplest elements and translate this logic into a programming language
- work as part of a team - which may be established purely for a particular project to write a specific section of the program
- test sample data-sets to check that output from the program works as intended
- install the program into production, once testing is complete
- devise possible solutions to anticipated problems
- react to problems and correct the program as necessary
- evaluate and increase the program's effectiveness
- adapt the program to new requirements, as necessary
- conduct user acceptance testing, to ensure the program can be used easily, quickly and accurately
- write detailed documentation for the operation of the program by users and computer operators
- consult manuals, periodicals and technical reports to learn new ways to develop programs and maintain existing skills and knowledge
- update, repair, modify and develop existing software and generic applications.
- Graduate salaries for applications developers start at around £20,000.
- Once established, you can expect to earn £34,000 to £40,000.
- As a senior applications developer, your salary will be in the region of £45,000 to £70,000.
Salaries vary according to the size of installation/application, the location, size and nature of the employer's business and the sector. Top-range salaries are mostly found in the finance and consultancy sectors based in London and the South East.
Contracting rates of pay are around double the rates permanent staff receive.
Income figures are intended as a guide only.
Working hours are typically 9am to 5pm, but working long hours, evenings and weekends to meet project deadlines is common practice.
Career breaks and part-time work are possible and some IT employers offer flexible working hours.
What to expect
- Most applications developers work in an office environment in one location, although remote working is also common.
- You'll spend long periods in front of a computer terminal.
- Self-employment through contracting is possible with experience.
- At present, men considerably outnumber women in the IT workforce, but steps are being taken to redress the balance, with initiatives such as Code First: Girls, Rails Girls, GeekGirlMeetup and the Women in IT Awards.
- Travel within a working day, absence from home overnight and overseas travel may be occasionally required. There's more travel involved in installation and implementation work.
You'll be expected to have a good level of technical knowledge and many employers, particularly software houses, will want you to have a degree in a relevant subject, such as:
- computer science/software engineering
- information systems
- physical/mathematical/applied science.
If you don't have a related degree, you could complete an IT conversion course to build up evidence of technical ability.
In some instances, there may be opportunities to enter this career without a relevant degree or diploma, but you'll need to demonstrate your commitment and interest to IT applications and be able to show that you have technical skills.
You'll need to show:
- high-level programming and related technical skills
- ingenuity and creativity
- a logical approach to problem solving
- analytical capabilities
- the ability to work well under pressure
- experience of development methodologies, such as the Waterfall model and Agile
- attention to detail
- tenacity and patience
- communication skills, including the ability to convey information to non-technical colleagues concisely
- an understanding of business processes and constraints.
Familiarity with computers and standard software is essential and relevant work experience is desirable. This could be in the form of a placement year as part of your degree, or part-time work within an IT field.
You could also try to get involved in projects at university or with local businesses or charities, which will require you to develop programs and code and have knowledge of computer language.
Opportunities exist for new graduates in all employment sectors, including:
- financial services
- travel and tourism.
Many financial institutions, management consultancies and major retailers offer specific IT graduate-training programmes.
IT companies themselves have large IT departments to manage their own systems and also run IT systems for other companies on a consultancy basis. Employers can be large multinational corporations, medium-sized companies or small software consultancies employing only a few staff.
Employment can be found across a range of business sectors, including finance, the public sector and education sector. You'll often work as part of a team with other IT professionals, such as software engineers and testers and systems analysts, and write programs according to their specifications.
Look for job vacancies at:
There's a high demand for talented candidates and strong competition for highly sought-after posts. The selection process is frequently made up of presentations, group exercises, psychometric tests and in-tray exercises.
You may be asked to submit a demo, particularly for entry into the games industry.
Many organisations advertise their vacancies on their own websites and welcome speculative applications.
Since there are continual developments in the IT industry, it's important that you update your knowledge and skills regularly. One way to do this is by taking courses sponsored by your employer, or through software vendors.
Some larger employers offer structured graduate programmes where you'll gain experience in a number of team-related projects in different work areas.
Most companies offer ongoing training, either in-house or via external courses, but if you're self-employed, or employed by a smaller employer, you may need to consider the cost and time implications of taking responsibility for your own training.
When recruiting, employers often ask for vendor certification, as this provides confirmation that someone is competent in specific skills. Certification is awarded by product vendors and software firms in recognition that an individual has obtained the relevant skills and knowledge to work with particular languages, applications and operating systems.
Other professional qualifications are available through BCS (The Chartered Institute for IT). The institute also provides information and guidance about career planning and developing expertise.
As a graduate it's common to start with programming work, which is one of the best starting points for a career in IT, as it enables you to gain experience in systems analysis or systems design.
In large organisations, you may be promoted to a senior applications developer and be given supervisory responsibilities. With more business experience, you may move into systems analysis, or be promoted to an applications manager position.
It's likely you'll develop your career by specialising in either management or contracting. You can also develop your expertise within a particular type of application, such as databases, or by having an in-depth knowledge of one language, like Java or C++. Although this can be quite a limiting career option, it will suit you if you want to become one of a small number of experts in a specific field.
It's possible to move into project management, replacing your detailed perspective with an overview, and take on responsibility for supervising teams of programmers and for the overall design and specification of a project.
Another option is to become self-employed through contracting. Working in this way, you would typically act as a system developer, discussing needs with users, analysing requirements and writing and implementing the resulting programs.