Go development from Switzerland
Go is our first choice for critical backends: at the Federal Office of Information Technology, in Relai's Bitcoin broker, and in onocoy's GNSS network. Here is why – and what you can expect from us.
devs group has been building backends in Go (Golang) for Swiss companies and the federal administration since 2019. Go systems of ours run in production in the form service of the Federal Office of Information Technology, in Relai AG's Bitcoin broker (17 microservices, 11 of them in Go), and in onocoy's decentralised GNSS network (a real-time backend in Go and MQTT).
What we use Go for
API and backend engineering. REST and gRPC APIs, payment and broker systems, integrations with banks, exchanges and government systems. How we handle idempotency along the way is in the article Idempotency: the least conspicuous feature of a payments API.
Microservices and event systems. Dockerised services with RabbitMQ or MQTT, PostgreSQL and observability worth reading, running on Kubernetes or on a single VM, depending on what the system actually needs.
MCP servers and AI infrastructure. The tools through which AI agents reach enterprise systems we build in Go; the details are in Running MCP servers in Go in production.
Team extension. Our Go engineers also work inside existing teams, as they do at the FOITT, in Scrum and SAFe structures on systems for the federal tax administration.
Why Go for critical systems
Go forces a kind of simplicity a team can still read three years later: explicit error handling, a static binary in a FROM scratch container, concurrency you can explain. The full reasoning, including the cases where we do not reach for Go, is in Why we build critical backends in Go.
Frequently asked
Do you take on existing Go codebases?
Yes. We read our way into systems that have grown, document the architecture decisions, and build observability before we change anything. At the federal administration we have been doing exactly that inside existing teams for years.
Do you build the frontend as well?
Yes, usually in Vue.js or Angular. The whole stack is on the backend & frontend page.
Go or something else: how do you decide?
By the system, not by preference. For compute-heavy ML pipelines we use Python, for native apps Flutter. Go wins where a backend has to run for ten years and be understood by teams that change.