How Trulia began paying down its technical debt

As every software company knows, over time as code ages and workarounds build on work-arounds, the code base becomes bloated. It becomes ever more difficult to get around the technical debt that you’ve built up over time. It’s really impossible to avoid this phenomenon, but at some point, companies realize that the debt is so great that it’s limiting their ability to build new functionality. That’s precisely what Trulia faced in 2017 when it began a process of paying down that debt and modernizing its architecture.

Trulia is a real estate site founded way back in 2005, an eternity ago in terms of technology. The company went public in 2012 and was acquired by Zillow in 2014 for $3.5 billion, but has continued to operate as an independent brand under the Zillow umbrella. It understood that a lot had changed technologically in the 12 years since its inception when engineering began thinking about this. The team knew it had a humongous, monolithic code base that was inhibiting the ability to update the site.

While they tried to pull out some of the newer functions as services, it didn’t really make the site any more nimble because these services always had to tie back into that monolithic central code base. The development team knew if it was to escape this coding trap, it would take a complete overhaul.

Brainstorming broad change

As you would expect, a process like this doesn’t happen overnight, taking months to plan and implement. It all started back in 2017 when the company held what they called an “Innovation Week” with the entire engineering team. Groups of engineers came up with ideas about how to solve this problem, but the one that got the most attention was one called Project Islands, which involved breaking out the different pieces of the site as individual coding islands that could operate independently of one another.

It sounds simple, but in practice it involved breaking down the entire code base into services. They would use Next.js and React to rebuild the front end and GraphQL, an open source graph database technology to rebuild the back end.

Deep Varma, Trulia’s VP of engineering, pointed out that as a company founded in 2005, the site was built on PHP and MySQL, two popular development technologies from that time. Varma says that whenever his engineers made a change to any part of the site, they needed to do a complete system release. This caused a major bottleneck.

What they really needed to do was move to a completely modern microservices architecture that allowed engineering teams to work independently in a continuous delivery approach without breaking any other team’s code. That’s where the concept of islands came into play.

Islands in the stream

The islands were actually microservices. Each one could communicate to a set of central common services like authentication, A/B testing, the navigation bar, the footer — all of the pieces that every mini code base would need, while allowing the teams building these islands to work independently and not require a huge rebuild every time they added a new element or changed something.

Cousine island. Seychelles. Photo: Martin Harvey/Getty Images

The harsh reality of this kind of overhaul came into focus as the teams realized they had to be writing the new pieces while the old system was still in place and running. In a video the company made describing the effort, one engineer likened it to changing the engine of a 747 in the middle of a flight.

Varma says he didn’t try to do everything at once, as he needed to see if the islands approach would work in practice first. In November 2017, he pulled the first engineering team together, and by January it had built the app shell (the common services piece) and one microservice island. When the proof of concept succeeded, Varma knew they were in business.

Building out the archipelago

It’s one thing to build a single island, but it’s another matter to build a chain of them and that would be the next step. By last April, engineering had shown enough progress that they were able to present the entire idea to senior management and get the go-ahead to move forward with a more complex project.

Photo of Rock Islands, Palau, Micronesia: J.W.Alker/Getty Images

First, it took some work with the Next.js development team to get the development framework to work the way they wanted. Varma said he brought in the Next.js team to work with his engineers. He said that they needed to figure out how to stitch the various islands together and resolve dependencies among the different services. The Next.js team actually changed its development roadmap for Trulia, speeding up delivery of these requirements, understanding that other companies would have similar issues.

By last July, the company released Neighborhoods, the first fully independent island functionality on the site. Recently, it moved off-market properties to islands. Off-market properties, as the name implies, are pages with information about properties that are no longer on the market. Varma says that these pages actually make up a significant portion of the company’s traffic.

While Varma would not say just how much of the site has been moved to islands at this point, he said the goal is to move the majority to the new platform in 2019. All of this shows that a complete overhaul of a complex site doesn’t happen overnight, but Trulia is taking steps to move off the original system it created in 2005 and move to a more modern and flexible architecture it has created with islands. It may not have paid down its technical debt in full in 2018, but it went a long way on laying the foundation to do so.

Startups Weekly: VCs celebrate the new year the only way they know how

Venture capitalists swore in the new year the only way they know how… by submitting SEC paperwork for new funds! insert party hat/confetti emoji here.

As many of us brainstormed our New Year’s resolutions and let our hangovers wear off, several firms began this week what for some is a long and arduous process of raising a VC fund and for others is as simple as a few phone calls to LPs. What else happened this week? Pokémon GO creator Niantic secured $190 million, Mary Meeker announced the name of her fund and a whole bunch of people played with Popsugar’s somewhat sketchy twinning app.

Fresh funds:

Mary Meeker will raise up to $1.5 billion for Bond, her new VC fund. Union Square Ventures raised $429 million across two new funds. Lightspeed Venture partners announced a $560 million China fund. And biotech firm Atlas Venture brought in $250 million.

AR startups are failing:

TechCrunch’s Lucas Matney takes a look at struggling augmented reality startups and questions some of the larger players, from Magic Leap to Snap and Niantic. And speaking of Niantic, the Pokémon GO developer closed a $190 million funding round this week at a $3.9 billion valuation.

Indian startups start the year off strong:

Startups based in India raised more than $10 billion in 2018, per Venture Beat, a record amount of capital for the country. Already this year one company has closed a round larger than $100 million. CarDekho, an online marketplace for car sales in India, has pulled in a new $110 million Series C funding round this week to push deeper into financial services and insurance.

Future tech:

Boom Supersonic, which is building and designing what it calls the “world’s first economically viable supersonic airliner,” announced a $100 million Series B funding round led by Emerson Capital. Other investors include Y Combinator’s Continuity Fund, Caffeinated Capital, SV Angel, Sam Altman, Paul Graham, Ron Conway, Michael Marks and Greg McAdoo.

A startup disrupting the … bottled water business:

FloWater has raised $15 million for its reusable water bottle refilling stations to produce purified water. Bluewater, a Swedish company that sells water purifiers, among other things, led the round.

VC subsidized vending machines:

Vengo makes wall-mounted mini-vending machines the size of large picture frames that it then sells to vending machine distributors, asking for a small fee per month in exchange for access to its software. Now it has $7 million to build out its business.

A VC gets a second chance:

After SpaceX filed more SEC paperwork as part of its $500 million upcoming fundraise, TechCrunch’s Connie Loizos noticed a familiar name on the document: Steve Jurvetson. Jurvetson is a longtime board member of both Tesla and SpaceX, but after he left DFJ, the venture capital firm he co-founded, in 2017 amid questions about his personal conduct, there was uncertainty around whether he would keep those director positions. Well, it looks like Elon Musk is standing by Jurvetson.

And finally, are you smarter than a TechCrunch reporter?

Let this test decide.

 

Want more TechCrunch newsletters? Sign up here.