M&T Bank

Senior Software Engineer - Mainframe

Buffalo, NY Full time

The Senior Software Engineer – Mainframe is responsible for designing, developing, and supporting critical mainframe applications that enable core banking operations. This role focuses on maintaining and enhancing long‑standing systems that support high‑volume transaction processing, with an emphasis on stability, resiliency, and risk management. Working independently within the Software Development Lifecycle (SDLC), the engineer partners closely with technical and business stakeholders to ensure reliable application performance, provide ongoing production support, and deliver enhancements that meet evolving business needs.

Primary Responsibilities

  • Independently design, develop, modify, and support mainframe applications to meet business needs while minimizing risk to the Bank, following approved SDLC standards and banking technology controls.
  • Write, maintain, and enhance clean, efficient, secure, and resilient code using COBOL, JCL, and Easytrieve, with flexibility across multiple systems and services.
  • Perform business‑as‑usual (BAU) application support, including troubleshooting incidents, implementing small enhancements, and resolving production issues for critical mainframe systems.
  • Analyze and interpret technical and business requirements to ensure accuracy, feasibility, and completeness prior to implementation.
  • Design and create files and data structures using IBM utilities, including VSAM, to support application functionality and data integrity.
  • Participate in Agile project delivery, contributing to sprint planning, execution, and delivery of assigned work.
  • Review pull requests, conduct code reviews, and provide constructive feedback to improve code quality, performance, and maintainability.
  • Utilize source code management and deployment tools to manage changes, resolve merge conflicts, and ensure compliance with SDLC and change‑management policies.
  • Collaborate with business partners, application teams, and technical stakeholders to communicate implementation details and support dependent systems.
  • Participate in on‑call rotation (24x7 support) for supported applications, with critical processing windows typically occurring during overnight hours.
  • Understand and adhere to the Company’s risk, regulatory, and internal control standards, escalating risk‑related issues to management as appropriate.
  • Promote a culture of inclusion, collaboration, and accountability aligned with the Company’s brand and values.

Required Technical Experience

  • Hands‑on experience designing, developing, and supporting applications across multiple systems and services in a mainframe environment.
  • Proficiency in COBOL, JCL, and Easytrieve (candidates with strong experience in at least two of these three technologies will be considered).
  • Experience designing application modifications and technical solutions using COBOL.
  • Experience creating and managing files and data structures using IBM utilities, including VSAM.
  • Familiarity with Agile methodologies and collaborative team‑based development.
  • Ability to read, understand, and support complex legacy codebases with limited transition knowledge.

Education and Experience Required

  • Associate’s degree and a minimum of 5 years’ systems analysis and/ or application development work experience or Bachelor's degree and a minimum of 3 years’ systems analysis and/ or application development work experience. In lieu of degree, a combined minimum of 7 years’ education and/or relevant work experience, including a minimum of 3 years’ systems analysis and/or application development work experience
  • Advanced proficiency in designing, developing, and supporting applications for multiple systems and services, using JCL and EZTRIEVE; designing modifications and solutions using COBOL; creating and designing files and data using IBM utilities; managing projects using Agile methodologies; and utilizing VSAM to conduct mainframe development.

Education and Experience Preferred

  • Prior experience supporting banking or financial services applications, including transaction or batch processing systems.
  • Experience working with legacy or long‑tenured applications in a regulated environment.
  • Strong analytical and problem‑solving skills specific to application development and production support.
  • Ability to work autonomously with minimal oversight while collaborating effectively within a team.
  • Strong organizational, time‑management, and multitasking skills across multiple priorities.
  • Excellent verbal and written communication skills.

#LI-JB3

M&T Bank is committed to fair, competitive, and market-informed pay for our employees. The pay range for this position is $97,100.00 - $161,800.00 Annual (USD). The successful candidate’s particular combination of knowledge, skills, and experience will inform their specific compensation.

Location

Buffalo, New York, United States of America