Job Openings
Full Stack Engineer
About the job Full Stack Engineer
Key Responsibilities:
- Maintain and support the portfolio: Keep the flagship platform and the supporting products stable through bug fixes, security patches, infrastructure upkeep, L2 and L3 support, and monitoring.
- Ship full stack changes: Build and update frontend and backend features across multiple codebases and languages.
- Support migrations: Complete the flagship platform v2 migration and retire the legacy codebase, and adapt products for planned work such as planned system migrations to the target platform.
- Keep it maintainable: Keep runbooks, technical notes, and handover material current so the products stay maintainable and transferable.
- Collaborate across teams: Work with client team engineers, product staff, and client stakeholders to align on priorities and delivery.
What we are looking for:
- Experience: Minimum 4–7 years of hands-on full stack software engineering.
- Languages and frameworks: Proficiency with a modern JavaScript or TypeScript framework (React), backend APIs and services, and relational databases (PostgreSQL). Comfort working across more than one language and codebase.
- Cloud and infrastructure: Working knowledge of cloud-hosted applications, containerized deployments (Docker), and CI/CD pipelines.
- Observability and troubleshooting: Analyze logs and metrics using AWS tools such as ECS and CloudWatch, and OpenTelemetry for tracing, metrics, and logs.
- Version control and code review: Proficiency with Git and quality gates.
Nice to have:
Personal attributes
- Software lifecycle: Solid understanding of the software development lifecycle and Agile delivery on product-centric teams.
- Security-aware: Attention to secure coding practices and awareness of government security and compliance requirements.
- Government domain: Familiarity with government or public-sector delivery contexts.
- Self-directed: A driven, resourceful engineer who can pick up unfamiliar codebases quickly.
- Pragmatic: Balances speed and quality, and makes sensible tradeoffs in a maintenance context.
- Comfortable with ambiguity: Navigates shifting priorities as products transition, sunset, or transfer.
- Collaborative: Builds good working relationships with stakeholders, teammates, and vendors.
- Ownership: Takes responsibility for the stability and quality of the products in their care.