Full-time Schiphol-Rijk 32-40 hours
Mission-critical software for a good purpuse
Software Engineer (Go)
At the company, we build and run mission-critical technology. Systems that need to work. Always.
For one of our engineering teams, we are looking for a Software Engineer who enjoys solving complex technical challenges and building reliable backend platforms. This is not a role where you will spend your days implementing tickets or integrating the latest framework. We are looking for an engineer who wants to understand problems at their core, design elegant solutions, and take responsibility for the entire lifecycle of the software they create.
You will work in a small team of experienced engineers, developing data-intensive backend systems that process large volumes of information, ensure data integrity, and support critical decision-making processes. The software you build needs to be fast, reliable, observable and maintainable.
We believe in engineers who own outcomes, challenge assumptions, and collaborate closely with their teammates to continuously improve both systems and ways of working.
About the codebase
You will work on a hand-built Go platform: framework-light services built on our own application and dashboard libraries, hand-rolled concurrent worker pools, Redis-based job queues, byte-exact data integrity verification, encryption at rest, and real-time operator dashboards running on cost-engineered AWS infrastructure and processing data at scale. Design rationale lives in extensive code comments rather than external documents. If you would rather understand how a system works down to the last byte than wire frameworks together, you will feel at home here.
What you'll do
- Design and build backend software in Go
- Develop systems that process and move large-scale datasets efficiently and reliably
- Design solutions with performance, security and operational excellence in mind
- Analyse complex technical problems and turn them into pragmatic engineering solutions
- Debug, profile and optimise software running in production environments
- Work with concurrency-heavy code: worker pools, backpressure, atomics and graceful shutdown
- Introduce and grow automated testing for systems that are verified operationally today
- Help evolve long-lived systems incrementally while they keep running in production
- Contribute to software architecture, design discussions and technical decision making
- Collaborate closely with other engineers through knowledge sharing, peer reviews and technical discussions
- Take ownership of software from design through deployment and operation
Mandatory skills and experience
- Strong software engineering background with experience building production-grade systems
- Solid experience with Go, including a deep understanding of its concurrency model: goroutines, channels, atomics, the memory model and race detection
- Experience with low-level programming concepts and languages such as C or C++
- Strong testing instincts, including experience introducing automated tests into existing production codebases
- Comfort working in codebases built on in-house libraries and the standard library rather than popular frameworks
- Ability to read and reason about dense, unfamiliar code and communicate findings constructively
- Strong understanding of software design and architecture principles
- Experience debugging complex applications and diagnosing performance issues
- Experience profiling applications for CPU, memory and efficiency improvements
- Understanding of observability, monitoring and operational excellence
- Experience designing, implementing and maintaining backend services in production environments
- Understanding of networking fundamentals and application security concepts
- Strong analytical and problem-solving capabilities
- Ability to independently design technical solutions and reason about trade-offs
Desirable skills
- Experience with AWS
- Experience building and operating cloud-native systems
- Experience designing highly scalable distributed systems
- Experience building data pipelines with object storage (S3), Redis (streams, queues, caching), compression formats and streaming I/O
- Applied cryptography literacy: encryption at rest, key management and secrets handling
- Experience introducing standard observability tooling (Prometheus, OpenTelemetry) into systems with custom instrumentation
- Experience refactoring large, long-lived codebases incrementally and consolidating duplicated code without breaking production