What Does a Systems Programmer Do?
If the operating system's involved, systems programmers are too. They ensure the stability of the software underneath every application for developers, operators, and the people who log in each morning. The job is distinguished from application programming in that it deals with operating systems, compilers and system utilities in a data center.
Also known as: Principal Systems Programmer, Senior Systems Programmer
Other Job Titles for This Work
Workers in this occupation report titles such as Analyst Programmer, Application Programmer Analyst, Computer Programmer, Computer Programmer Analyst, Internet Programmer, Java Developer, Programmer, Programmer Analyst.
Systems Programmer Duties and Responsibilities
The primary responsibilities of a systems programmer include:
- Install and upgrade operating systems such as z/OS, Linux or Windows Server on production machines.
- Apply vendor patches and security fixes during maintenance windows, then confirm each system restarts cleanly.
- Tune memory, storage and processor settings when jobs run slowly or fail under load.
- Write shell, Python or REXX scripts to automate routine system tasks.
- Maintain compilers, libraries and system utilities that application programmers depend on.
- Read system dumps and logs to find the cause of crashes and hangs.
- Maintain job control language (JCL) and scheduling for batch work on the mainframe.
- Plan capacity with managers by tracking growth in storage, memory and processing use.
- Document system builds and recovery steps so operators can follow them in the middle of the night.
- Advise application teams on system calls, performance limits and safe ways to share resources.
Required Skills and Qualifications
To succeed as a systems programmer, you will need the following skills and qualifications:
- Operating system internals (z/OS, Linux or Unix)
- Scripting in shell, Python or REXX
- JCL and batch scheduling on mainframes
- Performance tuning and capacity planning
- Reading dumps, traces and system logs
- Change control discipline
- Patience for problems that take days to pin down
- Clear recovery and build documentation
Education and Training
Red Hat and IBM z/OS courses build on a bachelor's degree in computer science, which is the typical entry education for this work. The senior grades usually call for years of server or mainframe experience. Reaching principal systems programmer takes longer still, and the title tends to go to people with deep knowledge of one platform.
Salary and Job Outlook
Typical pay: $75,850 - $130,680 per year, with a median of $100,390.
The range covers the middle half of earners nationwide. Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025, Computer Programmers.
BLS projects employment of computer programmers, the wider group that includes systems programmers, to decline about 7 percent from 2025 to 2035, with only about 4,400 openings a year. Jobs in this field often are tied to mainframes and servers that organizations cannot easily replace, but systems programmers will be needed as senior staff retire and as those systems move to newer platforms. Senior systems programmers are a highly specialized group.
Outlook source: U.S. Bureau of Labor Statistics, Employment Projections, 2025 to 2035, Computer programmers.
Systems Programmer Pay Range
| Earners | Annual pay |
|---|---|
| Bottom 10% earn less than | $57,710 |
| Bottom 25% earn less than | $75,850 |
| Median (half earn more, half less) | $100,390 |
| Top 25% earn more than | $130,680 |
| Top 10% earn more than | $160,460 |
Highest-Paying States for Systems Programmers
The states with the highest median pay for this occupation are Connecticut ($133,820), Massachusetts ($128,390), Washington ($125,620), Maryland ($125,570), Virginia ($121,610). Pay is lowest in Michigan ($65,860), West Virginia ($65,320), South Dakota ($58,240).
Median pay in all 46 states with BLS data
| State | Median annual pay |
|---|---|
| Alabama | $93,800 |
| Alaska | $91,700 |
| Arizona | $88,990 |
| Arkansas | $111,840 |
| California | $116,760 |
| Colorado | $104,610 |
| Connecticut | $133,820 |
| Florida | $93,180 |
| Georgia | $98,380 |
| Hawaii | $118,180 |
| Idaho | $89,020 |
| Illinois | $72,540 |
| Indiana | $97,000 |
| Iowa | $79,180 |
| Kansas | $92,960 |
| Kentucky | $94,850 |
| Maine | $101,780 |
| Maryland | $125,570 |
| Massachusetts | $128,390 |
| Michigan | $65,860 |
| Minnesota | $107,250 |
| Mississippi | $85,120 |
| Missouri | $90,420 |
| Montana | $89,920 |
| Nebraska | $95,150 |
| Nevada | $93,600 |
| New Hampshire | $74,000 |
| New Jersey | $104,940 |
| New Mexico | $83,750 |
| New York | $103,980 |
| North Carolina | $81,070 |
| North Dakota | $92,280 |
| Ohio | $85,270 |
| Oklahoma | $99,780 |
| Oregon | $99,540 |
| Pennsylvania | $89,180 |
| Rhode Island | $96,470 |
| South Carolina | $99,740 |
| South Dakota | $58,240 |
| Texas | $99,330 |
| Utah | $104,890 |
| Vermont | $89,560 |
| Virginia | $121,610 |
| Washington | $125,620 |
| West Virginia | $65,320 |
| Wyoming | $81,640 |
What the Work Is Like
O*NET surveys people who work as computer programmers about their daily conditions. Of those surveyed:
- 100% use email every day
- 94% spend more than half the workday sitting
- 81% say teamwork is very or extremely important in their job
- 74% say being exact and accurate is very or extremely important
- 40% work against deadlines every day
Education Workers Say the Job Needs
| Education level | Share of workers |
|---|---|
| Bachelor's degree | 88% |
| Associate's degree | 9% |
Tools and Software Systems Programmers Use
Tools and equipment
Software
Is This Job a Good Fit for You?
People who do well in this job tend to enjoy organized work with data, records and clear procedures as well as analyzing problems and working with ideas.
Skills O*NET rates most important: Programming, Active Listening, Critical Thinking, Complex Problem Solving, Quality Control Analysis, Reading Comprehension.
Knowledge areas used most: Computers and Electronics, Mathematics, Engineering and Technology, English Language, Customer and Personal Service.
Preparation: O*NET places this occupation in Job Zone 4 of 5, which means considerable preparation.
Related Careers
These jobs use similar skills, according to O*NET's related-occupation data:
Applying for a Systems Programmer Job
- Job application letter sample
- Resume or CV: which to send
- How to describe your work experience
- Job interview tips
- Interview thank-you note
The Job Explorer never charges candidates any money. If someone asks you to pay to apply for a systems programmer job or to get hired, treat it as a warning sign.
Sources
- U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025.
- U.S. Bureau of Labor Statistics, Employment Projections, 2025 to 2035.
- O*NET 30.1 Database, occupation 15-1251.00 (Computer Programmers). View on O*NET OnLine.
This page includes information from the O*NET 30.1 Database by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license. O*NET® is a trademark of USDOL/ETA. The Job Explorer has modified some of the information; USDOL/ETA has not approved, endorsed or tested these changes.
