Computer Programmer: the path, one step at a time

A computer programmer turns someone else's design into working code, and keeps old code working long after its authors have left. The title sounds dated next to "software engineer", but the work is real and steady. This guide walks the ladder, the skills that get you up it, and the part of the job that nobody puts in the posting.

U.S. median pay$100,390Computer ProgrammersSource: CareerOneStop / BLS OEWS 2025
Open right now31 jobsU.S. openings HeroApply can apply to today

Programmer versus engineer, in plain terms

Companies that still post "computer programmer" are usually telling you something. You'll most often find the title at insurers, banks, state agencies, hospitals and manufacturers, places where core systems were built long ago and still run payroll, claims or inventory every night. The work tends to arrive as a written spec from a business analyst or a systems analyst. Your job is to build exactly that, test it, and get it through change control without breaking the batch run.

That's the real difference from a software engineer role. Engineers are usually expected to shape the design, pick the architecture and argue about trade-offs in a design review. Programmers are judged more on accuracy, speed and how cleanly their changes land. Some people see that as a smaller job. Plenty of others like it, because the problem is defined, the finish line is clear, and nobody asks you to rewrite the whole platform in a new framework every spring.

Expect a mixed toolkit. One shop runs COBOL on a mainframe with JCL and CICS screens. Another runs RPG on IBM i. A third is mostly Java or C# with SQL Server behind it, plus a pile of scheduled scripts. Read the posting's tool list closely, because it tells you which of those worlds you're walking into.

From trainee coder to the person who owns the system

  1. 1

    Associate or junior programmer

    You take small, well-fenced tickets: add a field to a report, fix a date format, change a validation rule. A senior programmer reviews every line and probably rewrites your first few unit tests. You're judged on whether you ask good questions early, follow the shop's coding standards, and don't push anything to production without a sign-off. Learning how the nightly jobs fit together matters more than learning a new language.

  2. 2

    Computer ProgrammerThis guide

    You own changes from spec to deployment. You read the analyst's requirements, find every program that touches the affected file or table, write the change, build test data, and walk it through QA and the change advisory board. You also take your turn on call when a batch job fails at night. People judge you on clean releases, honest estimates, and whether your fixes stay fixed.

  3. 3

    Programmer analyst

    Now you write part of the spec yourself. You sit in meetings with the claims team or the finance office, turn what they say into requirements, and then build it or hand it to a junior programmer. The skill that moves you here is translation: hearing a vague complaint about a report and coming back with the exact rule that's wrong. You're judged on whether the business gets what it actually needed.

  4. 4

    Lead programmer, systems analyst or software engineer

    This is where the ladder forks. The lead track has you assigning work, reviewing code and planning releases for a small team. The analyst track moves you further toward requirements and less toward code. The engineer track means picking up design and architecture work, often on a modernization project that moves old systems to new platforms. People who know the legacy system cold are hard to replace on those projects, which gives you room to push in salary talks.

Skills that move you up a rung

Postings for this title mix old and new tools, so list the exact names you've used rather than a general label like "backend".

COBOLJCLCICSRPG on IBM iJavaC#SQLStored proceduresBatch job schedulingUnit testingGitChange managementReading technical specsDebugging production issuesWriting clear technical documentation

The code nobody wrote down

The hardest part of this job is rarely the language. It's the program with no comments, written by someone who retired, that feeds three other programs in ways nobody fully remembers. You'll spend whole afternoons tracing a single field through copybooks, stored procedures and a scheduler, just to be sure your one-line change won't break a downstream report that finance runs at month-end.

Some people find that careful detective work satisfying. Others find it slow and lonely, especially when a manager asks why a small change took a week. The pager is the other honest downside. When a nightly job abends at an awkward hour, you're the one reading the job log in your kitchen and deciding whether to restart it or wake someone up.

The upside of all that is job security that's hard to get elsewhere in tech. People who understand an old core system and can also write modern code tend to stay employed through layoffs, because replacing that knowledge is expensive and slow.

What Computer Programmer postings ask for

Hiring the most

  • "ProSidian Consulting, LLC"17
  • RightTalentRightNow12
  • CyberMedia Technologies1
  • Unf1

Remote

52% of openings are fully remote.

Skills to learnComputer Programmer skills: what to learn first
Read the roadmap →

Questions people ask

Is computer programmer a dying job?

The title is shrinking, the work isn't vanishing. Many companies now post the same role as software developer or engineer. Where the title survives, it's usually tied to legacy systems that still run the business, and those employers struggle to find people who can maintain them. If you're open to COBOL, RPG or older Java code, you'll find steady demand.

Do I need a computer science degree to be a computer programmer?

Not always. A degree helps at larger employers and government agencies, where HR filters on it. Plenty of programmers came in through an associate degree, a bootcamp, or an internal move from a help desk or operations role. Some banks and insurers run their own training programs that teach COBOL from scratch to people who can already code a little.

What's the difference between a computer programmer and a software developer?

A programmer usually builds to a spec someone else wrote and is judged on accurate, clean changes. A developer or engineer is more often expected to help design the solution too. In practice the line blurs, so read the duties in the posting, not just the title.

Which language should I learn first for this job?

Learn SQL first, whatever else you pick, because almost every programmer job touches a database. After that, let the postings near you decide. If you keep seeing mainframe shops, learn COBOL and JCL. If you mostly see Java or C#, start there and learn to read older code, not just write new code.