One of the many initiatives currently underway on at Rome2rio is the mysterious-sounding Engineering X. This cross-team project, which aims to standardise engineering processes and procedures, improve the engineering culture and unite engineering across disciplines, kicked off in February 2019.
Five months on, we catch up with Head of Platform, Miles Izzo, who is spearheading this project, to find out exactly what is going on– and how it’s going to make Rome2rio even better.
Q: What is Engineering X?
Engineering X is an initiative to standardize engineering culture at Rome2rio and allow engineers to have input into process and coding practices. Basically, whatever people need, we want to make that happen.
Q: How did you come up with the idea?
After our last org restructure, a lot of engineers got spread out between different teams, and I wanted to ensure we had unity between the engineering processes. The engineering team is also getting bigger so it’s good to have that soft contact between the project teams.
It was actually [CEO] Michael Cameron’s idea originally. He started off calling it Engineering Guild from something he’d seen at Spotify. But I didn’t love the idea of guilds, so renamed it Engineering X… X was just a placeholder but it ended up sticking. And as [COO] KP pointed out, it perfectly represents this idea of cross teams.
Q: What is the goal of Engineering X?
Our goal is to standardize engineering processes and practices across the organisation; things like coding standards, release process, code reviews, Git management and so on.
We’re also committed to spreading information and making sure all engineers are on the same page. That includes better communication around what projects are being worked on, better defined tasks and more regular progress reports.
To be honest, it’s a slow burner project: it’s about finding commonalities between teams and identifying common themes we need to address. It also allows my team [the Platform team] to better prioritize work as we’re responsible for many of the systems relied on internally by our engineers, such as build systems, releases and other automation systems.
Q: How will Engineering X work and when did it start?
We kicked off in February 2019 and we’ve had five meetings so far. We meet monthly, with at least one engineering representative from each team – whether that’s data science, platform or product – and attendees rotate each meeting so different groups of people come together.
Each representative is responsible for canvassing their team/discipline for suggestions and ideas, and decisions for all engineers are made in this meeting.
We also run regular training workshops on top of the meetings: recently we’ve had presentations on Agile software practices, new features on C# and the internals of how Git works.
Q: What are you currently working on?
We’re looking at standardising how we do code reviews and coming up with better ways to ensure code quality. We’re also figuring out pain points in our tool chain, such as front-end devs being blocked from doing end-to-end testing.
In fact, testing is something that keeps coming up – making sure it’s fast and doesn’t block people from working. We’ve also been looking at automated processes around things like reviewing bugs. These are the things we’ve been working on recently.
Q: What problems does Engineering X solve for Rome2rio?
It’s the hidden stuff – but stuff that’s really important. The big themes are quality and communication. We want to ensure the best-quality product with the best-quality engineering behind the scenes, and we want all our engineers to be supportive and to be supported.
For example, onboarding and mentoring of new engineers should become easier as we’re updating and documenting processes and also standardizing documentation.
What we’re striving for is to constantly improve our engineers and engineering culture at Rome2rio. This results in better-quality code, better-tested products, and engineers with a greater and deeper skillset.