Chapter 42 Exercises: COBOL Career Guide and the Path Forward
These exercises focus on professional development: building career plans, preparing for interviews, designing portfolio projects, and understanding the COBOL job market. Unlike the coding exercises in earlier chapters, many of these require research, self-assessment, and strategic thinking.
Tier 1: Recall and Recognition (Exercises 1-7)
Exercise 1: Industry Identification
List the five industries that employ the largest number of COBOL developers. For each industry, name one specific business function that depends on COBOL systems (for example, a specific type of processing or transaction rather than a generic function like "data processing").
Exercise 2: Career Path Mapping
Match each role with its typical responsibilities:
| Role | Responsibilities |
|---|---|
| a) Junior COBOL Developer | 1) Designs system architecture for new applications and mentors senior developers |
| b) COBOL Application Analyst | 2) Maintains existing programs, fixes bugs, implements small enhancements |
| c) Senior COBOL Developer | 3) Analyzes business requirements and translates them into technical specifications for COBOL programs |
| d) CICS Systems Programmer | 4) Configures and maintains the CICS Transaction Server environment, including resource definitions and performance tuning |
| e) Technical Architect | 5) Implements new features, leads code reviews, designs program structure for complex requirements |
Exercise 3: Certification Knowledge
Answer the following questions about COBOL-related certifications:
- a) What organization offers the most widely recognized mainframe COBOL certification?
- b) Name two IBM certifications that are directly relevant to a COBOL developer's career
- c) What is the difference between a certification and a professional credential in the context of mainframe technology?
- d) At what career stage does certification provide the most value: entry-level, mid-career, or senior?
- e) Name one non-IBM certification that complements COBOL skills
Exercise 4: Complementary Skills Inventory
For each COBOL skill area, identify the complementary non-COBOL skill that most enhances a developer's value:
- a) Batch processing expertise --> Which scheduling/automation tool knowledge?
- b) DB2 programming --> Which SQL-related skill beyond basic SELECT/UPDATE?
- c) CICS programming --> Which web technology integration skill?
- d) JCL job streams --> Which DevOps tool knowledge?
- e) VSAM file processing --> Which modern data management skill?
Exercise 5: Resume Keyword Identification
A job posting for a "Mainframe COBOL Developer" contains the following requirements. Categorize each as Essential (must-have for the role), Preferred (nice-to-have), or Aspirational (rarely tested in interviews but impressive on a resume):
- a) COBOL-85 programming
- b) JCL and batch processing
- c) DB2 SQL
- d) CICS BMS and pseudo-conversational programming
- e) IMS/DB and DL/I
- f) REXX scripting
- g) MQ Series messaging
- h) Agile/Scrum experience
- i) Git or Endevor version control
- j) JSON GENERATE and REST API integration
Exercise 6: Interview Question Preview
For each of the following common COBOL interview questions, write a one-sentence summary of what the interviewer is really testing:
- a) "Explain the difference between COMP, COMP-3, and DISPLAY numeric fields."
- b) "What happens when a READ statement gets file status '23'?"
- c) "Walk me through how you would debug a program that ABENDs with an S0C7."
- d) "Describe the difference between static and dynamic CALL."
- e) "How do you handle a deadlock in DB2?"
Exercise 7: Job Market Terminology
Define each of the following terms as they apply to the COBOL job market:
- a) Legacy modernization
- b) Staff augmentation
- c) Managed services
- d) Platform migration
- e) Technical debt
- f) Knowledge transfer
- g) Rehosting vs. refactoring vs. rewriting
Solutions for Exercises 1-7:
Exercise 1 Solution: 1. Banking/Financial Services: Demand deposit accounting (processing checking account transactions, calculating daily interest, generating statements) 2. Insurance: Policy administration (premium calculation, policy issuance, endorsement processing, renewal generation) 3. Government: Tax processing (IRS returns processing, state revenue systems, benefits calculation) 4. Healthcare: Claims adjudication (processing medical claims against policy rules, calculating provider payments, generating Explanation of Benefits) 5. Retail: Supply chain management (purchase order processing, inventory replenishment, vendor payment systems)
Exercise 2 Solution: - a-2, b-3, c-5, d-4, e-1
Exercise 3 Solution: - a) IBM offers the most widely recognized mainframe certifications relevant to COBOL. - b) IBM Certified Application Developer - COBOL, and IBM Certified System Administrator - z/OS (or IBM Certified Database Administrator - DB2). - c) A certification typically requires passing a standardized exam and demonstrates knowledge at a specific point in time. A professional credential may include experience requirements, continuing education, and periodic renewal. - d) Entry-level. Certification has the most impact when you lack professional experience to demonstrate your skills. Mid-career and senior developers are typically evaluated on their track record rather than certifications. - e) AWS Certified Cloud Practitioner (demonstrates cloud awareness relevant to mainframe-to-cloud modernization), or Certified ScrumMaster (demonstrates Agile methodology knowledge).
Exercise 4 Solution: - a) Batch processing --> CA Autosys, Control-M, or TWS (Tivoli Workload Scheduler) for enterprise job scheduling - b) DB2 programming --> Database performance tuning and query optimization (EXPLAIN, index design, access path analysis) - c) CICS programming --> REST API design and JSON processing (for wrapping CICS transactions as web services) - d) JCL job streams --> Jenkins, GitLab CI, or IBM Urban Code Deploy (for CI/CD pipeline integration) - e) VSAM file processing --> Apache Kafka or MQ Series (for event streaming as a modern alternative to file-based batch integration)
Exercise 5 Solution: - a) Essential -- this is the core skill - b) Essential -- fundamental to mainframe development - c) Essential -- nearly all mainframe applications use DB2 - d) Essential or Preferred -- depends on the specific role - e) Preferred -- IMS is less common than DB2 but still used in insurance and manufacturing - f) Preferred -- useful for automation and productivity - g) Preferred -- important for distributed integration - h) Preferred -- increasingly expected in mainframe shops adopting Agile - i) Preferred -- version control is a baseline expectation - j) Aspirational -- cutting-edge for COBOL; impressive but rarely a hiring requirement
Exercise 6 Solution: - a) Testing whether you understand data representation at the machine level and can make informed choices about storage and performance. - b) Testing whether you know VSAM file status codes (23 = record not found on keyed access) and can handle error conditions gracefully. - c) Testing your debugging methodology and whether you understand that S0C7 is a data exception (non-numeric data in a numeric field) -- they want to see a systematic approach, not just "look at the dump." - d) Testing whether you understand the performance and flexibility trade-offs between static linking and dynamic CALL resolution. - e) Testing whether you understand concurrency control, can explain the deadlock cycle, and know the practical resolution (retry logic with ROLLBACK).
Exercise 7 Solution: - a) Legacy modernization: The process of updating older systems to meet current business needs, which may involve API enablement, UI modernization, cloud integration, or code refactoring -- not necessarily replacement. - b) Staff augmentation: Hiring contractors or consultants to supplement an existing team, typically for a specific project or to fill a skills gap. - c) Managed services: Outsourcing the operation and maintenance of mainframe systems to a third-party provider who takes responsibility for availability, performance, and support. - d) Platform migration: Moving applications from one computing platform to another (e.g., from z/OS to Linux, or from on-premises to cloud). - e) Technical debt: The accumulated cost of shortcuts, deferred maintenance, and outdated practices in a codebase that makes future changes more expensive and risky. - f) Knowledge transfer: The process of documenting and transferring understanding of systems, business rules, and operational procedures from experienced staff to newer team members. - g) Rehosting moves the same code to a new platform with minimal changes; refactoring restructures the code while preserving its behavior; rewriting replaces the code with a new implementation in the same or different language.
Tier 2: Comprehension and Application (Exercises 8-15)
Exercise 8: Build a 90-Day Study Plan
Design a 90-day study plan for someone who has completed this textbook and wants to prepare for their first COBOL developer job. The plan should include: - Daily study hours (realistic for someone who may also be working) - Weekly milestones tied to specific skills - Practice projects that produce portfolio artifacts - Interview preparation activities starting at week 8 - Resources (books, websites, practice environments) for each topic
Produce a week-by-week schedule with specific activities and measurable outcomes.
Solution:
Weeks 1-3: Core Language Reinforcement - 2 hours/day, 5 days/week - Week 1: Review COBOL fundamentals (Chapters 1-10). Write 3 small programs from scratch without referring to examples. Milestone: Complete a sequential file processing program with control breaks. - Week 2: File processing deep dive (Chapters 11-16). Practice VSAM KSDS creation, SORT operations, and MERGE. Milestone: Build a file maintenance program that handles adds, changes, and deletes. - Week 3: Subprograms and copybooks (Chapters 17-21). Practice CALL interfaces and COPY REPLACING. Milestone: Refactor the Week 2 program into a main program with 3 subprograms sharing a common copybook. - Resources: IBM Enterprise COBOL Language Reference (free PDF), GnuCOBOL on personal machine for practice.
Weeks 4-6: Platform Technologies - 2 hours/day, 5 days/week - Week 4: DB2 embedded SQL (Chapter 22-23). Practice cursor processing, singleton SELECTs, error handling with SQLCA. Milestone: Write a program that joins 3 tables and produces a report. - Week 5: CICS fundamentals (Chapter 24-25). Study BMS maps, pseudo-conversational programming, EXEC CICS commands. Milestone: Design a 3-screen CICS application on paper with complete pseudocode. - Week 6: JCL and batch (Chapters 27-30). Practice writing JCL from scratch. Milestone: Write a 5-step job stream with conditional execution and GDG management. - Resources: IBM Knowledge Center, z/OS educational materials, Marist College z/OS access (if available).
Weeks 7-9: Domain Knowledge and Integration - 2 hours/day, 5 days/week - Week 7: Financial calculations (Chapters 33-35). Practice interest computation, amortization, and decimal arithmetic. Milestone: Build a loan payment calculator program. - Week 8: Modern COBOL (Chapters 37-40). Practice JSON GENERATE, XML processing, and unit testing. Milestone: Write a program that reads a VSAM file and produces a JSON API response. - Week 9: Capstone review (Chapter 41). Walk through the capstone architecture. Milestone: Document the data flow of 3 major transactions end-to-end. - Begin interview preparation: study common questions, practice whiteboard coding.
Weeks 10-12: Portfolio and Interview Prep - 3 hours/day, 5 days/week (increased intensity) - Week 10: Build a portfolio project: a small but complete application (e.g., an inventory management system) with VSAM files, a batch processing cycle, and report generation. Milestone: Working programs with documentation. - Week 11: Practice interviews. Prepare 5-minute walkthrough of your capstone and portfolio projects. Practice explaining technical decisions. Conduct mock interviews with a peer. Milestone: Record yourself answering 10 interview questions and review. - Week 12: Job search execution. Update resume with COBOL keywords. Apply to 10+ positions. Follow up on applications. Milestone: Submit applications and begin scheduling interviews. - Resources: LinkedIn COBOL groups, IBM Z Xplore (free learning platform), SHARE conference materials.
Exercise 9: Technical Interview Preparation
Write detailed answers to the following technical interview questions. Each answer should demonstrate both knowledge and practical experience:
a) "Describe the COBOL compilation process on z/OS, from source code to executable load module."
b) "A production program is running slowly. Walk me through how you would diagnose and fix the performance problem."
c) "Explain how you would handle a situation where a nightly batch job fails at step 7 of 12, with steps 1-6 having already updated the database."
d) "What is the difference between EXEC SQL INCLUDE and COPY? When would you use each?"
e) "A program reads a VSAM file sequentially and the file status returns '96'. What does this mean, and how do you fix it?"
Exercise 10: Portfolio Project Design
Design a portfolio project that demonstrates the following skills in a single application: - Sequential and indexed file processing - DB2 embedded SQL with cursor processing - Batch job stream with multiple steps - Report generation with control breaks - Error handling and logging - At least one CALL to a subprogram
Write the project specification including: purpose, file layouts, DB2 table definitions, program descriptions, JCL job stream, and sample output. The project should be completable in 40-60 hours.
Solution:
Project: Regional Sales Analysis System
Purpose: Process daily sales transactions from multiple regions, validate and post them to a DB2 sales database, and generate a multi-level control break report with regional and national totals.
Components: 1. SALVALID - Batch validation program - Reads sequential daily sales file - Validates: salesperson ID against VSAM reference file, region code, product code, amount ranges - Writes valid records to output file, invalid to error file - Produces validation summary statistics
-
SALPOST - Batch posting program - Reads validated sales file (sorted by region/salesperson) - Updates DB2 SALES_SUMMARY table with daily totals - Inserts detail rows into DB2 SALES_DETAIL table - Uses cursor processing to check for duplicate postings - Commits every 500 records
-
SALRPT - Report generation program - Reads DB2 SALES_DETAIL with SALESPERSON and REGION joins - Produces 132-column report with:
- Detail lines per salesperson per product
- Salesperson subtotals
- Region subtotals
- National grand totals
- Calls subprogram SALFMT for currency formatting
-
SALFMT - Currency formatting subprogram - Accepts numeric amount and format code - Returns formatted string with currency symbol, commas, and sign - Demonstrates CALL interface with USING clause
-
JCL Job Stream (SALESJOB): - Step 1: IDCAMS REPRO backup of VSAM reference file - Step 2: DFSORT to sort daily sales by region/salesperson - Step 3: SALVALID with COND=(0,NE) on step 2 - Step 4: SALPOST with COND=(4,LT) - Step 5: SALRPT with COND=(4,LT)
Exercise 11: Salary Negotiation Preparation
Research current COBOL developer salary ranges for your geographic area (or a target area). For each of the following experience levels, identify: - The median salary - The 25th and 75th percentile range - Key factors that push compensation to the high end (specific skills, certifications, domain knowledge) - Whether remote work affects the range
Experience levels: Entry-level (0-2 years), Mid-level (3-7 years), Senior (8-15 years), Principal/Architect (15+ years).
Exercise 12: Networking Strategy
Write a networking plan that addresses the following: - Three professional organizations or communities relevant to COBOL developers - A strategy for contributing to COBOL open-source projects (name specific projects) - A plan for attending or presenting at one mainframe conference within the next year - How to build relationships with recruiters who specialize in mainframe placement - A LinkedIn profile optimization checklist for COBOL skills
Exercise 13: Skills Gap Analysis
Using the job requirements from three real COBOL developer job postings (search major job boards), create a skills gap analysis matrix:
| Skill | Job 1 | Job 2 | Job 3 | Your Level | Gap |
|---|---|---|---|---|---|
| COBOL | Required | Required | Required | ? | ? |
| DB2 | Required | Required | Preferred | ? | ? |
| ... | ... | ... | ... | ... | ... |
Rate your level on a 1-5 scale (1=Awareness, 2=Beginner, 3=Intermediate, 4=Advanced, 5=Expert). Identify the three largest gaps and create a specific plan to close each one.
Exercise 14: Behavioral Interview Preparation
COBOL interviews often include behavioral questions about working on legacy systems. Write STAR-format responses (Situation, Task, Action, Result) for:
a) "Tell me about a time you had to understand a complex system with limited documentation."
b) "Describe a situation where you found and fixed a bug that others had missed."
c) "How have you handled a disagreement with a team member about a technical approach?"
If you lack professional COBOL experience, base your answers on academic projects, the capstone, or analogous experiences from other technology domains.
Exercise 15: Career Decision Framework
You have received two job offers. Evaluate them using a structured framework:
Offer A: Large bank, COBOL maintenance role, $95,000 salary, on-site in major financial center, team of 30 COBOL developers, mainframe-only environment, no modernization initiatives planned.
Offer B: Consulting firm, modernization projects, $85,000 salary, 50% remote, team of 8 (mixed COBOL and Java), exposure to cloud migration and API integration, frequent client changes.
Create a weighted evaluation matrix with at least 8 criteria (salary, learning opportunity, career growth, work-life balance, job security, technology exposure, mentorship availability, industry reputation). Assign weights based on your personal priorities and score each offer.
Tier 3: Application and Strategy (Exercises 16-22)
Exercise 16: Write a COBOL-Focused Resume
Write a one-page resume for a COBOL developer position. The resume should: - Lead with a professional summary that highlights COBOL and mainframe skills - Include a Technical Skills section organized by category (Languages, Platforms, Databases, Tools) - Describe the capstone project and at least one other project in terms of business impact - Use action verbs and quantifiable achievements - Include keywords that pass Applicant Tracking System (ATS) screening
If you are a career changer, include a "Relevant Projects" section instead of "Professional Experience."
Solution (template):
[YOUR NAME]
[Email] | [Phone] | [LinkedIn] | [City, State]
PROFESSIONAL SUMMARY
COBOL developer with comprehensive training in enterprise mainframe
development including COBOL-85/2014, DB2 embedded SQL, CICS transaction
processing, JCL batch operations, and VSAM file management. Built a
complete banking application as capstone project demonstrating batch
processing, online transactions, financial calculations, and report
generation. Strong analytical skills with focus on financial systems
and data integrity.
TECHNICAL SKILLS
Languages: COBOL-85, COBOL 2014, SQL, JCL, REXX
Platforms: z/OS, TSO/ISPF, CICS Transaction Server
Databases: DB2 for z/OS, VSAM (KSDS, ESDS, RRDS)
Tools: DFSORT/ICETOOL, SDSF, File Manager, Debug Tool
Methodologies: Batch processing design, pseudo-conversational
programming, control break reporting, double-entry
accounting, checkpoint/restart patterns
Other: JSON processing, REST API integration, GnuCOBOL
PROJECT EXPERIENCE
Community Bank Application (Capstone Project)
- Designed and implemented a multi-component banking application
comprising 18 COBOL programs, 12 copybooks, 6 DB2 tables,
4 VSAM files, and a complete JCL job stream
- Built overnight batch cycle processing 50,000 daily transactions
with interest calculation, statement generation, and GL posting
- Implemented CICS pseudo-conversational transactions for account
inquiry, deposit, withdrawal, and transfer operations
- Created regulatory reporting (CTR) with $10,000 threshold
detection and structuring analysis
- Validated financial accuracy with automated test suite ensuring
zero-cent discrepancy in interest calculations
Regional Sales Reporting System (Portfolio Project)
- Developed 4-program batch suite: validation, DB2 posting,
report generation, and formatting subprogram
- Processed 100,000+ test transactions with 99.7% validation
pass rate and zero posting errors
- Generated 3-level control break report with salesperson,
region, and national totals
EDUCATION
[Degree], [University], [Year]
Relevant Coursework: [If applicable]
Exercise 17: Research the COBOL Open-Source Ecosystem
Investigate the current state of COBOL in the open-source world. Write a 500-word report covering: - GnuCOBOL: capabilities, limitations compared to IBM Enterprise COBOL, use cases - COBOL on GitHub: number of repositories, types of projects, contribution opportunities - Zowe: what it is, how it connects modern developer tools to the mainframe - Visual Studio Code extensions for COBOL development - IBM Z Open Editor and its role in modernizing the COBOL development experience
Exercise 18: Design a Modernization Proposal
You are a consultant hired by a mid-size insurance company that runs 2,000 COBOL programs on z/OS. The CTO wants a modernization plan. Write a proposal that addresses: - Assessment methodology (how to inventory and categorize the 2,000 programs) - Modernization tiers: which programs to leave as-is, which to refactor, which to rewrite - Technology recommendations for API enablement of core business logic - Timeline and phasing (this cannot happen all at once) - Risk mitigation (what happens if a modernized component fails) - Staffing model (what mix of COBOL and modern-stack developers is needed)
Exercise 19: Mentor Relationship Planning
Design a plan for finding and working with a COBOL mentor. Address: - Where to find experienced COBOL professionals (organizations, events, online communities) - How to approach a potential mentor with a specific, respectful request - A proposed meeting cadence and agenda structure for the first 6 months - Topics to cover each month (technical skills, career advice, industry knowledge) - How to provide value to the mentor in return (even as a junior developer)
Exercise 20: Job Market Research Report
Research the current COBOL job market in a specific geographic area or industry vertical. Produce a report that includes: - Number of open positions (from at least 3 job boards) - Breakdown by role type (developer, analyst, architect, consultant) - Common technology stacks required alongside COBOL - Salary ranges for different experience levels - Contract vs. permanent position ratios - Remote work availability - Trends over the past 3 years (if data is available)
Exercise 21: Conference Presentation Outline
Design a 30-minute conference presentation titled "From Textbook to Production: A New COBOL Developer's First Year." The presentation should cover: - Your learning journey (textbook, self-study, first projects) - Surprises: what was different about real-world COBOL vs. academic COBOL - Technical lessons learned (specific code examples or architecture insights) - Career lessons learned (networking, mentorship, skill development) - Advice for other new COBOL developers
Write the slide outline (15-20 slides) with key talking points for each slide.
Exercise 22: Five-Year Career Plan
Write a detailed five-year career plan for a COBOL-focused career. The plan should include:
- Year 1: Entry-level developer goals -- specific skills to develop, certifications to pursue, projects to seek
- Year 2: Growing independence -- types of assignments to volunteer for, areas to deepen, professional relationships to build
- Year 3: Mid-level transition -- technical leadership opportunities, specialization choices, compensation targets
- Year 4: Expertise development -- speaking/writing, mentoring juniors, contributing to architecture decisions
- Year 5: Career inflection point -- senior developer track vs. management track vs. consulting track, with criteria for choosing
Tier 4: Analysis and Evaluation (Exercises 23-30)
Exercise 23: COBOL vs. Replacement Analysis
A financial institution is considering replacing its COBOL core banking system with a commercial off-the-shelf (COTS) package. Analyze both sides: - What are the valid business reasons for replacement? - What are the valid business reasons for keeping COBOL? - What risks does replacement introduce that COBOL maintenance does not? - What risks does continued COBOL maintenance introduce that replacement would eliminate? - How would you structure a cost-benefit analysis that fairly represents both options?
Hint: Consider the total cost of ownership over 10 years, including licensing, customization, data migration, training, operational risk, and opportunity cost. Remember that COTS packages often require as much customization as the original system.
Exercise 24: Workforce Demographics Analysis
The COBOL workforce is aging, with many experienced developers approaching retirement. Analyze this situation: - What specific knowledge is at risk of being lost? - Why have organizations been slow to hire and train new COBOL developers? - What is the economic incentive structure for a young developer choosing COBOL vs. a more "modern" technology? - How does the supply/demand imbalance affect compensation? - What role do educational institutions play, and what should they do differently?
Hint: Consider the paradox: organizations say they cannot find COBOL developers, but many do not invest in training programs. Think about why this disconnect exists and who benefits from it.
Exercise 25: Modernization Approach Comparison
Compare three approaches to COBOL modernization for a 500-program banking system:
| Approach | Description |
|---|---|
| API Wrapping | Expose existing COBOL programs as REST APIs without changing the COBOL code |
| Automated Conversion | Use tools to convert COBOL to Java or C# automatically |
| Progressive Rewrite | Rewrite programs one at a time in a modern language over 5 years |
For each approach, analyze: cost, risk, timeline, staffing requirements, impact on business operations, and quality of the resulting system. Which would you recommend and why?
Hint: Automated conversion tools produce Java/C# code that looks like COBOL with different syntax. The resulting code is not idiomatic in the target language and may be harder to maintain than the original COBOL. Think about what "modernization" actually means for the business.
Exercise 26: AI and COBOL
Evaluate the impact of AI on COBOL development careers: - How can AI tools assist COBOL developers today (code generation, documentation, testing)? - What aspects of COBOL development are resistant to AI automation? - How might AI change the COBOL job market in the next 5-10 years? - What skills should a COBOL developer develop to remain valuable in an AI-augmented workplace?
Hint: Consider that AI models are trained primarily on modern languages with abundant online examples. COBOL's representation in training data is limited. Also consider that the business rules embedded in COBOL programs are often undocumented and understood only through the code itself -- what does this mean for AI-assisted migration?
Exercise 27: Remote Work and Mainframe Development
Analyze the feasibility and implications of remote work for COBOL developers: - What technical infrastructure is needed for secure remote mainframe development? - How do security requirements (RACF, encryption, audit trails) affect remote access? - What productivity impacts have organizations reported for remote mainframe teams? - How does remote work change the job market for COBOL developers (geographic arbitrage, global competition)? - What career development activities (mentoring, knowledge transfer) are harder to do remotely?
Hint: Consider that many mainframe shops operated with on-site-only policies until 2020. The forced shift to remote work demonstrated that remote mainframe development is technically feasible. But is it optimal?
Exercise 28: Building a Personal Brand as a COBOL Developer
The term "COBOL developer" carries different connotations in different audiences. Design a personal branding strategy: - How to position yourself to traditional mainframe employers (banks, insurers, government) - How to position yourself to modernization-focused companies (consultancies, cloud providers) - How to position yourself to the broader technology community (conferences, blogs, social media) - What content topics would you write about or present on? - How to handle the "COBOL is dead" narrative professionally and constructively
Hint: The most effective personal brands in the COBOL space bridge the traditional and modern worlds. Consider positioning yourself as a "mainframe modernization specialist" rather than just a "COBOL developer."
Exercise 29: Evaluating Employer COBOL Environments
You are interviewing with three companies. Based on the following descriptions, evaluate which has the healthiest COBOL development environment:
Company A: 400 COBOL programs, last new hire was 5 years ago, no automated testing, manual deployments, Endevor for source control, ISPF-only development, no interaction with distributed teams.
Company B: 200 COBOL programs, hired 3 junior developers last year, unit testing framework in place, Jenkins CI pipeline for build automation, Zowe CLI for modern tool integration, regular lunch-and-learn sessions.
Company C: 800 COBOL programs, outsourced maintenance to an offshore team, 2 remaining on-site COBOL experts for escalations, no documentation, active project to convert 100 programs to Java per year.
Analyze each environment across these dimensions: career growth, learning opportunity, job security, team culture, technical practices, and modernization readiness.
Hint: Size of the codebase alone does not indicate a good or bad environment. Look at the investment signals: are they hiring, training, modernizing tools, or just maintaining the status quo?
Exercise 30: The Ethics of Legacy System Maintenance
Consider the ethical dimensions of COBOL system maintenance: - What are the ethical responsibilities of a developer maintaining a system that processes millions of people's financial transactions? - How should a developer handle discovering undocumented business rules in code that may not comply with current regulations? - What is the ethical obligation to document and transfer knowledge as experienced developers retire? - How do you balance the business pressure to "just fix it quickly" with the professional obligation to fix it correctly?
Hint: COBOL systems in banking and government directly affect people's livelihoods. A bug in an interest calculation affects millions of customers. A bug in a benefits system affects the most vulnerable populations. The responsibility is real and significant.
Tier 5: Create and Design (Exercises 31-35)
Exercise 31: Design a COBOL Developer Onboarding Program
You have been asked to design a 12-week onboarding program for new COBOL developers joining a bank's IT department. The new hires have computer science degrees but no mainframe experience. Design the complete program including: - Weekly curriculum with specific topics, hands-on exercises, and assessments - A mentorship pairing model - A graduated project sequence (small fixes in week 3, small features by week 8, independent work by week 12) - Metrics for measuring onboarding success - Resources and tools needed
Hint: The biggest challenge in onboarding new COBOL developers is not the language itself -- it is the platform (z/OS, TSO, JCL), the ecosystem (DB2, CICS, VSAM), and the domain knowledge (banking, insurance). Plan accordingly.
Exercise 32: Create a COBOL Developer Community Blueprint
Design a local or online COBOL developer community. Your blueprint should include: - Mission statement and target audience - Meeting format and frequency (meetups, webinars, hackathons) - Content calendar for the first 6 months - Strategies for attracting both experienced developers and newcomers - Partnerships with employers, educational institutions, and technology vendors - A plan for sustainability (how to keep the community active after the initial enthusiasm fades)
Hint: The most successful developer communities provide concrete value: networking with potential employers, hands-on learning opportunities, and access to experienced practitioners. Generic "let's talk about COBOL" meetups tend to lose momentum.
Exercise 33: Write a Business Case for COBOL Training Investment
Write a formal business case document that a CTO could present to the board of directors, arguing for an investment in COBOL training and new developer hiring. The business case should include: - Executive summary - Problem statement (aging workforce, knowledge concentration risk, unfilled positions) - Proposed solution (training program, university partnerships, competitive compensation) - Cost analysis (training costs, hiring costs, salary adjustments) - Risk analysis (what happens if the investment is NOT made) - Expected returns (reduced contractor dependency, faster project delivery, improved system reliability) - Implementation timeline
Hint: Frame this as a risk mitigation investment, not a cost. The board understands risk better than technology. Quantify the cost of a failed batch run, a production outage, or a missed regulatory deadline due to insufficient COBOL staff.
Exercise 34: Design a COBOL-to-Cloud Integration Architecture
A government agency runs its benefits processing on z/OS COBOL. They want to add a citizen-facing web portal and a mobile app without rewriting the COBOL backend. Design the integration architecture: - How COBOL batch programs expose their outputs to the web tier - How the web portal invokes COBOL business logic in real-time - Data synchronization between the mainframe and cloud-based databases - Security model for citizen authentication flowing to mainframe authorization - Monitoring and alerting across the hybrid environment
Produce an architecture diagram (described in text), the key interface definitions, and a deployment plan.
Hint: This is the most common modernization pattern in government: keep the COBOL backend for its proven reliability and regulatory compliance, add a modern frontend for citizen interaction. The integration layer is where most of the complexity lives.
Exercise 35: Write Your Professional Development Manifesto
Write a 1,000-word personal manifesto that articulates: - Why you chose to learn COBOL and what it means to you professionally - Your honest assessment of COBOL's place in the technology landscape - The specific value you believe you bring as someone who understands both COBOL and modern technology - Your commitment to continuous learning and the specific areas you will invest in - Your long-term vision for your career and how COBOL fits into it
This is not an academic exercise -- it is a document for yourself. Be honest, specific, and forward-looking. Revisit it annually and update it as your career evolves.
Hint: The strongest professionals in any field have clarity about why they do what they do. This manifesto forces you to articulate that clarity. It is also useful as the foundation for conference talks, blog posts, and interview narratives.