Mission-critical software for a good purpuse
Software Engineer (Go)
At Schuberg Philis, 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
- Experience with CI/CD practices and modern deployment pipelines
- Strong testing practices, including automated testing and test-driven development
- Experience writing technical documentation and turning isolated knowledge into shared knowledge
- Experience working with large-scale data processing platforms
- Experience in environments where engineers build, run and continuously improve their own systems
- Experience in domains where reliability, performance and operational excellence are critical, such as games, trading, embedded or telecom
What we look for
Technical excellence is important, but we are equally interested in how you think. We are looking for engineers who:
- Are curious and learn quickly
- Enjoy understanding problems before jumping to solutions
- Seek to understand why existing code is the way it is before proposing to rewrite it
- Can challenge ideas constructively and explain their reasoning
- Communicate directly and kindly, and are comfortable giving and receiving blunt technical feedback
- Balance pragmatism with engineering quality
- Take ownership and responsibility
- Prefer simple, elegant solutions over unnecessary complexity
- Enjoy turning working code into shared code: tests, documentation and knowledge transfer
- Value collaboration, knowledge sharing and continuous improvement
What you'll find at Schuberg Philis
At Schuberg Philis, engineering is at the heart of everything we do. You will work alongside highly skilled colleagues who care deeply about quality, craftsmanship and customer outcomes. We invest heavily in learning, knowledge sharing and personal growth, while providing the freedom and trust needed to do your best work.
Everyone we work with and consider working with has a right to equal treatment. The hiring and appraisal process at Schuberg Philis is designed to be thorough and equitable, implementing fair payment, benefits, and opportunities across all demographics.
It is our desire to be a company that brings together multiple nationalities, cultures, religions, genders, abilities, and talents within and across our teams. We welcome colleagues from diverse backgrounds to join Schuberg Philis and actively support diversity and inclusion in the tech industry.