(1) In the IT department of a large organization, systems programmers are technical experts on some or all of the computer's system software (operating systems, networks, DBMSs, etc.). They are responsible for the efficient performance of the computer systems.
In a user organization, systems programmers generally do not write applications. However, they may write utility programs that are used behind the scenes and often perform technical tasks that integrate vendors' software. They also act as technical advisors to systems analysts, application programmers and operations personnel. For example, they would know whether additional tasks could be added to the existing hardware and would recommend conversion to new system software (OS, DBMS, etc.) in order to optimize performance.
In mainframe environments, there is typically one systems programmer to 10 or more application programmers, and systems programmers generally enjoy higher salaries. In smaller environments, users rely on vendors or consultants for systems programming assistance. In fact, end users are actually performing systems programmer functions when they install new software or hardware on their own computers. See
system administrator,
job descriptions and
salary survey.
(2) In a computer hardware or software organization, a person who designs and writes system software. In this case, a systems programmer is a programmer in the traditional sense and may also be called a "software engineer." See
job descriptions and
salary survey.