Senior Software Engineer (.NET/Multi-Tenant SaaS) | 6-Month Contract We're looking for a Senior Software Engineer to join a project team on a contract basis. The team is building a modern, multi-tenant web platform that lets business customers manage their data and workflows. The solution is a React or Next.js front end backed by a .NET Core API, with single sign-on(SSO) for customer organizations. You'll work alongside the project architect to design and build the platform, set the quality bar for the code the team delivers, and mentor junior and mid-level engineers. You'll also be a key owner of application security and tenant data isolation, so that every customer sees only their own data. What You'll Do: - Partner with the architect to design and build a multi-tenant application, including the API, data model and tenant-aware application logic.
- Design and develop secure, well-documented RESTful APIs in .NET Core that serve the web application and external integrations.
- Implement authentication and authorization using OAuth 2.0 and OpenID Connect, and integrate SSO with customer identity providers.
- Enforce tenant data isolation across the API, data layer and application, and verify it through testing and code review.
- Build and review front-end features in React or Next.js that give customers a clear, efficient experience managing their data.
- Review code and set standards for quality, maintainability, performance and testing, and make sure delivered work meets the project's requirements and acceptance criteria.
- Mentor junior and mid-level engineers through pairing, code review and guidance on design decisions.
- Apply secure development practices (for example OWASP guidance, input validation, least-privilege access and secrets management) and help identify and fix vulnerabilities.
- Contribute to estimation, backlog refinement and sprint planning, and communicate progress, risks and trade-offs to the team and the client.
- Help establish and maintain CI/CD pipelines, logging and monitoring, and technical documentation.
- Document key design decisions and support knowledge transfer to the client's development team as the project progresses.
Required Qualifications: - 6+ years of professional software engineering experience, including significant experience building production APIs in .NET Core (C#).
- Strong understanding of RESTful API design, including versioning, error handling, pagination and API documentation (OpenAPI/Swagger).
- Experience with relational databases (SQL Server preferred), including data modeling, query tuning and Entity Framework Core.
- Working knowledge of OAuth 2.0 and OpenID Connect, including token-based authentication, scopes and claims, and role- and policy-based authorization.
-
Solid understanding of multi-tenancy concepts, such as tenant isolation strategies (shared vs. separate schemas or databases), tenant resolution and per-tenant configuration. -
Demonstrated ability to build secure applications and protect customer data, including protecting against common web vulnerabilities. -
Experience writing automated tests (unit and integration) and working with source control, code review and CI/CD. -
Experience mentoring or technically guiding other engineers. -
Proven ability to get productive quickly in an unfamiliar codebase and work independently in a remote setting. -
Strong written and verbal communication skills, and comfort collaborating with architects, designers, project managers and client stakeholders across distributed teams. Preferred Qualifications: -
Located in or near the Grand Rapids, Michigan area. -
Experience with React or Next.js, including TypeScript, component-based design and state management. -
Experience with SCIM or automated user provisioning, and with role mapping from identity provider groups. -
Prior work on multi-tenant SaaS products, including per-tenant branding or configuration. -
Familiarity with Azure services, Azure DevOps or other CI/CD tooling, and applications hosted on Windows Server/IIS. -
Experience with audit logging, observability (logging, monitoring, correlation IDs) and performance profiling. -
Experience designing and building APIs for partner or third-party integrations. -
Experience replacing or modernizing legacy systems. -
Prior consulting or contract engagements where you joined a team mid-stream and handed work off to a client team. -
Experience working in an Agile/Scrum environment. |