On-boarding at Trainline

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.

Trainline Homepage

Trainline Homepage

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

An idea to bring our business alive with maps

trainline mapI 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

Be Afraid

Be afraid.

It’s OK. You are allowed to be afraid. No need to ask permission for it. We’ll worship the gods of Agile, and we won’t even have to work and push and move to do things, we can just point at our collective fear and say “we didn’t have permission”. We won’t feel right about it, but that’s OK. It’s not like we’ll tell anyone. Be so afraid you don’t care, be afraid to move jobs, be a fearful cog in a fearful machine, ground into meek submission. Continue reading

I’m a Database Developer, this is what I think about data

You are sitting at your screen reading a blog about the death of monolithic databases:


Monolithic databases are so 80s, inflexible, they are an obstacle to change. Referential integrity stops us implementing service orientated architecture, and they cannot be harmonised with continuous delivery”.


And you agree.

Well, you may be right, sometimes, but I assume you don’t agree with the following two statements: Continue reading

Foreign keys – don’t go there.

You’re probably a medium-to-large-sized company, you run a medium-to-large application. You apply all the industry best practices, using micro-/plain-old-service architecture, compartmentalise your system into nice tidy chunks. As they usually do, your DB admin doesn’t like to maintain multiple databases and so you’ve been restricted to run everything under one fairly large database.

One fine day, you decided your data is important, it needs integrity. You decided the best thing to do is to introduce foreign keys.


You may have just made a big architectural mistake

Continue reading

Keeping New Relic new

Paul, @pkiddie wrote a great blog about how we’ve made our customers happier – and engineers using New Relic. We were also given the opportunity to present some of these ideas at a recent New Relic User Group meetup in London.

New Relic London Meetup May 2015 trainline slides.

Now with New Relic ticking along nicely, and dashboards all up next to our product teams so they can see the error rate, revenue and response times. We wanted to make sure we kept up to date with the latest features from New Relic. (Those updates have been arriving up to twice a month for the .Net APM agent we’re using.) As a cloud hosted platform, New Relic is continuously updated and improved, and we want to get the most out of our investment in it by keeping up to date with each release. It also makes our product teams happy when they get to play around with the latest new features. Continue reading

I want you to give up programming

We’re programmers, you and I.  We are time-served, battle-hardened veterans.  We have honed our objects, learned our digital ropes, intoned the Laws of Liskov and Uncle Bob, and we’re now pretty good at what we do.

And now I want you to stop what you’re doing.  I want you to give up all that programming that you know and love, and I want you to do something else. Continue reading