Senior Software Engineer
Full time
Greenville
,
South Carolina
R18432
Essential Duties and Responsibilities
- Evolve the API gateway and job runtime — design features like rate-limit telemetry, per-app job quotas, cross-app observability, and zero-downtime upgrades as the platform matures.
- Set the patterns — when an application team needs auth, messaging, job scheduling, secret management, or deployment, they look at the reference implementation on the platform. You decide what that reference looks like.
- Partner with application teams — review architecture for new application features, help teams pick the right shared services, and push back when a feature would duplicate platform concerns.
- Own cross-cutting concerns end-to-end — from Infrastructure-as-Code (Bicep) modules to Azure DevOps pipelines, Key Vault secret management, and logging conventions.
- Modernize legacy — we're mid-migration of a major financial system to a modern .NET and React stack. Part of the work is porting calculation engines and decades-old business rules into clean, testable code without breaking production math.
- Lead through influence — write ADRs, run design reviews, pair with mid-level engineers when they hit architectural decisions, and broadcast your thinking through internal tech talks or written deep-dives.
What you bring:
- Communication – excellent verbal and written communication skills
- Independent Work – exceptional ability to deliver work independently with minimal direction, often offering guidance to others as well, in order to deliver more successfully
- Problem-solving – a ferociously curious mind, seeing many different angles from which to attack the problem in order to help develop solutions
- Ownership – an unfailing desire to succeed in solving the problem and meeting the team’s delivery goals
- Organization – masterful ability to stay self-organized and support good organizational skills within the team
- Teamwork – an “all for one” attitude that focuses on the success of the team’s goals and strengthens the teams resolve and ability to succeed
Qualifications
- 8+ years building production backend or full-stack systems, with at least 3 in a senior capacity owning architectural decisions.
- Deep experience with .NET (C#) and a modern web frontend (React preferred; we're flexible on Angular/Vue at depth).
- Practical fluency with cloud infrastructure — Azure preferred (App Service, SQL, Key Vault, Service Bus); AWS/GCP acceptable if you're a fast learner. Comfortable with Infrastructure-as-Code (Bicep, Terraform, or ARM).
- API gateway / reverse proxy design experience — ideally YARP, or Envoy / NGINX / Kong / Azure APIM. You understand what auth, routing, rate limiting, and request/response transformation buy a platform and what they cost.
- Background-job / workflow orchestration — Hangfire, Quartz, Temporal, Durable Functions, or similar. You've debugged why a job didn't run at 2 a.m.
- Strong instincts for Clean Architecture / DDD / hexagonal — not because it's fashionable, but because you've lived the cost of tight coupling in large codebases.
- A thought-leadership track record — ADRs, design docs, open-source contributions, conference or internal tech talks, blog posts, or other artifacts that show you think deeply about technical problems and share that thinking.
- A written-communication habit — you'd rather write a 2-page design doc than have the same meeting three times
What would really stand out:
- Legacy-to-modern migration experience, especially IBM i / AS-400 / COBOL / RPG. We don't expect you to read COBOL on day one, but if decoding 40-year-old business rules and translating them into testable code sounds interesting, you'll fit right in.
- Financial-services domain knowledge — consumer loans, compliance (CFPB, state-level lending regs), or banking systems.
- Identity-platform experience — Azure AD / Entra ID, MSAL, JWT, OAuth/OIDC specifics.
- Real-time systems — SignalR, WebSockets, SSE. We use SignalR for job progress streaming.
- Openness to AI-assisted development tools — we actively use tools like Claude Code and GitHub Copilot to improve both efficiency and effectiveness. You don't need to be a power user on day one, but you should be curious about where these tools add leverage, where they don't, and willing to evolve your workflow as they get better.
Physical Demands:
Must be able to:
- Constantly remain in a stationary position.
- Occasionally move about inside the office to access file cabinets, office machinery, etc.
- Occasionally lift up to 25 pounds
- Frequently operate standard office equipment such as a computer
Work Environment:
- Office environment.
- Occasional travel may be required.
This job description reflects management’s assignment of essential functions, and nothing in this herein restricts management’s right to assign or reassign duties and responsibilities to this job at any time.
Apply Now
Not what you're looking for?
You can share your info through our Stay Connected form.
We’ll keep you updated when opportunities open near you.
You can share your info through our Stay Connected form.
We’ll keep you updated when opportunities open near you.
