Smarkets
Senior Software Engineer, Backend Lead
Smarkets is a betting exchange for sports and political events that has handled £29 billion in traded volume since 2010. Our goal is to fix the sports betting industry by creating a transparent platform that offers the best value for users, with not only the best odds but also the latest technology, alongside an amazing customer experience.
The Role
As a Tech Lead in our Engineering organization, you are leading a team of software engineers who build, manage, and maintain the services that power Smarkets' core product - Exchange.
You are here to help organize the direction of your team, guide their career growth, and ensure that we’re building the right stack to power the future of our products. You will be responsible for leveraging your team to ensure that our services are responsive, scalable, and performant.
Ultimately, you will be working alongside your team of engineers, engineering managers, and product managers, to drive the complex technical projects that help deliver the Smarkets product roadmap.
The Team
We design, develop, deploy and operate the real-time distributed exchange systems that run 24/7 all year long. Our responsibilities include order matching, pricing feed, activity journaling, settlements, risk management and dissemination of market data. We care a lot about reliability, fault tolerance, throughput, and latency. Our high availability requirements dictate emphasis on testability and reproducibility alongside monitoring and alerting.
Our tech stack includes C++ 20, Erlang and bits of Python but we are in the process of transitioning those to Rust. We use Postgres as our main DBMS technology and Apache Kafka for queuing. Our CI is based on Nix and we ship daily to production. We use property-based testing and https://github.com/smarkets/marge-bot.
In details, you will:
- Engineer and optimize exchange solutions, focusing on but not limited to scalability, low latency, reliability, monitoring, security and automation
- Drive sprint planning, including proper scoping of tasks, and execution of the roadmap delivery goals, working alongside our Product Management function
- Directly manage a team of engineers, from junior to seniors as well as hire great people and keep them happy, motivated, and challenged
- Ensure the career growth of the engineers in your team as they advance in seniority
- Set the standard for quality engineering, including improving our engineering processes, to keep our level of excellence high
- Collaborate with other leads and engineering managers, and other stakeholders in the implementation and future development of product roadmap
- Represent the team in cross-functional meetings and internal events
- Be proactive during incident management with hands-on troubleshooting
- Be the champion of the stack by demonstrating first hand how to implement functionalities in the right way, with an eye to the horizon and your mind on the present
- Articulate the company vision and strategy to the team; the “why”, the business case, context, benefits any constraints etc
We’d love to talk if you have:
- Previous experience leading and mentoring exchange-focused engineering teams
- Proven leadership skills, and capable of building and managing technical teams
- 6-8 plus years’ experience in designing, developing, and implementing cloud-distributed systems
- Can demonstrate deep knowledge in running services in cloud microservice environments and hands-on experience with Kubernetes
- Familiarity with AWS cloud
- Familiarity with observability principles and tools (Grafana, Prometheus, Sentry Elasticsearch, Jaeger)
- Excellent planning and communications skills and able to lead conversations with development and product teams
Preferred Skills and Experience
- Proven track record working in agile environments
- 5 years’ demonstrable experience with CI/CD pipelines and infrastructure as code (IaC) using tools like Terraform and Gitlab CI
- 8+ years of experience building services for low-latency and high-scale products
- 8+ years of experience working with a compiled language (Rust, C++, Go, Java, etc)
- Previous experience leading a team technically or directly
Our Values
- Push to win
- Make others better
- Give a shit
- Be a pro
- Bring the energy
Our values are at the heart of everything that we do. We believe these are the fundamentals to ensure we are delivering what’s expected of us in the best way possible for ourselves and for those around us
Benefits
We offer a competitive salary package and benefits, along with a dynamic and collaborative work environment. Your work with us will make an impact and your voice will be heard
We are a diverse team with a strong work ethic and plenty of hunger to win. We have designed our benefits offering around Health, Wealth, Lifestyle and Development.
These include:
- Stock options which vests over 4 years
- Pension scheme - An impressive pension scheme via Aviva. We will match 6% if you choose the same
- Health insurance
- Fresh fruit and snacks provided in the office everyday! (tea, coffee, soft drinks also included)
- We’re a member of a cycle-to-work scheme
- We want to continue to invest in all our employees and do so by providing a £1000 yearly education budget that can be used on courses, conferences, books or training
- 25 days paid holiday + bank holidays to enjoy - you have the choice to carry over 5 days to the next year!
- Flexible working - we want to provide a hybrid model approach to working and provide you with 2 days a week working from home
- 20 days a year of global working - we provide the ability to work from anywhere in the world for up to 20 days a year
- We will provide you lunch everyday in the office - you don’t need to worry about feeding your belly as we have it sorted with top quality food served by our in-house Chef Alex!
What happens next
We aim to have a simple and speedy hiring process and we want to make sure that we are right for you as much as the other way around.
- CV application review - We will review it as quickly as possible
- Let’s chat - Quick chat with our team about your experience and the role
- Technical Interview - Algorithm Screening + Live Coding Pair Programming + System Design Interview
- In Office Interview - Experience and Mindset Chat + Lunch with other colleagues in the team