Contribute to architecture: Participate in team-level architectural decisions, evaluating trade-offs and proposing solutions grounded in deep understanding of the system.
Own feature development: Take ownership of features end-to-end — from technical design through delivery — breaking complex projects into well-scoped, deliverable pieces.
Write high-quality code: Produce Go code that is idiomatic, performant, well-tested, and raises the bar for the code-base.
Improve quality proactively: Identify opportunities to improve code quality, performance, reliability, and developer experience — and act on them.
Guide junior engineers: Provide technical guidance to Software Engineers I and II through thorough code reviews, pairing sessions, and design feedback.
Collaborate cross-functionally: Work with Product, Design, and QA to validate technical decisions and ensure alignment between product goals and implementation.
Participate in on-call rotation: Take increasing ownership of incident response, contributing to root cause analysis and systemic improvements.
Build team knowledge: Document technical decisions, system architecture, and patterns to strengthen your team’s shared understanding.
Performance Ownership: Own high throughput endpoints, their database queries and their caching strategies.
Requirements
3–5 years of professional software engineering experience, with meaningful time building Go services
History of delivering complex features within a software team to drive business outcomes
Experience breaking down ambiguous requirements into concrete technical plans
Advanced proficiency in Go — you write clean, idiomatic, production-quality code and understand Go’s concurrency model well
Strong SQL skills — schema design, query optimization, and understanding of performance characteristics at scale
Experience designing and building RESTful and/or gRPC APIs
Solid testing practices — unit, integration, and end-to-end testing strategies
Familiarity with containerization (Docker) and orchestration (Kubernetes)
Understanding of CI/CD pipelines and deployment workflows
Autonomous — you can take an ambiguous problem and drive it to a well-defined solution
Comfortable providing and receiving direct technical feedback
Strong written communicator, especially important in a fully remote environment
Able to balance deep technical work with collaborative design and planning