Lead Full-Stack Engineer
Anza Mortgage Insurance Corporation · Wilmington, NC · Yesterday
EngineeringFull-time
About the role
This is a hands-on lead role: roughly 60% of your time is writing and reviewing code (mostly Java/Spring and data, with real work in the React portals), and the remaining 40% is technical leadership.
Responsibilities
- Own the technical direction of one or more domains across the backend and the portal tier: the data model, the service boundaries, the API contracts, and the non-functional characteristics (latency, idempotency, auditability) that go with them.
- Turn product intent into a design and a plan: break epics into implementable slices, sequence them, identify risks and dependencies early, and write the design docs and ADRs that let others build against your decisions.
- Set and uphold the quality bar in your area through code review, pairing, and clear standards — you review more code than you write, and your review comments teach.
- Mentor mid- and senior-level engineers: grow their design skills and domain knowledge, delegate meaningful ownership, and give direct, useful feedback.
- Coordinate across teams and repos when a feature spans the backend, the BFF tier, the portals, and infrastructure; drive the conversation rather than waiting to be integrated.
- Be accountable for delivery in your area — surface slippage and scope problems early with a recommendation, not just a status.
- Design and build Spring Boot services following the established patterns, and expose them through the BFF tier for the portals.
- Model domain data in PostgreSQL and evolve it safely with Liquibase — indexes, constraints, and zero-downtime schema changes included.
- Implement asynchronous flows on the platform's messaging infrastructure (transactional outbox, SQS consumers) with idempotency, retries, and failure handling designed in from the start.
- Implement business process steps in the workflow engine — service tasks, decision logic, and the domain operations behind them.
- Build the frontend half of your features in React + TypeScript: typed clients generated from OpenAPI specs, forms and tables on the shared component library, server state via TanStack Query.
- Own the test strategy for your domain: unit tests, Testcontainers-backed integration tests, and end-to-end coverage of the flows that matter.
- Lead production debugging and incident response for your services using logs, traces, and metrics; drive fixes to root cause and turn recurring failures into platform improvements.
- Improve the shared libraries, tooling, and design system when feature work exposes a gap.
Qualifications
- Minimum Education: BS/BA in Computer Science or equivalent experience
- Preferred Education: MA in Computer Science
- Minimum Skills:
- 2+ years as a tech lead, team lead, or senior engineer with de facto ownership of a domain and its delivery.
- Deep hands-on Java (17/21) and Spring Boot: Spring Data JPA and/or JDBC, transaction management, Spring MVC REST APIs, dependency injection, and testing at every layer.
- Strong PostgreSQL skills: schema and index design, non-trivial SQL, transaction and locking behavior, and safe migrations with Liquibase or Flyway.
- Proven experience designing REST APIs for consumers you can't redeploy in lockstep — resource modeling, validation, error semantics, versioning, and deprecation.
- Solid distributed systems practice: asynchronous message-driven processing (SQS/SNS, Kafka, or equivalent), idempotency, retries, eventual consistency, and compensating actions.
- Working proficiency in TypeScript and React — hooks, component composition, forms, async data fetching — sufficient to build and review real product screens.
- Demonstrated ownership of testing and CI quality: you write integration tests against real dependencies and treat a red pipeline as your problem.
- Experience mentoring engineers and running effective code and design reviews; you can disagree well and decide when consensus isn't available.
- Cloud and container fluency (AWS or equivalent, Docker, Kubernetes basics) — you can reason about how your service runs, is configured, and is deployed.
- Strong written communication: design docs, ADRs, and PR descriptions that other people can act on without a meeting.
- Preferred Skills:
- Experience in mortgage, insurance, lending, or another regulated financial domain, including industry data standards such as MISMO.
- BPM/workflow engine experience (Camunda or similar): BPMN modeling, DMN decision tables, and process versioning.
- Domain-driven design and event-driven architecture in practice — aggregates, domain events, outbox, CQRS/projections, event sourcing.
- Java ecosystem depth: MapStruct, Lombok, Maven multi-module builds, Bean Validation, OpenAPI code generation.
- Caching with Redis and/or Caffeine, including invalidation across multiple service instances.
- Frontend ecosystem depth: Vite, pnpm workspaces, TanStack Query/Form, Tailwind, Storybook, Playwright, Vitest, MSW.
- Spring Batch or other bulk/large-file processing experience.
- OAuth2/OIDC and JWT implementation experience (Okta, Cognito, or similar), including machine-to-machine credentials and tenant-scoped authorization.
- Deep expertise in XML, XML Schema Definition (XSD), JSON, and managing complex nested structures.
- AWS SDK v2 from application code (S3, SQS/SNS, DynamoDB, KMS, Secrets Manager).
- Observability ownership: structured logging, distributed tracing, SLOs, and alerting in Datadog or equivalent.
- Experience building software under audit or compliance constraints, with traceability and auditability designed in.
- Comfort making changes to Terraform / Kubernetes manifests for your own services.
- Document/PDF generation, templating, or transactional email delivery experience.
- Preferred Certification(s): AWS Cloud Practitioner, AWS Associate