Gordon Fairweather Programmer, COBOL, DB2 and Java on insurance systems Des Moines, 50312, United States [email protected] · (515) 555-1522
16 September 2026
Ms. Marguerite Pell Application Services Cedar Valley Mutual Cedar Rapids, United States
Application for Senior Applications Programmer, Cedar Valley Mutual
Dear Ms. Pell,
I am applying for the Senior Applications Programmer post at Cedar Valley Mutual. I maintain about 410,000 lines of a policy administration system at Raccoon River Mutual: COBOL and DB2 batch on z/OS, PL/SQL rating logic, and a Java service layer now on 21. I hold the on-call slot for a 74-job overnight cycle.
The work closest to your posting is the Java move. The service layer had been on Java 8 since it was written, and two of its dependencies were no longer maintained. Over nine months I moved 14 modules to Java 21, rewriting two rather than porting because their dependency had no successor, and the nightly batch window did not change by a minute. There was no rollback, and the regression harness I built for the cutover is what the team now runs before any release touching the cycle.
Your posting says the agent portal is still on .NET Framework and a move is planned for next year. I ran that migration here: 71 screens, 62 rebuilt on .NET 8 and 9 retired after usage logs showed fewer than 40 sessions a year between them. The retiring saved the most time and was the hardest part to agree.
I am available with four weeks of notice and would be glad to walk through either migration. Thank you for your time.
Sincerely, Gordon Fairweather
Summary
A programmer cover letter names the platform and version you work in, says what you maintain in a countable unit, and spends one paragraph on a migration you completed. This guide gives you a full adaptable letter, the version rule that decides whether it gets read, and how the letter changes when you are aiming at an adjacent title.
Programmer cover letter examples by experience level
A programmer cover letter names the platform and version you work in, says what you maintain in a countable unit, and spends one paragraph on a migration you finished.
The occupation is small and shrinking: 110,800 jobs in 2025, a projected 7% decline through 2035, and about 4,400 openings a year, all from replacement needs (BLS Occupational Outlook Handbook, 2025-35 projections). The people reading these letters are hiring for one platform they cannot leave, so naming the platform and version in the first two lines answers their only question.
Guide to a programmer cover letter
This guide and the programmer cover letter example will cover:
- How to structure the letter, paragraph by paragraph
- Why the version matters more than the language
- The migration paragraph and its four facts
- How the letter changes when you aim at an adjacent title
- The openings that get a file read
How to write a programmer cover letter
| Paragraph | Its job | Length |
|---|---|---|
| Opening | The post, the platform and version, what you maintain | 2 to 3 sentences |
| Migration | One move you completed: off what, onto what, how much, what held | 4 sentences |
| Fit | Something specific about their estate | 3 sentences |
| Close | Availability and thanks | 2 sentences |
Name the version in the first two lines
An employer hiring a programmer is almost always hiring for a named platform at a named version, and the support calendars are public. Oracle's Java SE Support Roadmap records Premier Support for Java 8 as having ended in March 2022, with Extended Support running to December 2030 (Oracle, Java SE Support Roadmap, updated 15 September 2026). Microsoft's lifecycle listing keeps .NET Framework 4.6.2 supported to 13 January 2027, while 4.6, 4.6.1 and 4.5.2 went out of support on 27 April 2022 (Microsoft Lifecycle, retrieved 16 September 2026).
A reader in that position has a date on a calendar. "Nine years of Java" does not speak to it; "nine years of Java, currently on 21 after moving 14 modules off 8 last year" does.
A programmer cover letter example you can adapt
Dear Ms. Pell,
I am applying for the Senior Applications Programmer post at Cedar Valley Mutual. I maintain about 410,000 lines of a policy administration system at Raccoon River Mutual: COBOL and DB2 batch on z/OS, PL/SQL rating logic, and a Java service layer now on 21. I hold the on-call slot for a 74-job overnight cycle.
The work closest to your posting is the Java move. The service layer had been on Java 8 since it was written, and two of its dependencies were no longer maintained. Over nine months I moved 14 modules to Java 21, rewriting two rather than porting because their dependency had no successor, and the nightly batch window did not change by a minute. There was no rollback, and the regression harness I built for the cutover is what the team now runs before any release touching the cycle.
Your posting says the agent portal is still on .NET Framework and a move is planned for next year. I ran that migration here: 71 screens, 62 rebuilt on .NET 8 and 9 retired after usage logs showed fewer than 40 sessions a year between them. The retiring saved the most time and was the hardest part to agree.
I am available with four weeks of notice and would be glad to walk through either migration. Thank you for your time.
Sincerely, Gordon Fairweather
Openings that work
| Instead of | Use |
|---|---|
| I am an experienced programmer with a passion for technology | I maintain about 410,000 lines of a policy administration system in COBOL, DB2, PL/SQL and Java 21 |
| I am writing to express my interest in your Programmer position | I am applying for the Senior Applications Programmer post and hold the on-call slot for a 74-job overnight cycle |
| I have extensive experience with legacy system modernization | I moved 14 modules from Java 8 to Java 21 over nine months with no change to the batch window |
Name the version, not just the language
The rule is simple and almost nobody follows it: every language or platform you name gets a version and a recency. "COBOL" is a claim about forty years of dialects; "Enterprise COBOL on z/OS, current, 74-job nightly cycle" is a claim about a job. "C#" says nothing about a Framework migration; "Framework 4.6.2 through .NET 8, migration completed 2026" says everything.
Employers here are usually not choosing between technologies. They are living with one, on a calendar somebody else set, and hiring for the gap between where they are and where they have to be. If you are behind, say so and say what you are doing about it. A reader who maintains the same estate respects that more than a letter implying currency that falls apart in the first technical conversation.
The migration paragraph
Four facts make the second paragraph work.
| Fact | What it looks like |
|---|---|
| Off what, at version | The service layer had been on Java 8 since it was written |
| Onto what, at version | Moved 14 modules to Java 21 |
| How much, over how long | 14 modules, nine months |
| What held, what you retired | No change to the batch window, no rollback, two modules rewritten rather than ported |
That last fact is what experienced readers look for. A migration where nothing was retired and nothing rewritten usually means nothing was examined.
If you have never led one, write the smallest true migration: a library version bump, a script converted between language versions, a table moved to a new layout. The Python Software Foundation set Python 2's end of life at 1 January 2020, after which "no new bug reports, fixes, or changes will be made to Python 2" (Python Software Foundation), so a scripts conversion is dateable work. Having a record at all separates the letter.
Writing for a maintenance post or an adjacent title
For a maintenance post, lead with the platform, the version and what you maintain, then the migration. For an adjacent title such as software developer or QA analyst, invert it: lead with the migration as a project you ran, with the scope, the decisions and what you retired. Read the posting for the version they name and answer it.
Do not write "legacy systems" when you can name the platform and version. Do not claim a statistic about how much old code is still running; most versions of that claim cannot be sourced. Do not describe a migration without saying what was retired. Do not apologize for tenure on one system, which is the asset you are selling.
Two adjacent occupations, and what the gap is worth
The two published occupations next to this one are larger and growing. Software developers, quality assurance analysts and testers held 1,905,400 jobs in 2025, with a projected 10% increase through 2035. Median annual wages in May 2025 were $135,980 for software developers and $104,300 for quality assurance analysts and testers, against $100,390 for computer programmers (BLS Occupational Outlook Handbook, May 2025 wages and 2025-35 projections).
The roughly $35,600 between programmer and software developer is largely a difference in how the work is described. A letter about tickets closed is read as maintenance; the same person's letter about a migration they scoped, ran and finished is read as development.
Length, format and sending it
One page, four paragraphs, 250 to 400 words. PDF unless the portal says otherwise.
Match the posting's vocabulary where it is a proper noun. If they write "DB2 for z/OS", write that. These postings are filtered narrowly because the pool is small. Keep every number identical to the resume. Our programmer resume example is built on the figures used here.
Key takeaways
- Name the platform and version in the first two lines.
- Say what you maintain in a countable unit: lines, jobs, tables, screens.
- Give the second paragraph to one migration, with four facts.
- Say what you retired; that is the fact experienced readers look for.
- If you are behind on a version, say so and say what you are doing.
- For an adjacent title, lead with the migration as a project you ran.
- Never cite an unsourced claim about how much old code exists.
Write your programmer cover letter in 10 minutes with our AI cover letter builder.
Programmer cover letter questions, answered
How long should a programmer cover letter be?
One page, four paragraphs, 250 to 400 words. The reader is usually one person hiring for one platform, looking for two or three facts.
Is a cover letter worth writing for a declining occupation?
More than elsewhere, because the pool is small and the postings are specific. With about 4,400 openings a year, all replacement (BLS Occupational Outlook Handbook, 2025-35 projections), a hiring manager is often filling a seat somebody held for fifteen years. A letter naming their platform and version, plus one migration you finished, does work a resume does not.
Should I mention that I want to move into software development?
Only if the posting is for that. In a letter for a maintenance post, saying you are aiming elsewhere reads as a short tenure waiting to happen. Write for the job in front of you, and make the move by rewriting the migration record when you apply for one.
What if the posting names a product or version I have not used?
Say what you have used that is closest, name the version, and be specific about the gap. "I have not worked in that product; I have eleven years in PL/SQL rating logic on Oracle 19c, which is the same work in a different shell" is credible. Implying familiarity you lack is not.
How do I write about a system nobody will let me describe?
Describe the shape without the identity: batch jobs, tables, the size of the nightly window, the languages and versions, the number of staff who depend on it. None of that identifies anything and it carries almost all the signal.