We’ve been growing at an incredible rate here at Trainline. While it’s been amazing to see the constant stream of fresh, enthusiastic faces, it’s really put our engineering practices – and culture – through its paces.
However, complete autonomy that is easy to manage in small, nimble teams becomes unmanageable across hundreds of hard-working, creative engineers. Continue reading
2016 has been a very busy year at Trainline as we have been growing at a rapid pace. This means our tech team has had to work hard to scale effectively and cope with the sheer demand.
New product teams have been springing up all through the year, while older teams have grown and been split into sub-teams to maintain the essential agility of small teams. With such growth, we have needed to ensure our processes were in good shape to manage the increased complexity that this brings.
Here are a few fascinating stats which tell a short story of the year at Trainline … Continue reading
Hacktrain is a three day hackathon on a train. Around 80 software developers, designers and entrepreneurs from across the world gather together to imagine a better travel experience for the rails. The best ideas win a trip to Hong Kong and an assortment of light sabers, drones and other suitably geeky toys. Continue reading
Testing React components has become trivial as more and more of them are now stateless functions.
The new shallow renderer and tools like Enzyme make it possible to render a component “one level deep” when testing, without even rendering it in some sort of DOM, while still having a great api to traverse the components’ output and assert facts on its behaviour.
Given all these great tools that we have, what happens when we have a container component that renders sub-components (child components) based on some sort of rule/logic?
How do we handle those dependencies to keep our unit tests free from dependencies?
I originally posted this blog on my personal website at dannybrown.net but I thought it might also be relevant here on the Trainline Engineering blog.
I’m now entering the sixth week of my time at Trainline. It’s been quite the experience, due to it being my first full-time job and it being a time of significant changes at Trainline in terms of technology, branding and even an expansion into the European rail market. Continue reading
I like travel and maps. We’ve got lots of information about the train times people want to know, and which journeys they take, I’m sure putting this together onto a map would bring our day to day business alive, and hopefully make some interesting discoveries about our customers. There’s already a team in the company who look at the journeys customers book, but we don’t do much with the journeys people look up times for.
At work we change our product with a new release, there’s a lot of build up to these events and effort put in, but when it’s good the success is hard to measure, other than that there’s no major problems. So the challenge is to bring the system alive, by creating a way to show what our customers are doing in a way that people can understand at a glance so that it grabs their attention. Perhaps as we launch our new ad campaign the patterns will shift, for example as we run an advert during X-Factor the journey search patterns shift. Continue reading
Everyone loves logs right?
Logs are long, complex, full of useless information, and it takes ages for you to find that one error message that you need to fix a problem. So if you’re working with over 100 servers and you’re getting over 200GB of logs a day how can you get through your logs to find the real information inside?
Later this week, we’re excited to be hosting the second New Relic meet-up at our London offices, and we’ve been given the opportunity to talk about our experiences using their products. For those that don’t know, New Relic is a suite of monitoring products that we’ve been using to get near real-time monitoring of end-user, application and server performance, and we’ve been using it across our entire stack of products and services for more than a year.
At thetrainline.com we have been using Opscode Chef since 2012 for automation of parts of our server infrastructure, particularly the build (CI) machines. We recently had several days of intensive Chef training with Chef expert Stephen Nelson-Smith (@LordCope on Twitter) of Atalanta Systems, spread over a few weeks, in preparation for scaling up our use of Chef. Here are some details of how we structured the Chef training, and what we got out of it (and why).
Testing Tools for Chef – following the outside-in GOOS-style/BDD approach
The Trainline Engineering team attended Silicon Milkroundabout 5.0, the tech hiring event held at the Old Truman Brewery on Brick Lane on Sunday, May 12th, 2013. It was a great event, well organised and with excellent turnaround of quality job seekers.
thetrainline at Silicon Milk 2013 – I’m on the left 🙂