

Do the Simple Thing First: The Engineering Behind Instagram - technologizer
http://www.fastcompany.com/3047642/tech-forecast/do-the-simple-thing-first-the-engineering-behind-instagram

======
dj_doh
Interesting story.

Earlier today I was reflecting my own background. About 10yrs ago, I
bootstrapped a project into a startup. Some of its highlights would be getting
paid customers, iterating product (pivoting in 2002 lol) and getting seed
investment from institutional VC. You ask what's the big deal? Well, I was a
junior in mechanical engineering with 0 coding experience in India, or any
experience for that matter. I manage to move things forward. Got people
involved.

10yrs later with multiple degrees in CS and 6-7yrs of experience delivering
successful software at work. I struggle getting basic ideas off the ground. I
just go into technical details and complexity.

Shouldn't this be other way around?

~~~
Swizec
The obvious answer to your question is that being a good engineer is not the
same as being a good product manager.

They are very different skillsets and it sounds like the last ten years of
focusing on technical details have impacted your prioritization and other
product management skills. Lucky for you this is a solvable problem, all you
have to do is practice.

------
jen729w
Inspirational - truly, and I mean literally, for me - that they started that
with two guys who _were not experienced coders_.

There really is no excuse. I should get off my ass and make something.

~~~
tim333
>were not experienced coders.

I think they may have exaggerated that. It another article Krieger say "in
high school, one of the things I loved doing was this after-school program
where you would teach computer skills to some of the maintenance folks at
school." Which he taught, so presumably he was coding at school. Then "studied
human-computer interaction" at Stanford. Then he was a "user experience
designer and engineer at Meebo." Then Instagram. So probably some years of
coding experience if partly on a hobby basis.

[http://www.theverge.com/2013/5/13/4296760/sketching-
instagra...](http://www.theverge.com/2013/5/13/4296760/sketching-instagram-co-
founder-mike-krieger-reveals-apps-humble-beginnings)

~~~
mikeyk
To clarify, I was teaching things like how to use Windows and how to use an
email account, so not coding-related. But yes--by the time I was at Meebo I
was already picking up some industry coding experience, though not anywhere
near what I'd have had on a more traditional CS degree + pure coding job out
of school track.

~~~
mmcclellan
That's what I like about Hacker News, clarification from the co-founder
himself.

I was very inspired by the original post on Instagram infrastructure:

[http://instagram-
engineering.tumblr.com/post/13649370142/wha...](http://instagram-
engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-
instances)

mainly because the stack mirrored my tools of choice and how plain vanilla the
stack was: AWS, Ubuntu, Django, Postgres, Redis.

------
applecore
_> [Instagram] also utilizes a storage technology called Cassandra that
Facebook invented, open-sourced, and then abandoned._

Why was Cassandra completely abandoned at Facebook? It has a complex
consistency model, sure, but what database technology have they built to use
instead?

~~~
seivan
Not sure they built it, but I remember reading they replaced Cassandra with
HBase(?).

------
elwell
Still not sure why Hyperlapse exists ahead of an iPad tailored app.

~~~
onedev
Well, one way to think about it is that they know with 100% certainty that an
iPad version of Instagram would do well. However by putting out an iPad app,
they wouldn't really increase people's total usage of Instagram _that much_.
There's only so much Instagram that people can fit into their lives
realistically.

One thing that the good folks at Instagram HQ have is time, and resources.
They are owned by a big, money making entity in Facebook. So what makes sense
is for them to optimize for learning. Hyperlapse is an experiment that tries
to teach people a new behavior. If this behavior sticks, then Facebook would
effectively own that behavior (head start through network effects, branding,
etc).

In the long term view of the company, it's advantageous to be able to leverage
NEW behaviors. That's how Facebook (a.k.a Instagram) will be able to insert
itself into more parts of your life than simply trying to maximize the lone
part of your life it occupies. Once a new part of your life is found to be
occupied, they can then transition into maximizing the time spent in that new
part.

Like this, Facebook trades depth for breadth, but not really because Instagram
as it exists is deep enough already. They know that an iPad App is of marginal
value, but a separate app experimenting with an entirely new behavior has huge
upside potential if it takes off, one that they can continue to add depth to
afterwards. So that's what they went with.

~~~
philipov
Except that there's no point in ever adding depth to anything, because once
you're there, your original argument takes over and it's time to start taking
over a new part of your life instead of adding depth. And that, as they say,
is why we can't have nice things.

~~~
onedev
I disagree.

When Instagram was first released, it was a necessarily shallow product. They
needed to put out an MVP to see if it was a product people wanted and if it
was an implementation that would stick.

Once it started taking off, they realized they needed to add depth to their
product. Depth usually means features but not always. So stuff like editing,
more photo editing tools, more filters.

It's hard to appreciate all the depth they've added to the product over the
years. Even then, they're probably unique in that they had to spend A LOT of
their time scaling but if they didn't have as many scaling issues then I bet
we would have gotten some of this depth much earlier in Instagram's life.

Remember, Instagram started off as a _super simple_ app with maybe 8 or so
filters. Now you have tons of filters, multiple cropping options, panning,
colorations, etc etc. It can now almost go toe to toe with most of the
dedicated photo editing apps in the App Store. People used to go to another
app to do more advanced editing and then come back to Instagram to maybe drop
a filter on top and share with their friends. Even some styles of filters
weren't available on Instagram so people used 3rd party apps just for a
particular filter.

Today, people do all of this inside the app itself, effectively cutting out
those third parties that enjoyed a lot of success during the early days of the
app store. Now that Instagram has sufficient depth, users don't have to get
kicked out to 3rd parties for most of their editing needs, even some of the
more advanced actions. This is what I define as "sufficient" depth.

Once sufficient depth is achieved, they can buy some time to focus on other
things (like the Hyperlapse experiment). How do you know if a product has
reached this mystical "sufficient depth"?

Well that, my friend, is an art.

------
cdnsteve
Interesting, still at that scale: "most of our backend logic lives in Django"

~~~
chrisacree
I see comments like this, and wonder why that's strange. Is there a
comprehensive list of reasons Django (or Rails, or whatever) won't scale well?

What do these companies switch to? Or is it more that things just become a
mixed basket of specialized tech for each task in the stack?

~~~
segmondy
Every often, we see folks that started with python, php, or ruby, deciding
that the language is their limit, and they move to "cooler" stuff like Scala,
Go, Clojure, etc.

------
sciurus
"A year ago, it moved to a continuous system which has it rolling out new code
to its servers 50 times a year."

Surely they mean 50 times a week, or a day? Deploying once a week isn't
noteworthy.

~~~
omouse
Yeah it is noteworthy when the majority of companies still schedule big launch
deploys and the company I'm at is deploying once every 2 weeks and a coworker
just tried pushing for deploying once every 3 weeks.

------
ChrisArchitect
hats off to instagram, good people, development/product building focus seems
on point. However, still seems like a lot of it is based on being first in
there and getting the huge huge huge community/userbase engaged. Hitting it
off with the users and then after critical mass/facebook getting involved,
keeping users engaged, developing the product carefully, and letting the
community naturally propel up and up... seems like that's what's kept them
going

------
starikovs
$1 billion for Instagram.. that was cheap I think :)

