- Code more and build things
- Learn to query and analyze data
- Understand your business and industry
- Provide value in unexpected areas
- Help and teach others
- Scale yourself by writing
The best way to learn is by doing things, making mistakes, learning from others, and sharing your work with people. Code as much as you can by working on personal side projects or find ways to make small improvements to your company’s product.
You can naturally gain experience through your day to day work. However, if you want to excel in your profession, you need to constantly train and create artificial experiences that don’t naturally occur. The best way to do that is by building new things in your extra time; typically on personal time.
I joined Airbnb in 2015 as a full stack developer to initially work on a new product called Business Travel. In my extra time, I helped improve our internal API library called Graphist. This eventually allowed me to work fast at building new features and it enabled me to help other developers be more productive. I wouldn’t have been able to do this if I didn’t dedicate my own personal time working on improving a library that I wasn’t responsible for.
Learn the basics of SQL. Learn how to select data from a database table, how to filter the data using “where”, how to group the data using “group by”, and how to join at least 2 datasets together using “left join”.
Knowing where to fetch data is the first step to analyzing it. Once you are comfortable getting data from a source, you can begin to manipulate it in a way that will yield insights or answer questions such as “how many users landed on the check out page on Christmas Eve”? Equipped with data, you can prove the need for a particular product feature or help drive business decisions.
Shortly after joining Airbnb, I was recruited to join a small team led by Brian Chesky called Magical Trips. Our team built the new Airbnb Experiences from the ground up and launched it to hundreds of millions of people around the world. My sub-team was responsible for growing our users and increasing bookings. We had no data scientists, so I taught myself how to query the data. Then I learned how to build data pipelines. Then I learned how to build data powered products. Then I learned how to build dashboards. Then I learned how to analyze and report insights. This helped us rapidly grow our new business and “deliver magical experiences” to guests and hosts.
Learn how your company makes money. Learn about your company’s competitors. Have a deep understanding of how your company’s product or offerings work; then, compare them to your competitors. Learn about the industry you are in and the status quo. Keep an eye on startups in your space that are disrupting your industry. Talk to your company’s users. Study your users’ behaviors. Use your company’s own product and offerings. Walt Disney walked the Disneyland park regularly before it opened up to the public. He did this so that he could experience what his guests would experience; truly empathizing with his audience. You must “walk the park” at your company.
By understanding how your company makes money, you will naturally start analyzing data that informs you on what levers increase revenue or problems decreasing revenue. By researching your competitors, you can identify opportunities to expand your company’s business and product lines. By studying your users’ behaviors, you can find ways to improve their experience, discover flaws in the product, or invent new features that will increase your customer’s satisfaction.
Before we launched Airbnb Experiences publicly, I went on over 40 experiences. After launching, I went on even more experiences. I learned a ton from other guests on the experience. I traveled to other countries and booked tourist activities through competitors’ websites to see what the booking flow was like and how authentic and high quality the activities were. After we launched Airbnb Experiences globally, I increased my understanding of our accommodations business (e.g. booking other people’s homes and staying the night). In order to further accelerate the growth of our 2nd business (Airbnb Experiences), I had to understand the behavior of travelers on and off Airbnb. The result of all this effort contributed to fundamental changes in the Airbnb Experiences product in terms of the supply we added to the marketplace and how we delivered the product offering to travelers. This ultimately increased bookings and growth of the business.
We all join companies to fulfill a specific role. But that’s only the start. Don’t let your initial role define what you’re ultimately responsible for. We’re all part owners of the companies we work at. After you master your initial role’s responsibilities (e.g. ship a feature with high code quality and ahead of schedule), look for more ways you can grow the business or find different ways to help others make decisions that will impact the growth of the business.
If you want to meet expectations at the level you were hired for and stay in the role you initially had, then continue to do the bare minimum your role requires of you. However, if you want to experience step function changes in your career trajectory, you need to scale with the company and contribute more to its growth in ways that no one asked you for. When you begin to add value to your company in new ways and on repeat occasions, your responsibilities increase and your scope at the company widens.
I was responsible for growing the Airbnb Experiences business for 2 years. During that time, my team and I built tools that helped us scale our efforts (e.g. scripts to auto generate email templates, scripts for sending mass emails, etc). However, by studying how Airbnb operated internally and working closely with teams globally, I realized that a majority of Airbnb’s employees were non-technical and they all relied on developers to help build landing pages, send emails, and create promotions.
In my spare time, I worked on creating an internal no-code tool that enabled non-technical people to build emails through a UI, target users, schedule the emails, and send them to hundreds of millions of users. We eventually evolved this tool into a developer platform that enabled other teams to extend the tool and create new functionality. Over the next 2 and a half years, this tool’s capabilities expanded to support over 13 different content channels (e.g. landing pages, promotions, push notifications, SMS, etc). This tool is named Omni and is currently used throughout the entire company.
Help as many people as you can and without expecting any favors in return. Sacrifice your time to help others succeed. Seek out new ways to serve others. Be patient and teach as many people as you can.
You can only accomplish a lot by yourself. However, in order to create an outsized impact, you need to multiply your efforts and the efforts of others. If you can help 10 people increase their impact by 10% while only using 10% of your time, you have created an outsized impact relative to your investment. Helping others at your company is a scalable way to continuously add value to the company. If you take time to mentor and teach someone to be proficient at a task, then that person will be self-sufficient, not require other people’s help, and they will go on to help others the same way you helped them. Once you help a critical mass of people over an extended period of time, new doors of opportunity will begin opening up unexpectedly. There will be partnerships and collaborations that would have never presented itself if you hadn’t worked with a person or helped a particular team in the distant past.
Since the early days of Airbnb, I made an effort to let people know that I am never too busy to help them. I looked through over 900 Slack channels in the early days of Airbnb and joined hundreds of them. That way, I can monitor who is asking for help and be the first to offer my assistance. I would change locations of where I worked (e.g. main cafeteria, coffee kitchen, open meeting rooms, etc) so that I can be exposed to more teams and be available to help them if that opportunity presented itself.
In late 2018 after starting Omni (the internal no-code tool mentioned above), I was responsible for selling Omni to other teams. This was a unique experience because Omni was like a SaaS startup within a company. I had to market and sell the tool in order to get customers (e.g. other teams using it). Selling a product to other teams is not easy, even if you work inside the company. You are competing against other tools (internal and external) and you are competing for people’s time, attention, and resources. However, unexpected opportunities arose when people from various teams across the company willingly welcomed me into their all-hands meeting to present Omni to their entire team. Many such opportunities continued to present itself and Omni grew to be used by hundreds of teams across every organization within Airbnb.
If you have an idea, write it down. If you have a plan, write it down. If you have an opinion, write it down. If you have instructions or lessons to share, write it down. Take every chance you have to capture your thoughts and write it down.
Writing helps you refine your thoughts. Writing helps you create your own opinions. Writing helps you challenge your assumptions, bias, and perspectives. Writing helps you spread your ideas on a large scale with zero marginal costs. Writing helps you distribute your plans and multiply the efforts of others. Writing helps you document best practices and instructions which helps others produce better results, in less time. You can scale your overall impact by writing.
I was never good at writing. I didn’t enjoy it and I rarely did it. However, when I was working with Brian on launching and growing the new Airbnb Experiences business, I found myself spending a tremendous amount of time meeting with people and sharing insights that I found when analyzing our data. Then I realized that if I wrote down my analysis, I could share it with more people in less time. After that realization, I began to document all my data collecting techniques so others can replicate. I wrote documents on my analysis, created dashboards to help others visualize, and created guides on how to create more dashboards from the data I collected. This led to many other developers performing data analysis and creating charts for others to gain insights from.
Then, when I was working on Omni, I created countless documents outlining our vision, our mission, our roadmap, our collaborations with other teams, the evolution of our architecture, the technology we would build, how to build on our platform, how to extend our services, and more. The culmination of this effort resulted in many teams easily building on top of our platform and extending it well beyond its initial capabilities. It also helped with recruiting developers and gaining company-wide adoption.
The 6 things to do as a product developer to accelerate your career are each an example of Mage’s 6 Core Virtues:
- “Code more and build things” and “Learn to query and analyze data” is an example of “Level up stats”
- “Understand your business and industry” is an example of “Deliver magical experiences”
- “Provide value in unexpected areas” is an example of “Think bold and lead the charge”
- “Scale yourself by writing” is an example of “Create compounding forces”
- “Help and teach others” is an example of “Victorious as a team”
- “Help and teach others” is an example of “Give people power-ups”
Product developers are positioned to make some of the biggest impact on a company’s success. They work closely with the product and can build anything that they can imagine. With this unique positioning and capability, product developers have the opportunity to add tremendous value to a business and grow rapidly in their careers.
Written by Tommy Dangerous