Senior/Staff Software Engineer- Application Platform at Flow – San Francisco, California
Explore Related Opportunities
About This Position
We are hiring engineers to build and own Flow’s Application Platform—the layer that sits between product engineering and infrastructure. The team is focused on staying AI first, this role will expect you to be at the forefront of utilizing AI agents and tools to accomplish tasks.
This team is responsible for the core application platform foundations at Flow, including our AI, Kotlin, and TypeScript service frameworks, shared libraries, and developer tooling. You will work across the boundary between Product Engineering and Infrastructure Engineering to ensure services are standardized, easy to build, secure, operate, and scale.
We believe employees are better together. Every position at Flow has an onsite or in-office requirement.
Build and maintain service frameworks and shared libraries
Drive AI adoption, championing AI tools, harnesses, and agentic software development, and establishing standards for APIs, background jobs, and event-driven systems.
Improve developer workflows (local development, testing, CI/CD, service scaffolding)
Partner with infrastructure teams to help define how services run in production
Ensure services are observable, reliable, and production-ready by default
Drive adoption of platform standards across the organization
Contribute to system design and architecture across multiple domains
A minimum 10 years in software engineering, site reliability engineering, or platform engineering
Advocate for the integration of AI throughout the SDLC to accelerate and improve delivery velocity.
Strong experience building platforms and paved paths for systems in production environments
Experience with distributed systems and service-oriented architectures
Proficiency in modern programming languages such as, Kotlin, Typescript, Go, Python
Familiarity with cloud infrastructure and containerized environments (e.g., GCP, Kubernetes, Docker)
Experience building shared libraries, frameworks, or internal tooling
Ability to work across teams and influence technical direction
Familiarity with observability tooling (metrics, logging, tracing)
Experience with CI/CD systems and developer tooling
Exposure to high-scale or multi-service environments