2016: A Redfin Engineering Year in Review - Redfin Real Estate News

2016: A Redfin Engineering Year in Review

by
Updated on October 5th, 2020
2016 Year in Review

We deploy daily out of master

At the beginning of 2016, we had to branch each day to ship our code. Now, those days are long gone, and we ship out of master every day. The transition was not without its hiccups, but, through a mix of heroics, brilliance, and good old-fashioned patience, the team came together to make deploys the way we wanted them to be. And we shed a whole lot of process and overhead as well.

Developers own quality

For years, we lamented developers’ over-reliance on manual testing to ensure quality. We’d say, “We ought to have more automation,” but nothing would really change. As the code base grew, our quality assurance engineers ended up on a treadmill of repeated regression. And when the QA team inevitably fell behind, we’d hold up features, causing a log jam in products.

2016 is the year that ended. Developers own quality, and they’re responsible for making sure their features have adequate testing. If a feature hasn’t been released, it’s because the developer isn’t done, not because QA ran out of time.

We built a quality framework

Freed from the burden of repetitive manual testing, our quality team built an impressive framework for ensuring the quality of our code. Tools like Unified Test Reporting and Test Selector have transformed the developer workflow. A developer can deploy her code on an EC2 VM and then run automated tests or try the code by hand, harnessing the power of the cloud with the click of a button.

Kafka is a core architecture

The Notifications Team replaced our listing updates code base with a modern one based on Kafka, Yarn, and Samza. It’s faster and easier to monitor and maintain, and contributing to massive traffic growth in the last few months. And the architecture is now available for other teams who need stream processing.

Redis is a core architecture

Before 2016, Redfin did not have a built-in caching strategy. Now, we have Redis, which is behind some of the huge performance gains we’ve seen on the map and listing details page this year.

We open sourced React Server

We put ourselves on the open source map through our release of React Server. We’re looking for more things to open source going forward, and more ways to evangelize what we’re doing to other engineers.

We built an internal tech lead community

As engineering has grown, we found ourselves with enough tech leads to start building a community among them. We brought them all together for a tech lead summit, where they discussed cross-cutting topics affecting the whole engineering org like security, build and dev environment, scaling in the cloud, and monitoring.

We also sent our tech leads to leadership training, the same training that Redfin managers receive. The training focuses on soft skills like leadership, listening, and saying what you mean respectfully. These skills have become critical for our tech leads as we’ve grown.

We’ve embraced root cause analysis

When things don’t go as planned, it’s become natural for engineering teams to run a root cause analysis to learn how we can improve.

More teams, more focus

As engineering grew, we introduced seven new engineering teams to tackle specific challenges.

Common Components make development faster

One of the biggest wins of our React porting project has been the Common Components library, which now includes form framework components that are powering multiple products. Our new front-end working group will carry this focus into 2017.

So long, Eclipse

Developers who’d used IntelliJ in the past sung its praises, saying they felt much more productive with it than with Eclipse. So, after an evaluation, we moved to IntelliJ, and recently added an optional Ultimate license for developers who need it.

So long, Maven (almost!)

Perhaps the thorniest of all of the engineering projects we tackled this year was moving from Maven to Bazel. Any Day Now, we’ll be deleting Maven from our build process. Maven config files will be there only to tell IntelliJ how projects fit together – and even that, one day, we hope to remove. And once our build, test, and deploy environments are fully powered by Bazel, we’ll be shifting towards improvements to the developer build experience.

Bridget Frey

Bridget Frey

As Redfin’s Chief Technology Officer, Bridget leads the software engineering and analytics teams. Her mission is to build technology that makes the process of buying and selling a home less complicated and less stressful. She is a leader on issues facing traditionally underrepresented people in technology, and 36% of Redfin’s technology team are women while 10% are Black or Latinx. Prior to Redfin, Frey was the director of analytics and business applications at Lithium Technologies. In addition, she has held management positions at IntrinsiQ Research, IMlogic and Plumtree Software. Since 2019, she has served on the board of directors for Premera Blue Cross. Bridget holds a bachelor's degree in computer science from Harvard University, where she graduated magna cum laude. She was recently recognized as a Seattle CIO of The Year award winner. Follow Bridget on Twitter.

Email Bridget

Leave a Comment

Your email address will not be published. Required fields are marked *

Be the first to see the latest real estate news:

  • This field is for validation purposes and should be left unchanged.

By submitting your email you agree to Redfin’s Terms of Use and Privacy Policy

Scroll to Top