To be successful familiarity with computers and software is essential. If you're technically creative with great attention to detail a career in applications development may be for you
Applications developers translate software requirements into workable programming code and maintain and develop programs for use in business.
Most specialise in 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.
Applications, or 'apps', can be written for a particular system, such as Windows or Android, or across numerous platforms, including computers and mobile devices.
Job titles and specific duties vary between organisations but the role usually involves writing specifications and designing, building, testing, implementing and sometimes supporting applications using programming languages and development tools.
You can work in a range of business sectors, including finance and the public 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.
You can also work on generic products or for individual clients providing bespoke solutions.
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.
The principal function of an applications developer is to make computers perform specific tasks, based on the client's specifications.
In general, your responsibilities will include:
- establishing a detailed program specification through discussion with clients
- clarifying what actions the program is intended to perform
- breaking down program specification into its simplest elements and translating this logic into a programming language
- devising possible solutions to anticipated problems
- working as part of a team, which may be established purely for a particular project to write a specific section of the program
- combining all elements of the program design and testing it
- testing sample data-sets to check that output from the program works as intended
- conducting testing and installing the program into production
- reacting to problems and correcting the program as necessary
- evaluating and increasing the program's effectiveness
- adapting the program to new requirements, as necessary
- conducting user-acceptance testing to ensure the program can be used easily, quickly and accurately
- writing detailed documentation for the operation of the program by users and computer operators
- consulting manuals, periodicals and technical reports to learn new ways to develop programs and maintain existing skills and knowledge
- updating, repairing, modifying and developing existing software and generic applications.
- Graduate salaries for applications developers start at around £20,000.
- Once established, salaries can range from £34,000 to £40,000.
- Senior applications developers can earn between £45,000 and £50,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 those of permanent staff.
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.
- Jobs are available in most areas, but the majority are concentrated in major towns and cities.
- A high level of commitment is expected due to the costs of projects and regular tight deadlines, particularly in small to medium-sized enterprises (SMEs).
- The work environment and dress code tend to be informal, depending on the amount of client contact.
- Travel within a working day, absence from home overnight and overseas travel may be occasionally required. There is more travel involved in installation and implementation work.
You will 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 do not have a related degree, think about doing an IT conversion course to build up evidence of technical ability.
In some instances, there may be opportunities for those without relevant degrees or diplomas, but you will need to demonstrate your commitment and interest to IT applications and be able to show that you have technical skills.
You will 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, like waterfall and agile
- attention to detail
- tenacity and patience
- communication skills - including the ability to convey information to non-technical colleagues in a concise and clear way
- 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 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.
Look for job vacancies at:
There is 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.
Increasingly, applicants are being 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 IT changes so quickly, it's important to keep up to date with developments in the industry. Applications developers must continually update their knowledge and skills by taking courses sponsored by their employer or through software vendors.
Some larger employers offer structured graduate programmes where you will 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, although if you are 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.
Increasingly, employers are looking for vendor certification as a way of demonstrating competence. Product vendors and software firms offer certification as a means of recognising that individuals have the relevant skills and knowledge to work with particular languages, applications and operating systems.
Relevant training and certification routes for applications developers include:
- Microsoft Certified Solutions Developer (MCSD)
- Oracle Certified Associate/Professional/Master Java
- Oracle PL/SQL Developer Certified Associate/Professional.
Other professional qualifications are available through BCS (The Chartered Institute for IT).
BCS can also help by providing information and guidance to members on recognising and planning learning needs and developing areas of expertise.
Up-to-date information on training and relevant industry-recognised qualifications is also offered by the Institution of Analysts and Programmers (IAP).
The SFIA Foundation (Skills Framework for the Information Age) was formed in order to allow a common reference point for the identification of the skills needed to develop the use of ICT. Employers and IT professionals can use this framework as a skills development tool and to identify career development opportunities.
Training in areas not directly related to your technical work, for example in business or finance, may boost your prospects when considering career development.
Many graduates initially find themselves undertaking programming work, which is one of the best starting points for a career in IT. As there is usually a need for staff to be multi-skilled, you're also likely 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 is likely that you will 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 is 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.
A third option is to become self-employed through contracting. Contractors typically act as system developers, discussing needs with users, analysing requirements and writing and implementing the resulting programs.
Up-to-date information on career moves and areas of development is provided by the BCS and IAP.