NJDHS - DFD Principal C#/.NET Engineer – Mainframe Modernization & EF Core
Listed on 2026-10-15
-
Software Development
.NET Developer, Backend Developer, SQL Developer, Database Engineering
Candidates must agree to the following terms before applying:
- This is a contract role; visa sponsorship is not provided.
- You have not applied for this position through any other agency or recruiter.
- Candidates must work directly on a C2C (Corp-to-Corp) basis.
Requisition Class Developer N2
Region Name State of New Jersey
Title/Role NJDHS - DFD Principal C#/.NET Engineer – Mainframe Modernization & EF Core (811318)
Region Description State of New Jersey
Req. Status Open
No. of Openings 1
Start Date Oct 1, 2026
End Date Jun 30, 2027
Agency Interview Type In Person Only
Priority Normal
Standard Work Week (In Hours) 40
Work Arrangement Hybrid
Work Location Mercer County
Client NJDHS, Division of Family Development
Lead/Principal C#/.NET Engineer with expert-level Entity Framework Core experience to lead the modernization of a mission-critical legacy benefits system hosted on AWS Cloud.
Complete DescriptionNote:
This is a Hybrid position - 100% On-Site for the first 30 days, then 3 Days On-Site, 2 Days Remote
Interviews are in person only.
Position 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. 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.
Key Responsibilities
- 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, As No Tracking , 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…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).