Do the Simple Thing First: The Engineering Behind Instagram
fastcompany.com
fastcompany.com
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?
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.
There really is no excuse. I should get off my ass and make something.
We often worry about things before we REALLY know what the product is. Or even sillier before you have customers.
please don't make a Bitcoin exchange/bank. or anything that will take enduser's private PII or money.
the mindset to "just go make something" is admirable in some cases. on others it's not. scratching your own itch and then monetizing it is admirable. picking up a knife and thinking therefore that one can be a neurosurgeon now, is not.
too many people do the latter. the former is fine. ;-)
Me, I'd be happy if I could find a little niche to fill, and if it could pay me a very comfortable wage that allowed me to retire in 5 or so years. I'm 38 now - half a million a year for a couple of years, then sell whatever it is for another couple of million, that'll do me very nicely thank you very much.
Does that sound like a lifestyle business? Damn right. That's exactly what I want. (I'm in Australia, BTW - the whole Silicon Valley, work 23 hours a day, all that crap - no thanks. I value my life and my friends at way more than a billion dollars.)
No, it doesn't. It sounds like a 3 SD event.
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...
I was very inspired by the original post on Instagram infrastructure:
http://instagram-engineering.tumblr.com/post/13649370142/wha...
mainly because the stack mirrored my tools of choice and how plain vanilla the stack was: AWS, Ubuntu, Django, Postgres, Redis.
That said, if you choose a different concentration within the major, you would end up taking only a handful of CS courses.
Why was Cassandra completely abandoned at Facebook? It has a complex consistency model, sure, but what database technology have they built to use instead?
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.
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.
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?
Surely they mean 50 times a week, or a day? Deploying once a week isn't noteworthy.