📜 ⬆️ ⬇️

How Airbnb manages to organize the work of its developers without controlling them



Managers must “remove obstacles from the path of their subordinates,” and not tell them what to do, says Mike Curtis from Airbnb.

Mike Curtis, Airbnb’s vice president of engineering and technology, recalls being “shocked” by what he saw when he joined the booming temporary housing market a little over a year ago.
')
Call it a pleasant shiver: Curtis says he discovered a self-organized environment driven by the company's mission to make a person at home anywhere in the world. What was missing in the structure was offset by enthusiasm. As a rule, the developers themselves chose the tasks on which they worked.

Every month, with Airbnb, millions of people book free beds, rooms, apartments, and sometimes even houses in trees. Therefore, there is no shortage of technical tasks: from finding suitable housing to processing international payments made between guests and landlords.


Henry Cai (left), a software developer on the Airbnb development team and Jason Bosinoff, the manager of this team, talk with Caroline Leung, a developer from the Android team. Members of the Airbnb mobile technology team working on projects often collaborate with other teams.

Curtis, who was hired to increase the professionalism of a fast-growing team of 50 developers, would be much easier to impose on them his ideas about the rules and methods of work, based on his many years of experience managing numerous software development teams on Facebook and Yahoo. Instead, he took a bold step and understood how to work in an existing company culture.

Recently, Curtis invited ReadWrite journalists to visit the spacious Airbnb main office in the South of Market (South-of-Market or SoMa), in the San Francisco area, where we talked with him and other employees, made several cadres of developers, designers and managers by product during work. He also published a post in which he briefly outlined his thoughts on the development culture in the company, a draft of which he showed me during the conversation.


From left to right: developers Josh Hull, Ben Hughes and John Tai working with Mike Curtis, vice president of technology issues.

New management approach or lack of management?


The issue of organizing a fast-growing technology company, such as Airbnb, is key. Improper management can lead to stagnation or chaos.

Such diverse companies as GitHub, co-coding service and Zappos online clothing store, adopted the principle of “lack of management”, which is called holocracy . At the same time, all employees of the organization who are characterized by roles rather than positions, participate in decision making.

However, Holocracy is often criticized for the lack of structure and support of employees. The unpleasant GitHub withdrawal of renowned developer Julie Ann Horvath is a typical example of what could go wrong with such informal systems. Horvath spoke about the harassment of one of the founders Tom Preston-Werner (Tom Preston-Werner) and his wife. The investigation found that he had made mistakes in handling her complaints, which forced him to leave the company. The company hired a more experienced human resources manager earlier this year, and the new manager, Chris Wanstrath, promised to try to improve working conditions.

The opposite extreme - developers in large software companies, such as Google and Microsoft, often complain that their employers are increasingly turning into corporate administrators. Even the famous “20% of the time” principle in Google, according to which developers can work on their own projects, has been threatened.

Probably, Airbnb managed to find a compromise solution between the hierarchical vertical of control and chaotic self-organization. There are managers in the company, but their roles are defined in a completely different way, different from what you might think.

“In a more traditional model of organization, goals, tasks, and even assignments descend from above to specific performers,” explains Curtis. With our approach, managers are primarily coordinators who exist in order to remove obstacles from the path of employees.

These can be informational obstacles — you need to provide the technician with more complete information about what he is working on so that he can more easily solve the problem. Also, obstacles can be career - sometimes you need to help an employee move from one team to another for professional growth.

What managers do not do is not distribute instructions, do not set tasks and do not define methods for their solution. It is expected that developers, motivated by the general mission of the company and possessing sufficient information received from managers, can do all this on their own.

“It’s not your job to tell your manager how to contribute to the company’s work,” Curtis says.

For example, Ben Hughes, a site reliability specialist, says his role is “linked to Airbnb’s mission because it allows you to create a stable platform for guests and landlords.”

Beau Haugh told how a few weeks ago, developers from different teams gathered to upgrade MySQL databases for Airbnb. They gathered voluntarily and on Saturday evening to get everything ready for the expected excitement with the booking.

