Loco2 is an online booking service for train travel throughout the UK and Europe. Our mission is to make booking trains anywhere in Europe as easy and affordable as possible, from epic international adventures to everyday local commutes. We’ve been selling tickets since 2012 (read our full story here) and having reached market leader status, we recently became part of the Voyages-sncf group. We remain operationally independent but this partnership has given us the resources to get to the next stage of our journey.
We're a close-knit, passionate and cosmopolitan team and care deeply about building an inclusive, open and supportive work environment. We have a flexible location-agnostic approach to hiring, which means we hire the best person for the job, regardless of geography. Our team is spread across eight countries and we’re growing fast!
Our success is built on trust, empathy and shared knowledge, with both customers and colleagues at the centre of what we do. We’re proud to have a 9.3 out of 10 rating on Trustpilot after 30,000 user reviews, and a 4.9 out of 5 star rating on Glassdoor!
- Freedom: base yourself in our bright, modern office in central London or take advantage of our remote-friendly culture by working from home.
- We offer flexible hours: work around your schedule and when you’re most productive.
- Our team enjoys a healthy work-life balance and don’t think caffeine-fuelled all-nighters are a good way to grow a company that’s built to last.
- Team activities: Developer conferences, annual retreats and monthly Lunch & Learns.
- We have high coding standards, and follow best practices such as continuous testing and delivery.
- We strive to learn and improve together in a supportive environment as the wider tech ecosystem evolves.
- Our days are not full of meetings and distractions. Allowing others to achieve flow is a big part of supporting each other.
- Everyone is encouraged to ask questions, think creatively and suggest new working practices. We have a small team so your voice will be heard.
We believe that diversity of background and experience contributes to a broader collective perspective that will consistently lead to a better company and better products. We are working hard to increase the diversity of our team wherever we can and we actively encourage everyone to consider becoming a part of it.
Role description and tech stack
We’re hiring experienced Ruby engineers to join our existing team, where you'll help us maintain and improve our existing infrastructure, integrate new rail operator booking systems and scale effectively for our rapidly expanding user base.
Our software stack consists of a pure-Ruby backend library which we use to communicate with train booking APIs, a modern Rails application, a PostgreSQL database, and two native mobile applications (iOS and Android).
We’re integrated with multiple rail operator booking systems (with our current team we usually complete at least 1-2 major integrations each year), and we’re increasingly consuming other types of data too (e.g. timetable data for routing, real-time arrivals/departures etc).
We need to diligently manage technical complexity, as each external system works in a slightly different way, with its own features and quirks. SOAP is (unfortunately) used by many operator APIs, which is why we released our open source library, LolSoap.
Some of the most difficult challenges we face relate to routing and making sense of lots of data. Which routes are best to get from A to B? Which booking systems should be queried? How might we cache data without affecting accuracy of results?
We’ve recently released mobile applications for iOS and Android. Further developing our mobile strategy is a key goal for the business.
Because Loco2 is the merchant of record for all transactions we are also responsible for fraud prevention, and handling currency and other finance-related issues.
We frequently release new features that drive rapid organic growth, and so it’s vital that we anticipate and address scaling challenges before they occur.
This is what our ideal candidate might look like. You can of course still apply if you don’t meet every single one of the criteria!
- Has 4+ years of professional programming experience
- Has deep knowledge and experience of Ruby
- Is fluent in English and confident communicating and sharing complex information and learnings with both technical and non-technical team members
- Has a good working knowledge of modern devops technologies such as Docker
- Is comfortable designing object oriented software from scratch, not just implementing CRUD Rails apps; a pragmatist who can see the trade-offs involved in the different approaches to solving a problem
- Strives to discover and understand the root cause of problems, suggesting new and improved solutions, rather than treating the symptoms
- Actively considers future maintainability when deciding how to implement something
- Has a keen appetite for self-improvement and growth, but doesn't hesitate to ask for help when needed
- Enjoys getting their teeth stuck into complicated problems, as well as being willing to pitch in on some of the more routine tasks which inevitably arise
- Is willing to participate in an on-call rota to cover technical emergencies out of hours
- Can work hours that have some overlap with London daytime
- Is motivated by Loco2's mission
How to apply
Email firstname.lastname@example.org and tell us about your skills and experience, including links to any relevant public repositories. You can send a CV if you want, but we particularly like reading a well-written email.
Due to American labour laws we unfortunately cannot accept applications from the United States.
There are some specific questions we'd like you to answer:
- What are some of the most challenging/interesting programming tasks you have worked on?
- Why do you want to work for Loco2?
- In what country and timezone do you live?
- What are your approximate salary expectations? (please state currency)
We welcome applications from everybody, regardless of race, gender, or sexual orientation.
Early in the recruiting process we’ll ask you to complete a challenge, which is judged anonymously. We anonymise responses in order to mitigate our own unconscious bias, and to ensure we reward those who demonstrate the development skills we require.
Come join us!