Back to All Events

ember - Full-Stack Software Engineer (Mid/Senior)


Full-Stack Software Engineer (Mid/Senior)

Job description

About Ember

We're building the future of public transport — convenient, affordable, connected and zero-emission. Our goal is to make it easier and more enjoyable to get from A to B with Ember than it is with your own car.

We’re a tech company, not a traditional bus operator. We've built a platform that coordinates our entire operation – everything from monitoring vehicles and controlling chargers to selling tickets and calculating ETAs. This allows us to use electric buses more intensively than anyone else in the world, leading to a massive emissions reduction. It also helps us provide a much better passenger experience, with innovative features like demand-responsive stops.

We’re still tiny, with two routes and 24 buses. The challenge is to scale this 100x whilst staying lean, increasing efficiency and delivering an even better product experience. We’ve recently raised equity from some of Europe’s leading climate VCs and are looking for mission-driven individuals who can help take us to the next level.

Our tech stack

Our systems drive everything we do including booking tickets, tracking buses, controlling chargers, calculating ETAs, monitoring traffic and keeping passengers informed. We rely on the following tools and technologies:

  • Python for our application code

  • React for our frontend

  • Postgres for data storage

  • Redis for caching

  • Kafka for stream processing

  • SwiftUI for our Driver iOS App

  • AWS, Terraform, Gitlab CI/CD, Docker and ECS to deploy and run our services

  • Flutter for our on-board server running Android, which handles concession ticket validation with more on-board experience features to come.

What you will do

You might work on the following or similar projects, taking them from conception to completion and contributing across all codebases involved:

  • Refining the experience and features in our driver app such as moving to a navigation-first experience, allowing drivers to change passenger tickets, or adding functionality to make pre-use vehicle inspections seamless.

  • Integrating with third parties, from journey planners like Google Maps to traffic signal control systems that give buses priority at junctions.

  • Improving the experience on our website. That might be adding saved payment cards, refining our operations pages, or keeping passengers informed about temporary stops and roadworks.

  • Enhancing our deployment pipelines, such as adding automated load testing to validate backend changes before they are deployed.

Your work will be making a difference to our planet by helping more people travel on zero-emission public transport.

Diversity and equality

At Ember, we support diversity across our team and customers. We work to ensure every employee feels respected and able to give their best, whether temporary, part-time or full-time. We’re happy to offer flexible working patterns where they make sense, are compassionate when it comes to time off and offer enhanced maternity and paternity leave.

Read more about our approach in our Equal Opportunities Policy.

How do I apply?

Send your CV and a cover letter telling us why you're interested in the role. If you have code from projects which you’ve worked on, please send that too.

Job requirements

Who we're looking for

  • You have at least a few years of professional software engineering experience.

  • You are pragmatic and value simplicity. You want to be constantly shipping quality code which benefits our customers and the business.

  • You don't need to be an expert in all of the languages and frameworks we use, but you can quickly assimilate the knowledge you need to be effective in an unfamiliar area or codebase.

  • You are driven, thoughtful and always hungry to learn more.

  • You are excited by the idea of making an impact in a small growth company. Bus services are a real-world, tangible product where you can see the impact of changes on people’s day-to-day lives. As we scale, that impact will grow.

  • You are happy to work from our Edinburgh office at least a few days a week, because we value in-person communication. But we’re flexible if you want to work from home on some days.

  • Experience working on large scale systems within a small company is a plus.