As a Software Engineer in the Gaming Transactions squad you will be responsible for building and running the transactions engine which underpins our customer facing products. This is a new and rapidly evolving service which is a key enabler for our platform strategy.
You'll be leading the way with the latest technologies including:
Go for our API backends
MySQL and Kafka for data storage and transport
Docker to containerise them
Jenkins to build them
Kubernetes to host them
Grafana and Prometheus to monitor them
It’s quite OK if some of the above is new to you, so long as you have an appetite and energy for imparting what you know, and learning what you don’t.
Engineering means more than authoring quality, tested code. It includes the end-to-end delivery pipeline; code driven deployment infrastructure; automated test safety nets; and effective operational instrumentation and incident response.
You’re a team player, who works collaboratively to achieve the shared squad goals. You are unafraid to challenge aspects outside your direct remit and passionately champion ‘the right thing’.
You’ll enjoy working in an architectural domain and you’re an advocate for sustainable software engineering; you strive for good technical design but don’t gold plate or prematurely abstract for a re-use that never materialises.
How you will do it…
Reporting into the Lead Software Engineer, you will:
Turn concepts and requirements into highly available web applications and systems using industry standard languages and technologies such as Go, Kafka, Docker, Prometheus, AWS, Kubernetes, and Terraform.
Espouse the merits of idiomatic Go with a real passion for the language.
Actively participate in application and database design, data flows and detailed technical design. Ensure that analysis includes the wider view of technical and business impact.
Take ownership for code quality, security and scalability and have an equal grasp of the overall system you are working on and how it meets the needs of the end users, and business objectives.
Balance the commercial needs of the business against the ideal technical design, proposing sound phased or tactical implementations where appropriate.
Understand the importance of non-functionals such as real-time monitoring, good alert design and great logging strategies. Ensuring systems perform well to deliver the best user experience possible is something you consider as part of the normal delivery process.
Collaborate with other team members; learning from them, and in turn working with them to help them improve their own skills too.
Support the implementation of continuous integration to enhance deployment processes.
We are using virtual hiring and remote on-boarding to help our candidates and hiring managers stay safe. Face to face interactions will move over to video for this vacancy.
Does this job really require Go skills? If not, please report it and we will take a look.