Backend Software Engineer
Working for Open Cosmos
Aim high, go beyond!
At Open Cosmos we are solving the world’s biggest challenges from space, providing businesses, governments and researchers access to more readily available information than ever before - ready for the challenge? Then read on…
Ground Segment Products Team
Join our dynamic Ground Segment Products Team responsible for all of the on-ground software used to operate a fleet of Open Cosmos satellites. As a "new space" company, we embrace flexible agile development methodologies and DevOps practices.
Our cloud-native web application, OpenApp, is built with modern technologies like microservices, Kubernetes, and Go. You'll have the opportunity to make a significant impact on the product, from functionality to quality and maintainability. Join us and develop your skills in a modern cloud-based web application environment.
What will you be doing?
As our software solutions, like our data platform Data Cosmos, rapidly gain commercial traction, you’ll be responsible for delivering new software modules, through design, implementation, testing, deployment and maintenance, in addition to looking after existing services. Throughout this process, you’ll follow best practices for developing clean code and maintainable software and push for all the team to do the same.
You’ll have the opportunity to be involved in all points of the product development process, standing for yourself in the customer’s shoes and using that understanding to contribute to a roadmap & build software that leads to products that our customers love. Since we are always discovering new requirements for this software, you’ll be continually learning in order to deliver on those requirements.
In pursuit of our shared goal to keep improving, you’ll constantly be evaluating how we work & deliver to bring ideas/suggestions to the team - this can include e.g. platform & observability aspects for better reliability, streamlining our development & testing practices, or features/redesigns of the product itself.
You’ll Need To Know How To
- Program in the Go programming language, including using common Go idioms, the standard testing framework, goroutines and debugging race conditions
- Design, implement and maintain microservices using Docker, Kubernetes, PostgreSQL, HTTP REST, gRPC and RabbitMQ
- Build and manage GitLab CI/CD pipelines
- Follow best practices for developing maintainable and easy to understand software as well as in agile software development methodologies
- Communicate clearly and concisely, listening effectively, getting to the core of messages and responding appropriately