“I think we just need to blow it all up and start over.”
Brandon McGlynn was only half-joking when he pitched the idea of completely rebuilding Vistaprint’s platform to CTO Maarten Wensveen. McGlynn, the company’s vice president of technology, explained his logic.
“Yes, we’re a printer company and we’re an e-commerce company, but we’re a tech company first,” McGlynn said. “We were coming up with a lot of good ideas, but we couldn’t actually execute on them because the technology had sort of hamstrung us.”
“Alright. Write a proposal,” McGlynn recalled Wensveen saying.
That proposal was approved, and today the company is now midway through construction on the new platform. The old monolith is on its way to retirement, soon to be fully replaced by new, efficient and lightweight microservices architecture. According to McGlynn, changes like this have allowed the team to outsource certain functions and concentrate on what’s actually important to Vistaprint: design and customer experience.
Built In Boston sat down McGlynn, Director of Merchandising Technology Deepika Singh and Lead Software Engineer Indira Pranabudi to learn more about the decision to “blow up” Vistaprint’s existing platform — and what that means for the engineering organization.
First thing’s first: Why start from scratch instead of updating the existing platform?
Vice President of Technology Brandon McGlynn: We looked at our options: If we built the platform incrementally, it was going to take us five years — and we would end up in 2024 with a tech stack from 2019. Also, in the meantime, we weren’t going to get to build many new features out of the monolith because we couldn’t make a lot of changes to it. If we started over from scratch, it would take us two and a half years and we’d end up with a newer tech stack.
We decided we were going to start laying the foundations for what Vistaprint will be not five years from now, but 10 years from now. We’re really lucky that we’re in a position where the company and its leadership are willing to give us that runway to go and build that amazing technology platform and take us back to the technology company we are at our roots.
What does building this new platform mean for engineers’ experience?
Lead Software Engineer Indira Pranabudi: From a developer’s perspective, being able to rebuild everything from scratch is incredibly exciting because we get to use all these new technologies. Developers always want to work on the latest and greatest technologies — we don’t want to work on something from 10 years ago. First, that’s not fun because you don’t get to build the cool stuff. And second, it makes it hard to hire because no one has those skill sets anymore.
An opportunity like this is something that you’d almost never get to experience unless you’re at a startup or a bigger company.”
I think an opportunity like this is something that you’d almost never get to experience unless you’re at a startup or a bigger company. It’s very rare that you get to be building software from the very beginning and know all its ins and outs. It creates this level of ownership as a developer — my perspective actually matters.
Director of Merchandising Technology Deepika Singh: We’ve traditionally built everything in-house, but over time, e-commerce and technology have shifted a lot and there are now great vendors providing services. I think with all the new technology leadership coming in, we really looked at the balance between buying versus building. So it’s not all buying or all building, it’s doing whatever makes sense. Then, we can double down on internal technologies in areas that are unique to us. That gives us a competitive edge and is what’s so exciting about being a technologist at Vistaprint right now.
Model of Perfection
Tell us a little about the tech you’re using.
Pranabudi: Different tribes use different technologies because we are trying to solve for different parts of the website. For my team, merchandising technology, the technologies and the way that we built the website are fundamentally very different from how we did it before. We broke out from this monolithic application — everything now is in microservices or micro-front end.
Each page is what we call statically generated with Gatsby, a technology that wasn’t even around a few years ago. We also use a lot of Node.JS and .NET to build a lot of services.
Who decides what tech to use?
McGlynn: We’ve really tried to ensure a balancing act where decisions about tech and buy-versus-build are done by the people actually doing the work. I have made no proclamations about what we should be doing beyond things must be microservices, resource-based and they must support JSON. The only other proclamation I’ve made was that you can’t only support rendering pages server-side — I don’t want to hear about IIS or ASP.net.
We are going to have to go and learn some new technologies and it is going to be hard — that’s OK. We are going to do things wrong. That’s also OK.”
That was more to break the 10-year-old mold of doing what we’ve always done and to ensure we’re not rebuilding the same old platform. We are going to have to learn some new technologies and it is going to be hard — that’s OK. We are going to do things wrong. That’s also OK.
Pranabudi: One of the things I really like about working at Vistaprint is that squad leads, or tech leads, are empowered to pick the right technologies that we see fit. We’re prescribed problems, not solutions. We figure out what we’re trying to solve and we can use whatever technologies we want. This level of autonomy can be rare in our industry, and it allows us to be innovative in the way we customize our approach.
Seriously, forget the old tech
How is the team learning new tech?
Pranabudi: One of the things that we’ve done well is finding the balance between reaching our deadlines and taking the time to fix our tech debt. We’ve also tried to spend time holding workshops when it’s necessary. If we’re using new technologies, we don’t want to be building the wrong way and have to redo it in a few years.
Singh: We’re balancing the internal growth of our developers who are learning all the new tech by providing opportunities for training, mentoring and coaching. We are also hiring and looking outside to bring in industry leaders and experts who can mentor and help the team.
That helps the team learn more efficiently because sometimes people really crave talking to someone rather than googling 10 different things. We’re focused on ensuring our internal teams have the time to learn, but we’re also going to also have a lot of openings for new skill sets and areas where we want to build teams.
What does the replatforming mean for professional development at Vistaprint?
McGlynn: I don’t want to be the one solutioning and driving things. I want to help others do that — I’m much more interested in having one-on-ones, coaching and mentoring. That’s because I personally can’t scale. What I can do is grow teams to have those skills and trust them to tackle certain problems.
Oftentimes, developers are trained to take a ticket and execute on the ticket. But that’s not how you get really good as an engineer or grow your career professionally. You have to understand the problem and produce a variety of tools to solve that problem. It’s not just about finding the best software language for something. Sometimes, the problem is the process or the people or a lack of communication. I want to make sure that we’re growing our teams to have conversations about what the problem actually is instead of just focusing on technology.
Singh: This has given us an opportunity to work with uncertainty. Everything is brand new and we’ve got to figure this thing out — no one’s done this! That really stretches your thinking muscles. At every level, we’ve had the opportunity to take a problem that feels like it hasn’t been solved before, dive in, make mistakes and learn along the way. That’s happening at all levels. For folks that get dropped in the deep end, four months later they’re like, “Wow, I can’t believe I did that.”
Everything is brand new and we’ve got to figure this thing out — no one’s done this!”
Pranabudi: From an engineering standpoint, there’s so much work to be done as part of the replatforming, which also means that there’s a lot of opportunities for growth. After all, the best way to learn a new skill is by doing, and there’s definitely been a lot of that recently!