Meet The Engineers: Gary Wu

Today we’re introducing you to Gary Wu, a traveler, family man, who values simplicity above most other things.

How did you get started in Computer Science?

I was a quiet kid, I loved math and electronics. It is not surprising that I fell in love with computers. As a teenager, I picked up Basic. At first, it is just curiosity, but soon I liked the ability to create something fun with little investment. Any new tip learned from a book could be applied immediately to my naive programs. Soon, I was showing off my projects to parents and friends, and they gave me feedback on how to make it better. The process of continuous innovation was exciting. After graduation and working for tech companies, I also found that this repeated cycle of learn => build => feedback is not so much different from my own teenage experience. More importantly, the quicker the cycle runs, the faster the products will innovate and people will grow.

What was your path to Airbnb?

I am very interested in the sharing economy and love travel. The Internet and mobile technology has completely revamped the ways that we communicate, shop, and collaborate. I believe the relationship between people and services will have a revolutionary change as well in the near future, and this may have a profound long term impact to the human society. I followed and heard of many impressive Airbnb stories, but I haven’t considered changing job, as I was pretty happy with the previous company . Some friends approached me and shared a lot of internal stories, especially how Airbnb builds up teams based on its core values. This impressed me that Airbnb has a strong vision to completely change how everyone experiences the world. If Airbnb’s vision comes true, the world will be very different from today. This convinced me to have a try and be a part of the journey. I am glad that I made this career decision.

What’s the most interesting technical challenge you’ve worked on since joining?

After joining Airbnb, I focused on prototyping several early stage product ideas with a potential to significantly expand our market in the future. There are two sets of challenges both from the products and the infrastructure.

On the product side, we want to maximize our learning with minimum efforts, and so we develop MVPs (Minimum Viable Product). Building MVPs is easy to say but hard to execute right, because if the product is not appreciated by the customers, it is difficult to tell whether it is because of no enough engineering efforts or because of the wrong idea. Likely, we may over-emphasize the engineering execution instead of reevaluating the ideas.

On the infrastructure side, there may also have many pitfalls. Building MVP may unfortunately introduce technical debt that could be hard to extend or scale in the long run, especially under a complex business flow. Furthermore, unlike other mature technical companies, which have abundant resources and are easily able to handle 5–10X sudden load increase, Airbnb infrastructure is still at an early stage and doesn’t have enough cushion to deal with unusual resource usage pattern. Therefore, we have to be very thoughtful in developing MVPs, eliminate any possible system threats, and try to minimize any long term debt.

In summary, it is really a enjoyable and fast learning process. Airbnb has a plenty of these opportunities because there are so many areas to explore in the traveling space.

What do you want to work on next?

I would like to enable more micro-entrepreneurs to create services on top of Airbnb. We are grateful that many hosts leverage Airbnb to rent out their extra spaces for the travelers, and it is only a beginning of changing how we experience the world. To provide a magic experience for each traveller, there are a lot of opportunities for the local people to participate in, and Airbnb can be the prefect platform for them to contribute to the traveling industry.

What is your favorite core value, and how do you live it?

Simplify. I like a simplified way of thinking and doing things. First, simplification drives me to provide a simplified “interface” to others. When doing a presentation, no matter it is just 5 mins or 30 mins, I push myself to only make one sentence takeaway for the audiences. When discussing a comprehensive system design topic, I tried to summarize my points in a couple of bullet points. When writing programs, I do my best to make the function names and execution flow are so intuitive that other engineers can pick it up easily. Second, simplification makes me stay focused. It is important to be very productive, but to me, it is more important of avoid doing irrelevant things. Finally, simplification can help achieving a better software quality in the long run. I like to challenge myself to avoid unnecessary complexity for marginal improvements, but seek for architecture simplicity for future extension with a potential 10X improvement.

What’s your favorite Airbnb experience?

I spent a few days with my family living an amazing cabin inside the Sequoia national park early this year. The location of the cabin made me so close to the nature. We were surrounded by the great mountain views, hundred years old giant pine trees, and beautiful stony creeks. In addition, we totally lived in a pre-Interenet world, as there was no cable and the closest village to receive cellular signals was one hour driving distance away. We had a lot of fun with hiking, climbing, and photography. In the last day, an unexpected snow storm turned the entire mountain into white, and our cabin in the snow mountain was exactly my childhood fantasy. It was a magic experience that traditional hotel is probably impossible to offer.


Check out all of our open source projects over at airbnb.io and follow us on Twitter: @AirbnbEng + @AirbnbData


Originally published at nerds.airbnb.com on April 22, 2015.