Alvin Sng, an internal tools specialist, says his work on the site’s chat improves communication between support agents and guests. He prides himself on how his work "helps other employees to do their work more efficiently."

Software developer Surabhi Gupta, who is working on search and discovery, says her job is to organize conditions for trips that otherwise would never have taken place. Below is her recent presentation for OpenAir, a technical conference that Airbnb held in April.



Even as a compromise between two opposing styles, this approach is not for everyone. Some employees on the Glasdoor website anonymously describe the company's environment as “disorganized chaos”. And some people call the atmosphere of the company “inspiring”, but note that employees should take responsibility for themselves and solve problems instead of complaining about them.


Bo Hou and Alvin Sng are working on Airbnb internal tools.

"Hospitable" business style


Airbnb is trying to organize the product and service of the service around the idea of ​​hospitality, which also affects the relationship between employees.

“To be the master is to be able to participate,” says Curtis. “Your guest can be your colleague. One of our fundamental values ​​is to help others. ”

Curtis acknowledges that there is an obvious conflict between the principle of “being accountable for your work” and helping others first. In the end, when you help someone, you by definition postpone the solution to your task.

Airbnb finds a way out of this situation, pointing to the long-term value that the company brings to helping employees.

“When you have the opportunity to help someone out of an incomprehensible situation, be sure to use it, since this is usually an opportunity to teach someone,” says Curtis.


Software developer Surabi Gupta is working on a solution with product manager Eric Ruth. Recently at the Airbnb OpenAir conference, Surabi presented a presentation on the difficulties of searching on the trading floor.

Standard definition


Airbnb's technical staff consists of 14 teams, usually less than 10 people each, in which different specialists work: software developers, product managers, designers and data processing specialists. Like every employee, these teams operate on the principle of self-management. (Airbnb does not provide information on the exact number of team members, but according to LinkedIn, their current number exceeds one hundred employees, which is two times more than it was when Curtis just came to the company).

"In the work of individual employees of our company there is an element of independence," - says Curtis. “There is also an element of independence in the work of the teams.”

The processes that Airbnb has standardized are mainly democratic activities, slightly directed by management. At the meetings, Curtis and his development managers talk about successful work experiences, which are then distributed and transmitted between the teams.

When Curtis came to Airbnb, individual developers often put code into the work that no one rechecked, which led to frequent bugs that were spent on fixing time that could have been saved if someone else had looked at the code. Curtis even suggested a “pull request” mechanism — a simplified way to ask someone to double-check the software before running it. One of the Airbnb developers even created a special method that accelerated the process of submitting such requests, simplifying the implementation of a new coding method.

Another example: when some developers discovered that it’s more convenient to use the Hackpad for documentation rather than the usual GitHub, all teams immediately switched to it. Instead of following the instructions from above, they simply followed the example of their colleagues.

“If you can propose an idea, and it will hold on to its advantages and be accepted by the team, then this is the team’s decision,” said Curtis.

He believes that such a process deployment system allows Airbnb to make radical improvements in productivity. He calls it the mathematical term "step function."

“When everything is standardized, you are stuck in the usual and monotonous methods of work,” says Curtis. "But it is worth making a bit of chaos, and you get such intermittent improvements."


Airbnb developers use new methods, observing how colleagues work, rather than following guidance.

Airbnb has to make such jumps in order to keep up with the rapid growth of the market. It is unclear whether their current methods will always be effective. Curtis does not hold on to the current approach - he is a realist and knows that everything is changing.

I asked him if Airbnb deliberately sought a compromise between static and chaos, hierarchy and holocracy.

“I don’t think we ever consciously asked ourselves such a philosophical question,” Curtis muses. “Our goal is to work in the way most efficiently at the current development moment. By and large, we are convinced that when developers themselves control their work, they are better motivated, and this leads to better results. "

Unlike a large hotel chain, Airbnb cannot dictate its conditions to homeowners - how to arrange rooms and receive guests. One of the charms of using Airbnb is precisely this kind of individual specificity. It is also part of the company's business policy.

Source: https://habr.com/ru/post/232587/


All Articles