This is a guest post from Gwen Davis. Gwen Davis is the webmaster of Hosting Observer.
Facebook has achieved supremacy in the social media world with its more than 600 million users worldwide. Through out all the UI changes, Facebook has never lost its core principles, among them being accessibility and unlimited hosting for all of its users’ social interactions and personal information. Constant evolution always marks a growth-oriented company, and Facebook definitely fits that bill. But beyond great values and innovation, perhaps part of the site’s success may be linked to the developer-driven culture that Facebook employs in creating and maintaining the code that makes the platform run in a more fluid, dynamic experience.
Many companies and analysts are dissecting this approach to determine what makes it work and whether it can be replicated in other settings. Basically the developer-driven system is one in which developers rather than product managers run the engineering sector.
In a product-oriented culture, it is often the front end stuff that offers the most prestige. Developers can claim that they invented or worked on some fancy aspect of the user interface that the public is familiar with but that involves minimal “hard” coding skill.
Facebook’s culture however is one that appeals to developers rather than product managers, for example, more prestige is given to back-end rather than front end work. The types of engineering problems that excite developers like creating fast algorithms or the most efficient compression scheme, or devising cloud hosting server infrastructure are the ones that attract the best engineers.
The idea of “pushing down” engineering decisions to engineers has the effect of also creating more accountability in the development process. The engineers are able to call their own shots, but they must bear the added responsibility.
Not everything the developers decide is automatically approved though. According to reputable sources, Facebook does employ automated testing to include “push-blocking” before allowing any changes to take effect. The same reports state that CEO Mark Zuckerberg personally checks any newsfeed modifications before they are released.
Generally speaking though, the engineers at Facebook have more leeway and power than they do in a product manager-driven environment. The ratio of product managers to developers is said to be in the range of 1 to 7 or 1 to 10. During product meetings, the developers do most of the talking. If the product managers take up too much time, the engineers often complain. Product managers can suggest product ideas, but it is up to the developers to decide which ones to work on.
The idea is simply to trust engineers to do what they do best with minimal external interference. All the same, if something goes wrong, they have fewer options in blaming managers as compared to other types of work environments.
Some evidence suggests that the added pressure and responsibility of owning one’s code produces better work. For example, workers with start-ups are generally more productive as compared to those in established companies because they have fewer options in blaming others when something goes wrong.
Now the developer-driven model might not work with every company. A lot depends on the quality of the employees. As the world’s largest social network, Facebook has no trouble motivating and attracting the best of the best due to the vested interest. As such, they can afford to be choosy when hiring. In fact, according to inside sources, Facebook requires new coders to undergo a four to six week “boot camp” in which they are required to learn Facebook infrastructure. About 10 percent of the trainees do not pass muster and are advised to leave the company immediately.
Obviously, if you have good engineers that love code and new challenges, and are capable of handling responsibility, the developer-driven culture can work just fine. Even so, not all developers may fit well into this model. Some may simply have gotten accustomed to working in environments where they could easily pass the buck when things went wrong.
The Facebook example does show that developer-driven culture can work in some cases when the right variables exist. In some instances, companies may have to use trial and error to see whether the model will work in their situation. Certainly, not every company will be able to incorporate a system that grants so much power to the engineers.
By carefully studying what Facebook does, and the intelligence on this is increasing by the day, companies can determine how suitable such practices are given their own circumstances. With some careful analysis, they can avoid making mistakes when they clearly are not ready to invest so strongly in their engineers. Still, if the environment is right, good things can happen as we learn from Facebook’s lead.
This is a guest post from Gwen Davis. Gwen Davis is the webmaster of Hosting Observer – Your guide to finding the best web host online. A firm supporter of open source, she also blogs for Tek-Tips.NetHawk and AllForLinux.com. If the article has been helpful to you, you can follow the author @GwenDCipher.