What if Sebi was on vacation?
Sebi wears black. Every day, all day long. He's the quiet, low profile kind of guy that gives 100% of himself on everything you ask him to do. Sebi is also the single person who knows what to do when our CMS platform malfunctions, taking our home page with it.
"What if Sebi goes out on vacation and this damn CMS crashes again?". That was the first question I asked myself on that bright, beautiful Saturday morning in April, as the ice cream on my left hand became tasteless while I realised the cell phone on my right hand had been buzzing like crazy for the last few minutes due to another home page problem on the first day of our spring campaign.
Sebi shouldn't be at the office on Saturday
That's pretty obvious, right? Working hours in our team are Monday to Friday, 9-ish to 18-ish, unless you're on call. Sebi wasn't on call and he still had to come to the office in the middle of the day. For something that wasn't his fault — we had known forever that our CMS platform wasn't the best around. But that's not the biggest deal here, that was just a symptom of a much bigger disease.
What if he was away on vacation in a white sandy beach in the middle of the Caribbean, as he usually does? Without him around, we'd take much longer to fix our home page and the impact on the business would be huge, our image could be seriously hurt on that occasion.
That's when we realised how big a risk we were taking by continuing to use a suboptimal tool to host the most important HTML page we had online. That's when we decided to migrate our home page to React.
Good old HTML still does the job, doesn't it?
Is React cool? Oh, yeah. I love programming with it. It's easy to find developers willing to work with it. It's backed by Facebook. Documentation is abundant. It's got reducers, events, there are entire conferences about it.
Do we need all of that shabang for our home page? Definitely not. We just have a few sections there, mostly static content. A simple HTML page would have done the job just as easy.
What are the top 3 reasons for migrating to React, instead of good old HTML?
First of all, we want people to move as easily as possible from one app to the next one. The more similar our SPA's look among themselves, the less time we spend getting used to the next one, especially when we need to troubleshoot something critical. Having something simpler but completely different from everything else there wouldn't necessarily make things easier to deploy and debug.
Second, we can't just think about how to solve the issue at hand. We need to have at least a shed of a glance on the long run. And we used this transition moment to deliver a solution that would tackle long standing issues, such as having the ability to do better A/B tests with our homepage. We did it in an incremental manner (first make it work, then make it A/B testable), but we still seized the opportunity to deliver something better.
Third, we want the people in our team to have fun. We want them to be willing to come to the office. In times of CDN's, server-side rendering, A/B testing, response times, who in the world would like to come to the office to deal with good old HTML? We can't have a reliable website without the people that actually put it live and make it work.
It’s not about looking cool
Yes, we want to look cool; after all, we're in fashion business. As a company, we want to attract the best developers around. We want to show off how great a product we have. But this is besides the point here.
Migrating our home page to React was about the possibly most boring reason, from a techie perspective: business continuity.
We couldn't afford having our home page looking bad because someone was out on vacation. We can't afford having a single person holding all the knowledge about something that crucial. We needed to have a codebase that anyone in the team could jump into and easily find documentation available and bring our home page back in a good shape in a matter of minutes, not hours.
If you're on an Internet business and you think tech doesn't matter that much, I hope I have at least made you scratch your neck and think about it from a different perspective. Tech is everywhere. It's what enables your business.
If you're looking for ways to convince your boss to do something similar to what we did, I suggest you forget about the things that matter to you and phrase your ideas in terms of what matters to them: business continuity, revenue loss, downtime, long term evolution.
And always ask yourself: "What if Sebi was on vacation?"