Senior Backend Engineer
Role details
Job location
Tech stack
Job description
DICE is scaling fast and we've got ambitious goals for our platforms. As a Senior Backend Engineer, you will play a pivotal role in architectural decisions, helping define not just what we build, but how it scales.
Our backend apps are written mostly in Elixir. They feed various information to our award-winning apps with GraphQL and REST API, and handle millions of transactions for our ticket sales. Our code is hosted in GitHub, pipelines are managed by Drone CI, and we deploy to Kubernetes clusters.
We are always open to making changes and improvements to our workflow and codebase, and we will look to you to champion these improvements for the benefit of the team and the product.
You'll be
- Architecting and developing complex, high-load backend systems written in Elixir.
- Leading technical discussions with Product Managers, Engineers, and Designers to turn vague requirements into robust technical specifications.
- Mentoring mid-level and junior engineers, conducting code reviews, and fostering a culture of technical excellence.
- Proactively identifying bottlenecks in our ticketing and event management systems and designing scalable solutions to handle traffic spikes.
- Championing best practices in testing, documentation, and maintainability across the engineering organisation.
Requirements
- A technical leader who enjoys sharing knowledge and uplifting the team.
- Passionate, humble and talented.
- A fan of music and culture.
- Actively responsible and ownership-driven; you don't just write code, you own the outcome in production.
- Pragmatic about technical debt versus feature delivery.
- Eager to build apps that make a positive impact on the world.
- A great communicator.
You'll need
- Extensive production experience with Elixir, OTP, and Phoenix (or deep expertise in another functional language with a willingness to master Elixir quickly).
- A strong track record of designing and developing distributed systems at scale.
- Experience integrating complex third-party services and gracefully handling failure scenarios.
- Deep understanding of database internals (PostgreSQL/Redis) and query performance optimisation.
- Deep understanding of how OSes and Linux work internally.
- Experience mentoring other engineers and influencing technical decisions within a team.