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.
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.
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.
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.
Ha, agreed. I always tell folks don't worry about problems down the road. Your company has to get there first. (This is usually to bootstrappers and startups.)
We often worry about things before we REALLY know what the product is. Or even sillier before you have customers.
Honestly the coding was never the hard part, and it becomes less so every year as the tooling gets better. Making a product that people want is the hard part.
Agreed. I majored in Symbolic Systems, with a concentration in AI, and it was fairly CS-heavy. We skipped some topics I would have later found useful (compilers, database, operating systems) but in exchange I did a lot of AI CS work that I would not have taken were I a standard CS major.
That said, if you choose a different concentration within the major, you would end up taking only a handful of CS courses.
> There really is no excuse. I should get off my ass and make something.
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. ;-)
Couldn't agree more. I've thought about this a lot, how the current mindset is creating a bunch of people who see the end state as "a unicorn" and nothing else is good enough. Anything else is "failure".
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.)
Half a million a year in profits / wages is definitely a bit beyond lifestyle business. In wages it's possible top of field in something that really matters to a large enterprise. In profit, it's a whole lot of work in a very specific and high value area.
Yep, I saw it take about 15 years trying and succeeding to build a web hosting business before the owner / founder was getting near that for themself. Software can be faster, but that's still extremely lucky and/or lots of hard work.
> [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?
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.
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.
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"?
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.
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.
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
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?