Hey You Broke the Website – My Summer of Learning At Redfin
The first thing I did every morning when I got to work at Redfin was to check my Slack messages. Most internal company communications go through Slack, so it was my habit to catch up on the past day while waking up with a cup of tea or coffee. Usually, there’s nothing too exciting – maybe some funny GIFs posted in #seattle-hq-chat or some late night pull requests in my team’s pull request channel.
However, one particular morning, I started my computer and saw a bunch of private message notifications on the Slack desktop icon. Normally, this wouldn’t be too strange – I often ask my teammates a lot of questions that they don’t get to answering until later in the day. But, I didn’t remember asking any last minute questions at the end of the previous day. When I opened up Slack, I saw that the messages came from people who were not on my team, people who I didn’t have any on-going conversations with. It was my worst nightmare – changes I made to the codebase had finally broken the website.
When I started my internship at Redfin, I was informed that everyone merges their code into the same branch, a branch that becomes the live website at the end of the day. While this offers many benefits, such as speeding up the development process, it also opens up frequent opportunities for bad merges to bring down Redfin’s livelihood. This seemed like way too much responsibility to give to an intern, especially someone like me who had very little web development experience. However, my team assured me that my project (which, at the time of this writing is still top secret) would likely not interfere with any of the website’s functionality if I were to make any big mistakes. As the summer progressed though, and my project grew in complexity, I began to muddle in areas outside of my team’s code domain. Which led me to that one faithful morning.
Previously, I had been muddling with a front-end component that was considered a common component to a certain area of the website. The component’s creator had left an ominous “do not use this” comment in the code, but I had sorted it out previously and been given the go ahead to modify the component. I was nervous to edit something that could be used across various teams, but the author assured me that the component wasn’t really in use. I made my changes and merged them after getting the approval of my team. The very next day, I got the scariest message of the whole summer: “Hey, you broke my stuff.” My changes completely messed up two people’s work on different areas of the site. Fortunately, rather than creating a catastrophic, company-destroying disaster like I had feared, my mistakes were fairly simple ones and my coworkers, instead of being angry, were very understanding and helped me quickly write a fix. I had committed what I believed to be the worst sin an intern could commit, and yet the experience was not very stressful at all.
This event really characterized why my internship at Redfin was so different from anything I had done before. I consider myself a veteran intern, having worked at 5 previous internships prior to Redfin. From my experience, I had built a certain understanding of internships –companies will hire students to do inconsequential, fringe projects that have no real impact on the headline work done by the real employees. Redfin totally broke this mold. I was given an important project with so much freedom and responsibility that my mistakes had real bearing on the company. Yet, despite all this creating what should be a high-stakes, stressful situation, the environment at Redfin remained warm, laid-back, and nurturing. It was the perfect place for me to get a hands-on experience and an honest picture of what it’s like to work in the industry. I am incredibly grateful that Redfin gave me the opportunity to make real mistakes, because I learned a lot more from them than I have at any other place.