***Only qualified Principal C#/.NET Engineer – Mainframe Modernization & EF Core candidates located at the Hamilton, NJ area to be considered due to the position requiring an onsite presence***
Required Skills
- 12-15 years of professional C#/.NET software engineering, including senior/lead responsibilities
- C# Programming Experience (10 Years)
- .NET Core / .NET 6/7/8/10 Experience (10 Years)
- .NET REST/WEB API Development Experience (5 Years)
- Entity Framework Core and LINQ and async/await patterns Experience (10 Years)
- Solid software design: SOLID, design patterns, domain modeling, layered/clean architecture, dependency injection (5 Years)
- Angular 17+, Typescript and Node.js experience (5 Years)
- Strong relational database skills; PostgreSQL strongly preferred (Oracle/SQL Server acceptable) — schema design, indexing, query tuning, stored proc (5 Years)
- unit/integration/regression testing frameworks; TDD/mocking (5 Years)
- Git and static code analysis (SonarQube) Required 5 Years
- Docker containerization and CI/CD pipeline experience (AWS CODEPIPELINE OR GitHub Actions) (3 Years)
- AWS cloud native applications (S3, SNS, SQS, ECS, RDS, EC2, Lambda) (3 Years)
Preferred Skills
- Legacy modernization experience — COBOL-to-C#/Java conversion, mainframe migration, or automated-transformation tooling
- Understanding of mainframe concepts (COBOL, JCL, batch processing, hierarchical/CODASYL databases like IDS-II/IMS) — to reason about source behavior
- High-volume batch processing performance tuning
- AWS experience (ECS/EKS, Lambda, RDS for PostgreSQL, S3, CloudWatch, IaC/CloudFormation)
- Experience integrating with enterprise job schedulers (Stonebranch, Control-M, CA7)
- Government / benefits / healthcare or other regulated, high-correctness domains
- Npgsql specifics, EF Core performance internals, or ORM migration experience
Summary: We are modernizing a large, mission-critical Honeywell Bull mainframe benefits system (FAMIS) — converting ~1.5M lines of COBOL and ~160K lines of JCL to C#/.NET, migrating an IDS-II hierarchical database to PostgreSQL, and deploying on AWS. Converted code is delivered by an automated modernization vendor in an "as-is" state. This Lead/Principal role owns the refactoring of that converted code into clean, maintainable, high-performance, production-grade C#/.NET, defines the data-access architecture using Entity Framework Core against PostgreSQL, sets engineering standards for the team, and safeguards functional equivalence to the legacy system. This is a benefits system serving NJ families — correctness, performance within the nightly batch window, and maintainability are paramount.
Responsibilities
C# / .NET Engineering
- Refactor machine-converted, COBOL-derived C# into idiomatic, maintainable .NET — meaningful naming, proper OO/domain design, separation of concerns, dependency injection
- Work in .NET (Core) / .NET (latest version); apply modern C# language features (LINQ, async/await, records, pattern matching, nullable reference types, generics)
- Design and implement service layers, domain models, and APIs (ASP.NET Core Web API) that back the Angular UI
- Refactor legacy batch/procedural logic (converted from COBOL/JCL) into maintainable, testable .NET; handle exact decimal/financial arithmetic (decimal, rounding rules) to preserve benefit-calculation correctness
- Optimize performance to meet the nightly batch window (profiling, memory management, async I/O, parallelism where safe)
Entity Framework / Data Layer
- Own the data-access architecture using Entity Framework Core against PostgreSQL (Npgsql provider)
- Refactor the auto-generated/converted data-access layer into a clean, performant EF Core model
- Design entity models, DbContext configuration, Fluent API mappings, relationships, keys, and indexes reflecting the IDS-II ? PostgreSQL schema (168 tables, 4,024+ fields)
- Optimize EF Core queries (eager/lazy/explicit loading, projection, AsNoTracking, compiled queries, batching) to avoid N+1 and meet performance SLAs on high-volume batch operations
- Manage EF Core migrations, concurrency handling, transactions, and connection resiliency
- Map legacy data types and semantics correctly (packed decimals, fixed-width, EBCDIC-origin data, condition codes) to PostgreSQL/EF types without behavioral drift
- Contribute to the COBOL-field ? PostgreSQL-column ? business-term data dictionary
Technical Leadership
- Define and enforce C#/.NET coding standards, architecture patterns, and refactoring guidelines for the engineering team
- Serve as senior technical authority on the converted codebase; make cross-cutting design decisions
- Mentor mid/junior C# developers; perform code reviews; drive engineering quality
- Partner with the Technical Manager/Architect on target architecture and the refactoring strategy
Quality, Testing & Delivery
- Ensure functional equivalence: build unit and regression tests (xUnit/NUnit, Moq) to validate refactored code against the legacy baseline; fix FET-surfaced defects
- Integrate with CI/CD (AWS CodeBuild/CodePipeline), enforce quality/security gates (SonarQube, static analysis, secure coding/OWASP)
- Collaborate with FAMIS SMEs to preserve business logic (eligibility, benefit calculation, payments, EBT)
- Deliver incrementally within Scrum; document design and decisions
***In person interview required***
- **Only those lawfully authorized to work in the designated country associated with the position will be considered.**
- **Please note that all Position start dates and duration are estimates and may be reduced or lengthened based upon a client’s business needs and requirements.**
About Rose
- Founded in 1993
- Office Locations Across the U.S.
- 150+ Clients: Corporations and Government Agencies
- Employee Oriented Company
- Challenging Assignments Across the U.S.
- Continuous Professional Development
EMPLOYEE COMMENTS
- We want you to work with us, but don't take our word for it. Take a look at this sampling of employee comments. They speak for themselves.