Original link: Do the simpleTHING first:the ENGINEERING BEHIND INSTAGRAM
Translator: Li wei
When you are small, it is easy to overcome difficulties. When the scale is enlarged, it becomes difficult.
When Instagram was released on the iphone App Store in October 2010, there were only 2 development teams: Founder Kevin Systrom and Mike Krieger. None of them have a traditional software engineering background (Systrom is a professional management science at Stanford University, and Krieger is a symbology (symbolic systems). When the app became a miracle-it was a sign in the app world, because it hit the industry almost at the moment it was born-leaving Systrom to turn his attention to running and leave engineering research to Krieger.
"We have few skills to complete the development of the InstagramV1 version. "Krieger said some days ago. Many things have happened since then, including Facebook's $1 billion takeover of the company in April 2012, which now operates on Facebook's Silicon Valley campus (Facebook's Silicon Valley campus), with a team of nearly 100 engineers. The services they build now have 300 million active users, with a daily release of 70 million images.
Instagram Creator and Cto:mike Krieger photography from: Gabriela Hasbun, Facebook Etiquette department (courtesy of Facebook)
But after all this, the engineering ideas of the original Kevin-mike ERA continued: Do the easy things first (do the simple Thing).
"We didn't have time to do the best, the most complete thing when we were alone," Krieger said, "To do simple things first as a survival strategy, as a mantra (mantra)."
"Now," this mantra has been deeply imprinted in the minds of all our engineers, and that's very good. ”
When Instagram ushered in a major version of the upgrade and needed to radically change the search and explore features, I asked Krieger and several other employees to talk about the existing challenges of developing this new feature, which was straightforward and efficient. It's also not easy, and to make Instagram more ambitious, you have to be strong first.
"In fact, the goal is just to inspire creativity," said product manager John Barnett. "Help people create what they want to share with others, and they will be happy to do so." It's really hard to do this in a very simple, elegant way. "
Instagram engineers working at Facebook's campus headquarters : Harry McCracken, Inc.: Fast company
the necessity of simplicity
When Systrom and Krieger started to develop Instagram, they built a studio called Dogpatch Labs. Krieger remembers that a nearby emerging company is always haunting him with a very difficult technical problem, such as JSON optimization. How does he respond? "Man, you don't have a client or a user now!" "These 2 people have only one principle in making Instagram's technical decisions: ease of use is greater than refinement:" If a method solves a problem and lets us get closer to the release, then it is used. ”
They didn't know everything they needed to create Instagram at first, but that's fine. Krieger on the plane, watching online videos and learning how to solve the engineering problems he faced. Instagram's current problem is "not a fancy, flowery question," he said. "It's a problem that Facebook and Twitter have encountered. "
Early Instagram poster, circa 2011
For a while, Instagram is notoriously famous for the explosive growth of its users by just a few good employees. On Facebook's acquisition, Instagram had 30 million users, while only six engineers, Krieger, said the entire development team was already in "various unconventional places (in all sorts of untraditional places). "(one of the engineers came from a new company near Dogpatch Labs (the company did business like Instagram), not the person who was obsessed with JSON. )
"I want to cultivate really great people, but they are often hard to find," he recalls, "We are too busy to put our minds on the job." When Instagram becomes a part of Facebook, recruiting becomes easier. It's not just a matter of money. Facebook's well-functioning recruiting system can provide a steady stream of engineers who can keep Instagram at a high level even after it's scaled up.
More about INSTAGRAM
I think that as Instagram expands, it will eventually go to the crossroads of technology and be forced to change Systrom and Krieger's original vision to maintain the robustness and scalability of the system. Krieger ' s understand my idea. "You can also find ' Kevin code ' in the code base," he says, "and we're not going to refactor or rewrite the code just for our own benefit." Software is like gardening, and one day I'll clean the back of the shed. But if no one goes there, does it matter? ”
Despite the astonishing continuity, Instagram's engineering theory has changed a lot. Krieger, an investor at the venture capitalists Matt Cohler,instagram, said he had told him that "every time your company expands, it will encounter problems." What you need to do when you have only a few engineers-such as submitting a new code to a code base-can become complex as soon as you have dozens of people.
Instagram solves some of the challenges by deploying software using Facebook's highly automated process. A year ago, Instagram switched to the new integrated system, and the new code was deployed to the server over 50 more years last year. With the "Canary" version, a subset of users are updated to limit the impact of the bug on the app. "Even if the application explodes, it affects a small area," Krieger said.
The benefits of a large-scale team pushing code in a more standardized way are already reflected. "We think that Instagram hasn't changed everything," says product designer Josh Dickens. "But then again, from the very beginning to the present, we have made some disruptive and bold changes to Instagram. "For example, in the last six months, the app has added four new creative tools and seven months, adding seven filters.
"We made Instagram go fast, especially when the team was small," said Mona Huang, a software engineer. (Small, of course, a relative concept-but for Mona Huang, who internships on Facebook's newsfeed product line, Instagra looks like a very small minimum). "Web-side, we are ready to go online, the app side, we release a new version every two weeks." You have to make sure that things are in good shape before they are made public. "
"If we spend one months trying to understand what Facebook is building over a year, we'll save 11 months. ”
Instagram is not obligated to use the technologies that Facebook uses-some of which create its own websites and apps. "When we got there, someone asked, ' Are you going to rewrite your website with PHP? ', Krieger said. Not That would drag us down. "The back end of the service is still written in Python, and a small amount of C + + code has been added in recent days. It also uses Cassandra Storage technology, which was written by Facebook, open source, but later abandoned.
However, sometimes it's nice to embrace Facebook. Instagram has shifted thousands of servers from Amazon Web services to Facebook's data center, Krieger said, a cost-effective and efficient integration. Sometimes it is meaningful to rely on the engineers of the big Facebook team. "If we spend one months understanding what Facebook spends a year building, we'll save 11 months," Krieger said.
Not to be continued.
Turn from Jay Micro magazine
Starting with simple things: the engineering behind Instagram