My first 90 days at Trainline

Abdirahman Jama
Trainline’s Blog
Published in
5 min readAug 11, 2022

Hi, I’m Abdirahman 👋

In this post, I’ll be sharing my experiences as a software engineer at Trainline — I hope this can give you some insight into how things work at Trainline as well as our engineering culture.

About me

I joined Trainline as a Software Engineer within the Web Platform team. Prior to this, I worked at a leading government consultancy in the UK called Gemba Advantage. My area of expertise is within Web — I enjoy architecting and building applications from the ground up with a particular focus on scalability, user experience and security.

Hiring process

The hiring process at Trainline was extremely smooth and efficient. Throughout the process, I was able to learn more about the business and get a better understanding of some of the exciting tech challenges I was signing up for! Trainline is currently working towards a unified interview approach for all engineers regardless of discipline e.g. front-end or backend, however it’s worth noting that the process may vary depending on the team. I went through the following stages:

  • HR Screen — I had a chat with HR about my career aspirations, and I got to find out a bit more about the role. This helped me decide whether or not I wanted to proceed and vice versa 🙂
  • First round interview — I had a chat with an engineering team lead about my experiences where we dove deep into times I delivered results, took ownership and made mistakes.
  • Second round technical interview — I did my technical interview in person, it was roughly 1 hour and 30 minutes. It really challenged my practical skills on a range of web based technologies such as React, Express and Node, as well as my problem solving abilities.
  • Final stage — this stage was probably my favourite as I got to meet one of the coolest managers I have ever come across (shout out to Ambra!). She gave me a deeper insight into organisation as well as what the different teams within Web are currently working on.

The first 90 days

As a consumer of the Trainline product, and someone who’s booked tickets, interacted with customer support — I was quite intrigued in the idea of working for this tech company. Even though my initial impressions of Trainline were very good because of the sleek UI and user experience — it was even stronger due to the fact that my friend Tuffail Rahman had an amazing career trajectory here. Tuffail went from a mid level engineer to an engineering team lead within the space of 3 years. This is something that inspired me to apply as this itself reflects the learning and development opportunities within Trainline for those who seek it!

Things I noticed about Trainline since joining:

  • I haven’t come across any dedicated scrum masters at Trainline. In our engineering teams, projects are generally driven by tech leads and engineers on the team (which seems to be the case at most other tech companies). In my team, we rotate the scrum master role among engineers each sprint. This autonomy and clear ownership allows us to deliver high quality work, it enables us to actually solve problems and gives us exposure to the business side of things.
  • This is truly a tech company — we had our own in-house tech summit earlier this year which featured talks about things like GraphQL, Defining User Stories, Containers (not docker 😂) and much more! The talks were immaculate. We also had external speakers that presented such as Uri Goldshtein (founder of GraphQL Mesh), Luca Mezzalira (Micro-frontends / Principal Architect at AWS), Zack Jackson (creator of Module Federation) and Jon Skeet (Staff Developer at Google).
  • Trainline use RFCs (request for comments) and design docs to build software fast, this also allows us to clarify assumptions and circulate plans earlier. Hence enabling us to ship and deliver well architected/maintainable software.
  • Community driven — there are over 600 production services in Trainline and we have got a community which enables developers to share ideas and enhance their engineering ability and in turn provide a greater experience for our customers. This is mainly powered through GitHub discussions.
  • People. People. People. Everyone in Trainline is super cool, like you can literally have a chat with anyone. There is no bureaucracy here 💪
Trainline Tech Summit 2022

What am I working on this very second? 👀

  • Logging middleware: I’m improving the logging thats done within the BFFs (aka a variant of the API gateway) in our web applications. As per our API Standards, applications are responsible for logging semantically useful messages in the form of log levels + payload. These logs get piped into Kibana (through logstash and elastic of course), and this data helps engineers and the business get a better understanding of what’s happening within our applications e.g. how many times does the BFF talk to a particular upstream service? (P.S prior to this I had no idea about how logging worked — so I reached out to my mentor who is a Senior Principal Engineer in Trainline and he broke it all down for me, thanks Paul!)
  • Fraud detection: exploring how we can integrate modern fraud detection APIs into our web applications so we can get recommendations as to whether or not a user is actually a customer and not a fraudster. This involves speaking to principals in the product teams to try get a better understanding of business requirements and setting up investigations so we can better understand the technical intricacies.
  • Standardising our applications: fleshing out a plan to migrate a few pages from Angular 🤢 to React, removing Flow types and moving to TypeScript in a few applications and much more! This type of work improves the overall developer experience within the organisation. Shout out to my team, we’re doing big things 🤩

As an engineer within Web platform, no two days are the same. I know this may sound cliche but I actually mean it. We own several web applications e.g. trainline.com, digital railcards, email templating services, login service, graphql gateway and much more! This means you can find yourself working on a wide variety of tech and actually make a difference to someone’s journey!

Join Trainline

We are Europe’s leading train and coach app. To put it simply, we are a one-stop-shop for train and coach travel. Every day, we gather routes, prices, and travel times from over 270 rail and coach operators in 45 countries, so that everyone can buy tickets quickly and save time, effort, and money.

Whether you’re an expert engineer, marketing whiz, tech or HR specialist, or just curious about working at Trainline, check out our latest opportunities:

https://www.trainlinegroup.com/careers/en/

--

--