I enjoyed reading this post earlier this week, which tries to bust the myth of overnight successes in startups.
I agree and strongly support the points that Titanas made there and I would like to add another visualisation for this problem.
I’m going to start by introducing the following puzzle.
Let’s say one day I send you an email telling you that I have come up with a fantastic method of picking winning stocks. I know this is hard to believe, so as proof, I will tell you what three stocks I’ve picked for this month with my method.
A month later, I email you and point out that the stocks I’ve picked have gone up significantly this month. To demonstrate this was not random luck, I’ll share my picks for the next month as well.
These will also do well. And then the month after that also!
At this point I stop sending you free picks and ask that if you want to get further updates, you need to pay a subscription fee. Convinced by my three months streak of success, you’d be a fool not to!
This if of course, a scam, but a very useful one for making this point.
How does it work?
It’s hard to work out the trick from what you see. The catch is, of course, like with all magic and scams, in what you are not seeing.
You see the winning stocks, so you assume that I only hand-picked those and emailed you. Truth is, I sent out thousands of emails like this in the first month to different people, each with randomly picked stocks. For the vast majority of these, the stocks didn’t get any good results so I didn’t follow up. But on all the ones that did come through, I sent a second email. I applied the same logic again, randomly selecting stocks for each person. Again, I only followed-up on the winning ones. While the number of people that see the streak of winning stocks gets smaller each time, the people receiving the emails are not aware of that, because they don’t know about everyone else. I did nothing but random selections and sending a lot of emails.
This is a very useful example to use for understanding a lot of situation where our view is restricted by our lack of visibility into the bigger picture. Richard Dawkins uses it in The God Delusion, for example, to support his thoughts on why we live in a universe where all the physical constants are just right for life to exist.
I feel this is very useful for forming a more realistic view on the startup world as well.
For the most part, we only see the winning streaks. We tend to pass judgement based on this, such as what the winning ideas are like and what makes a winning team. I wonder if such a thing even exists, or we’re just lying to ourselves, unaware of the statistical irrelevance of these few success stories. I will speculate that perhaps we are trying to find patterns where none exist. Some percentage of startups will succeed and that’s what we see, the winners. But we don’t really see all the ones that have failed, so we can’t really know why the winners made it when others didn’t. It’s possible that many other startups existed, with a similar team composition, with a similar idea and a similar approach, and nonetheless failed, without any obvious reason that we can fit in our pattern. I think it is naive to make recommendations based on the winners, when that represents less than 10% of the total information we should be considering. Instead we should embrace this uncertainty as just part of what a startup is.
When you think about doing a startup, you should focus on doing the best you can with what you have in mind, work hard, enjoy the ride and don’t worry about being like X or Y. Accept early the fact that there is no key to success, no winning formula or silver bullet and that no one really knows whether your little business will be completely unknown in 6 months or will become the next big thing®. The only guarantee you have is that if you don’t try, it won’t become anything.
This one has been annoying me for so long, that I need to share the solution. One some of my recent installs of WordPress, I was not able to update the installation from the dashboard. It worked fine for plugins and themes, but would not work for the main platform itself. If you’ve ever done a manual update of wordpress, you’ll know how much time is saved by this all being automated from the dashboard, so this was a rather painful problem to have.
Unfortunately there was little in the way of logs or indication of what’s wrong. I worked out rather early that it’s a permissions problem, but despite all of my attempts I couldn’t work out what the issue was.
Then yesterday, after a lot of searching, I ran into this blog post which saved the day.
To have this work from the dashboard, you need to set the owner of the wordpress installation folder to www-data. I’ll copy the command over here, it worked fine for me exactly as described.
chown -R www-data wordpressfoldername
That’s all folks. Happy updating.
I will speculate that the majority of highly successful people (regardless of how you prefer to apply the definition of successful) do not employ GTD techniques. Or Pomodoro. And they don’t use any of the numerous shiny software solutions in this space*. I would even dare say they probably have never really felt they had a major productivity issue.
And while we’re speculating on nothing but thin air, I would also say they probably find time for their hobbies. And for their families. And they feel less “busy” and less “stressed” than their less “successful” peers.
I think that we have mistakenly engrained in our society the idea that we have an efficiency problem. Everywhere people are struggling to become more efficient, to fill every little bit of their day with something. Never get bored. Never waste time. Be as efficient as you can be.
The only missing bit seems to be… what are they becoming more efficient for? What is the end-goal? For most people this question is not even asked, let alone answered.
Efficiency for efficiency sake is useless. I don’t think we have an efficiency problem, if anything we are more efficient nowadays than we’ve ever been. I think instead, we have a prioritisation problem. People are simply not thinking well (or at all!) about what is actually important to them, of what brings value and joy to their lives.
If you’re doing things you are passionate about, if you invest yourself in your work and your hobbies, you will find the time and energy. Just as you will find the time to spend with people that are important to you. And boredom isn’t all that bad… Good ideas come out boredom and free time. So let go a little bit! You may find yourself enjoying the results.
* All things I am very much a fan of
I started a new page where I will be sharing various apps that I actively use for day to day tasks or for development. It will be heavily focused on the Apple ecosystem, but some things will be multi-platform. It’s work in progress, so check back soon for new additions.
Go to My toolkit!
Suggestions on new tools or alternative are always welcome.
When I was coaching students for ICPC, I would tell them to always assume that their code is not working until proven otherwise.
You see…in the ICPC, when you think your program is done, you submit your code to be judged and it can take a while for you to get back a response. During peak times it can be up to 30 minutes, which in a 5 hour competition is an eternity. To top it up, there’s only computer per team (of three), so, if after the wait the result that comes back is not “Accepted”, you have to stop a teammate who is already coding a solution for the next problem and sit down at the keyboard to debug your old code with no idea what’s wrong. If you’ve already mentally moved on to the next problem, it’s even more difficult.
As a result, one piece of advice for our teams would be to print out the code (I know, I cringed also… but it’s a competition, you play by the rules and make the best of what’s there) and start debugging it as soon as they hit the submission button. Consider it broken at all times, unless officially confirmed that it isn’t. The protest was always: but how do I know what’s wrong? Truth is you don’t… but you won’t know almost anything more from the judge’s response either! Except for crashes and time-limits, everything else usually comes back as a “Wrong answer”. You are not told what the input or output was. How useful is that! So you may as well assume it came in as a wrong answer and get started early.
Regardless, the biggest problem has nothing to do with not knowing what’s wrong. The problem here is getting yourself in the mindset that your code is broken. It’s very difficult, because if you genuinely believed that, you wouldn’t be submitting it in the first place! While you may agree to play this game and run through some scenarios, you *know* that your code works. The problem is done, finished, resolved. Ok, you’ll do a bit of this “fake” testing and debugging, since we all agreed to do it beforehand, but deep inside you know it’s pointless. You just built this thing, you’re in the maker’s mindset. Forcing yourself to assume that it’s broken requires you to be a different person, it requires you to be in a breaker’s mindset. And switching from one to the other, when it comes to something you’ve built, is far from easy. That’s why at ICPC, having another team member write test cases for your problem is sometimes a good idea.
The concepts transition unchanged from ICPC to real world commercial software development. Even with test-oriented developers and TDD (which everyone should be doing), you need “breakers”. You need people who were not directly involved in building the system that are motivated to try and break it. People that “know” that the system is broken and just need to figure out where and how. If you care about quality, you need a team of breakers.
Because as anyone that has ever written code knows… it’s always still a bit broken.