Skip to main content

Lead/Principal C#/.NET Engineer

Posted today

mbiHamilton Township (NJ)

SENIORITY

Lead

Apply (opens in a new tab)

About the role

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.
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 UIRefactor 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 LayerOwn 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 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
Required Qualifications:
  • 12-15 years of professional C#/.NET software engineering, including senior/lead responsibilities
  • Deep expertise in C# and the .NET platform (.NET Framework and .NET Core / .NET 6/8+), including async programming, memory/performance optimization, and modern language features
  • Expert-level Entity Framework / EF Core: entity modeling, Fluent API, migrations, query optimization, transactions, concurrency, provider-specific behavior
  • Strong relational database skills; PostgreSQL strongly preferred (Oracle/SQL Server acceptable) — schema design, indexing, query tuning, stored proceduresASP.NET Core Web API design (REST) for front-end integration
  • Testing discipline: unit/integration/regression testing frameworks; TDD/mocking
  • Git, CI/CD, and static code analysis (SonarQube)
  • Proven ability to read, reason about, and safely refactor large, unfamiliar codebases
  • Exceptional attention to correctness — financial/benefit calculation accuracy
  • Preferred / Nice to HaveLegacy 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 tuningAWS experience (ECS/EKS, Lambda, RDS for PostgreSQL, S3, CloudWatch, IaC/Cloud
Formation) 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 Success in the First 90 Days Establish the C#/.NET and EF Core standards, patterns, and reference implementation the team will follow Refactor a representative set of converted programs (including a benefit-calculation and a batch program) to clean, tested, performant C# validated against the legacy baseline Define the EF Core data-access approach against PostgreSQL, including query-performance guardrails for batch workloads Mentor the team and set the code-review/quality bar Fill the skill matrix below: SkillAmountCandidate's No. of years of experienceC# Programming ExperienceRequired10.NET Core / .NET 6/7/8/10 ExperienceRequired10Required5Entity Framework Core and LINQ and async/await patterns Experince Required10Required5Angular 17+, Typescript and Node.js experience Required5Strong relational database skills; PostgreSQL strongly preferred (Oracle/SQL Server acceptable) — schema design, indexing, query tuning, stored procedure Required5unit/integration/regression testing frameworks; TDD/mocking Required5Git and static code analysis (SonarQube) Required5Docker containerization and CI/CD pipeline experience (AWS CODEPIPELINE OR GitHub Actions) Required3AWS cloud native applications (S3, SNS, SQS, ECS, RDS, EC2, Lambda) Required3

Before you apply

Applying takes about a minute. These four things decide how fast it moves after that.

Your profile is current

It's what we read first. Occupations, seniority and locations matter more than a long history.

Two examples you can talk through

Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.

A number in mind

What you're on now and what would make you move. We negotiate better when we know both.

Your notice period

Employers plan around it, and it's the question that stalls offers most often.

Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.

More like this