Trainline is the leading independent rail and coach travel platform selling rail and coach tickets to millions of travellers worldwide. Via our highly rated website and mobile app, people can seamlessly search, book and manage their journeys all in one place. We bring together millions of routes, fares and journey times from 260 rail and coach carriers across 45 countries. We offer our customers the best price for their journey and smart, real time travel information on the go. Our aim is to make rail and coach travel easier and more accessible, encouraging people to make more environmentally sustainable travel choices.
Technology @ Trainline
Over half of our staff are technologists, we're changing the way that people travel through the use of high quality software and technological innovation.
We know that great software requires great coding practices. Trainline is used by millions of people every day, we process over 200 ticket sales per minute, and 80 million+ transactions per month. It simply would not be possible to move fast enough if we were not able to trust our engineers to produce code of the highest quality. Here are some key practices which we insist upon across our teams that allow us to release over 300 times per week.
We review code via pull requests ✔️
We pair smartly✔️
We advocate Test-Driven Development (TDD)✔️
We treat staging like production✔️
Introducing the Ransom team
Their goal is to make more time available to the engineering teams to develop software.
They develop, maintain and operate tools to facilitate the software development life-cycle within Trainline. This includes self-service deployment and estate management and visibility.
Languages they work with: NodeJS, C# (.Net Core and .Net Framework) Bash, Python, Powershell
Ransom also work with: AWS,Terraform, Packer, Team City, Gitlab, Github
As a Senior Software Engineer, here is some of the stuff you will be working on...
- Delivering projects, developing great code, using the most appropriate tools and techniques.
- Deployment and performance monitoring
- Comfortable with micro-services architecture
- Environment manager
- Hands on testing
- Working with Linux
- Data driven decision making
- Continuously improving code base and removing technical debt
We would love to hear from you if you have experience with...
- Agile development, pair-programming
- Hands on experience and expertise in either .NET or NodeJS, as well as having knowledge of the other. Good knowledge of both is a bonus.
- Working with multiple stakeholder across different business domains
- Being able to design solutions that meet the needs of Developers, Infrastructure, Networks, Operations
- Full software development lifecycle
- TDD ingrained into work practices
Source : Trainline