Lead Go Developer
Location: Remote
Type: Full-time
About the Opportunity
This role sits within a distributed backend engineering team building scalable, cloud-native systems in Go. You will operate as a technical lead, designing complex distributed services while remaining hands-on in production code.
You will own architectural decisions, guide engineering standards, mentor less experienced engineers, and work closely with product stakeholders to deliver reliable, high-performing systems.
This position requires strong system thinking, deep Go expertise, and the ability to lead through technical credibility.
Role Overview
You will lead the design and delivery of backend services operating within distributed cloud environments. The platform relies on well-structured APIs, reliable data persistence layers, efficient background processing, and robust observability.
The role combines hands-on development with technical leadership, architectural oversight, and cross-functional collaboration.
Responsibilities
Design and build scalable backend services using idiomatic Go
Architect distributed systems with performance and reliability in mind
Develop and maintain RESTful APIs and third-party integrations
Apply advanced concurrency patterns using goroutines and channels
Design and optimise data models across SQL and NoSQL systems (PostgreSQL and Redis preferred)
Work with ORM tooling such as SQLC
Implement streaming and messaging systems (Kafka or equivalent)
Design and implement identity management solutions (OAuth, SAML, LDAP)
Lead architectural discussions and technical decision-making
Identify and address technical debt with structured remediation plans
Refactor systems to introduce appropriate architectural patterns
Support and troubleshoot live production systems
Improve monitoring, tracing, and observability practices
Influence automated testing as a first-class engineering concern
Lead estimation, planning, and technical story refinement
Work closely with product stakeholders on requirements and rollout plans
Introduce risk-reduction strategies such as feature flags and gradual rollouts
Mentor and direct less experienced engineers
Facilitate agile delivery practices where required
Technical Requirements
7+ years of software engineering experience
Strong commercial experience with Go, including concurrency and pointer management
Proven experience designing distributed cloud-based systems
Experience building REST or REST-like APIs
Experience with SQL and NoSQL databases (PostgreSQL and Redis preferred)
Experience with ORM tooling such as SQLC
Experience with Kafka or other messaging/streaming systems
Experience implementing identity management (OAuth, SAML, LDAP)
Strong unit testing experience
Experience integrating third-party systems
Experience with monitoring, tracing, and APM tools
Experience supporting and troubleshooting production systems
Experience working remotely with strong written communication
Nice to Have
Experience with Temporal or workflow orchestration tools
Experience with background processing frameworks (e.g. River, Goworker)
Experience with Ruby/Rails or Python as a secondary language
Experience leading agile ceremonies without a dedicated Scrum Master
Leadership & Behavioural Expectations
Leads by example through hands-on technical contribution
Drives accountability in distributed teams
Communicates clearly with engineers, stakeholders, and clients
Encourages participation and healthy technical debate
Comfortable delivering difficult technical feedback when required
Continuously invests in personal and technical growth
Prioritises delivery of value while managing risk
Maintains strong customer awareness without over-engineering