The position requires a skilled and self-driven Software Engineer with deep technical expertise in Go-based systems and practical experience building modern web and distributed applications. The candidate combines strong engineering capabilities with the ability to navigate the complexities of third-party integrations, consistently applies security best practices as a matter of course, and embraces AI tooling responsibly — maintaining full accountability for every line of code they ship.
Key business processes
Software Design & Development.
AI-Assisted Frontend Development.
Third-Party API Integration.
System Reliability & Operations.
Documentation & Knowledge Sharing.
Job Functions
Software Design & Development
Design, develop, and maintain scalable software solutions, contributing to the architecture and implementation of high-quality systems that meet business and technical requirements.
AI-Assisted Frontend Development
Leverage AI-assisted development tools to enhance productivity in frontend development while ensuring that all generated code is carefully reviewed, secure, maintainable, and aligned with project standards.
Third-Party API Integration
Develop and maintain integrations with external systems and third-party APIs, ensuring reliability, resilience, and proper handling of evolving or incomplete documentation.
System Reliability & Operations
Support system reliability by monitoring performance, troubleshooting issues, and maintaining stable production environments through effective debugging, observability, and operational practices.
Documentation & Knowledge Sharing
Create and maintain clear technical documentation, including architecture decisions, implementation details, and operational runbooks, while actively sharing knowledge within the engineering team.
Technical Skills
Go Language & Ecosystem
The candidate must demonstrate strong, production-level proficiency with Go, including:
Deep understanding of Go language fundamentals: goroutines, channels, interfaces, error handling, and the type system.
Fluency with the standard library and widely used community libraries (e.g. chi, gin, sqlx, pgx).
Experience with Go web frameworks and HTTP middleware patterns.
Familiarity with Go's official toolchain and developer tools, including go build, go test, go vet, go mod, go generate.
Performance and quality tools:
pprof for profiling and performance analysis;
race detector for concurrent code validation;
golangci-lint and staticcheck for code quality.
The candidate should also demonstrate the ability to write idiomatic, maintainable Go code following established community conventions.
Web Applications
Strong understanding of how modern web applications are architected and operate.
Ability to reason about request lifecycles, API design (REST, gRPC), and client–server interactions.
Experience with HTTP semantics, caching, authentication flows (OAuth2, JWT, sessions), and API versioning.
Familiarity with containerisation (Docker) and deployment to cloud environments (Kubernetes or similar).
Distributed Systems
Experience with distributed system patterns, including: message queues; event-driven architectures; eventual consistency.
Working knowledge of databases (relational and/or NoSQL) and their operational characteristics.
Understanding of observability practices, including: structured logging; metrics; distributed tracing.
Third-Party Integration Experience
A significant part of this role involves integrating with external systems and APIs of varying quality and maturity.
The candidate should demonstrate:
Hands-on experience consuming and integrating third-party REST and/or gRPC APIs.
Ability to work effectively with APIs that have incomplete, inaccurate, or evolving documentation.
Skill in diagnosing integration failures by: reading wire traffic; interpreting error responses; isolating root causes.
Clear and professional communication with external counterparties to troubleshoot issues and escalate where necessary.
Experience negotiating API changes, managing versioning constraints, and designing resilient integration layers.
Familiarity with tools for API inspection and debugging, such as Postman; curl; Wireshark or equivalent tooling.
Security Knowledge
The candidate must have a practical, working knowledge of application security, including:
Awareness of the OWASP Top 10 and common web application vulnerabilities: injection attacks; XSS; CSRF; SSRF and related risks.
Understanding of secure coding practices, including: input validation; output encoding; least privilege principles.
Experience implementing authentication and authorisation mechanisms securely.
Knowledge of secrets management and avoiding credential exposure in codebases or logs.
Ability to perform basic threat modelling and reason about attack surfaces in system design.
Familiarity with TLS/HTTPS, certificate management, and secure communication between services.
Analytical & Documentation Skills
Analytical Thinking
Ability to break down complex problems, form hypotheses, and validate conclusions systematically.
Skilled at root cause analysis and post-incident review.
Capacity to reason about trade-offs in system design, performance, and maintainability.
Documentation
Ability to write clear and accurate technical documentation for: code; APIs; architecture decisions; operational runbooks.
Comfortable producing Architecture Decision Records (ADRs) and design proposals.
Maintains documentation as systems evolve, treating it as a first-class engineering artifact.
AI-Assisted Development
We actively encourage the use of AI coding tools to boost productivity while maintaining strict engineering accountability.
The candidate should demonstrate:
Experience integrating AI coding assistants (e.g. GitHub Copilot, Cursor, Claude Code, or similar) into a daily development workflow.
Ability to critically evaluate AI-generated code for correctness, security, and alignment with project standards.
Understanding that AI is an accelerator, not a replacement for engineering judgement — the engineer owns every line pushed to the repository.
Practices ensuring that AI-assisted code is properly reviewed, tested, and fully understood before merging.
Required experience and background
Minimum 4 years of professional software engineering experience in a full-time role.
At least 3 years of professional software development experience building and maintaining production web applications.
Proven track record building and maintaining production web applications.
Proven experience developing distributed systems.
Hands-on experience across the full software development lifecycle including design, implementation, testing, deployment, and maintenance.
Familiarity with the full software development lifecycle, from design and implementation to testing, deployment, and maintenance.
Strong proficiency in Go programming language and ecosystem tools.
Experience integrating third-party APIs and external services.
Practical knowledge of application security best practices.
Required Soft Skills
Strong sense of ownership and responsibility for delivered solutions.
Strong analytical thinking and structured problem-solving ability.
High accountability and ownership of delivered code.
Clear technical communication and collaboration skills.
Ability to work independently and navigate complex technical challenges.
Commitment to high code quality, maintainability, and documentation stand.
Remuneration Package
Competitive base salary aligned with experience and technical expertise.
Flexible working arrangements.
Budget for tools, professional development, and learning.
Opportunity to work on complex engineering challenges in a collaborative, low-bureaucracy environment.