The role of an analyst programmer incorporates elements of the roles of both systems analysts and computer programmers. The role involves designing, coding and testing new software and programs, which must be documented as they are produced.
Analyst programmers are usually responsible for testing software to ensure there are no problems and debugging programs whenever problems arise. and they may be required to customise a standard computer program to suit the specific needs of a company.
An analyst programmer will usually act as a point of contact between a business and its IT department.
Depending on the business or organisation, an analyst programmer will work with specific computer systems, tailoring these systems to meet the needs of the company. The role involves meeting with key stakeholders to determine the needs of the company, then designing a system to meet these needs.
An analyst programmer is required to:
The analyst programmer role involves a considerable amount of communication, with the need to work closely with a variety of business areas to gather the requirements necessary to design and configure a system. This includes the setting of clearly defined objectives and requirements.
As part of their role an analyst programmer may also be required to prepare cost analyses to define and determine the financial viability of a system, plus they will be required to work closely alongside project managers to ensure that specified project timelines are met.
An analyst programmer must keep up to date with evolving technology and trends, plus any new programming languages that develop.
An analyst programmer will typically require a degree in an IT or computer science based subject, or another closely related field.
Analyst programmers must have an expert knowledge of programming languages including:
Excellent communication skills are essential and the programmer must be able to work independently and as part of a wider team. The role requires the individual to adhere to confidentiality rules relating to security, systems access and data access.