Android Engineer

London
Technology – Development
Full-time
Our Mission 🚀
We’re Trainline, Europe’s leading rail and coach travel app. We know travel’s better when there’s less stress and less time spent planning, therefore our aim is to bring together all rail, coach and other services into one simple experience, so customers get the best prices and smart, real time travel info on the go 🚝🚌🌎

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 Mobile team 👋

Our Mobile team are the people who build the travel companion in your pocket. They own the mobile app that allows you to buy your travel ticket and the buy-flow process that helps you get there. The team is split into both Android and iOS, each with a technical lead, all reporting into the Mobile Development Manager. Key technologies are: Kotlin, rxjava, Dagger, Swift, Objective-c and Cucumber, with a huge focus on a mature approach to TDD. 
 
As an Android Developer at Trainline, here's some things you'll be working on... 
 
- Join a highly skilled development team, building and delivering software. Use agile practices like pair programming, code reviews, IPM’s, continuous integration & delivery, TDD & BDD.
- We focus on continuously improving our capabilities, architecture and process as a team.
- We encourage our technical staff to blog about technical innovation on Trainline’s engineering blog and to contribute code to the open source community.
 
We'd love to hear from you if you.. 🔎
- Strong experience developing consumer facing high-performance Android applications
- Good grasp of design patterns, SOLID & Clean code principles.
- Strong in software engineering, including design, architecture, test automation, deployment automation
- Well versed with Agile development using practices like pairing, continuous integration, test driven development, code reviews, automation testing.
- Experience working with Android Studio and Gradle
 
and you've worked on..
- High traffic eCommerce retail environments
- Experience working with RxJava, Kotlin Dagger and Proguard.
- Mobile application performance analysis and tuning experience. 
Our Culture 🤗
Everything begins with great people, as well as aptitude, we put a heavy emphasis on attitude.
Coaches Over Heroes
- We prioritise the focus on being one team over elevating the heroics of an individual, for us the true heroes are those individuals who are excellent at nurturing, coaching and generous in sharing their knowledge with others.
Well-being
- Everything that we do takes into account the morale of every member of our team, their opportunities for growth and for participation in exciting challenges.
Mentoring and Learning
- We have a mentoring community that is constantly growing, we provide people with mentors or buddies from various teams.
Trust
- We hire awesome people capable of making smart decisions - empowerment is a great enabler of agility.

We value open expression at Trainline, we believe it’s the diversity of experience, backgrounds and perspectives of our employees that makes us who we are. We encourage everybody to play a part in changing the way people travel across the world.