Moojive's Official Blog

month

February 2012

2 posts

CTO in a Lean Startup vs.Orienteering

When you’re a developer in a young startup you are often faced with implementation decisions. You know how you want a module to function or appear to the user, but there might be multiple avenues to achieve that result and there’s no one obvious winner. You weight up all the factors like the tradeoff between getting something up quickly that functions 75% of the time and something more robust, but takes 4 times as long to implement (and one isn’t a strict superset of the other).


Included in this decision process can sometimes be how long you want to spend deciding. You might not know enough about one or more avenues and you need to do a little research or even feel like you need to implement one or more to make the decision. In academic research, by definition, you are encouraged to try all avenues to find the absolute best one, but in an early startup you don’t have such flexibility with time. In a startup it might sometimes be better to decide upon what turns out to be the second best way of doing something rather than spend a heap of time finding the best. This feeling became eerily familiar when out on my midweek run this week.

image

Every Wednesday afternoon over summer I travel to different parts of Sydney to do Orienteering (check out photo taken from Checkpoint 15 looking out over North and South Head of Sydney Harbour). It’s actually a very fun sport that many people mistake, upon hearing the name, as an activity you might find at a bush survival camp. (My brother calls the sport girl scouts). It’s nothing like that. Think of it more as a treasure hunt for grown ups. You get given a map, a clue sheet and an electronic stick. The aim is to try to visit as many checkpoints on the map within a 45 minute period. Checkpoints come in different point values, so some are more valuable to visit than others and you are penalised for every minute you are late. (The electronic stick is used to “check in” to each checkpoint to prove you went there, incase you were wondering where that came in). They do give you a little time to plan a general route before you begin running, but you can never know how that plan will actually fair until you get out there and run.

The first time anyone does orienteering in this flavour, they usually look at the map for 1 or 2 minutes then just start, having only planned their way to the first checkpoint. I did the same and I found after my first few weeks of doing it that I was no where near the top runners each week (there are some absolute gun runners who turn up, but I didn’t think I was that far off in terms of fitness). I found that I wasn’t really pre-planning further than the first three checkpoints, so at each checkpoint I’d stand there for 15 seconds and see where to go next (over about 20 checkpoints that adds up to 5 minutes that I could be running an extra kilometre). So I started doing much more planning before I started and left the actual 45 minutes for running a set course.

There are still some unknowns that make it interesting each week like planning more conservatively if the course looks hilly or has a fair amount of off-road sections, or even how fit you think you feel that particular week. If you come in early, that’s wasted time and there’s no bonus for that. If you come in late, you get slammed with penalties. There’s even weighing up whether on a smaller map it might be better to run overtime as you might just be able to score points at a rate higher than the rate at which you are penalised. You get better at judging these things over time, but some weeks still catch you out. As an experienced developer you generally know how long something might take you to build to that magical 85% mark, where enough things are in place for you to functionally test it, but you wouldn’t release it to a user. (Unfortunately the other 15% usually takes 85% of the time).

Here’s where the analogy gets interesting. Even though I now spend a good solid amount of time planning a decent path each week (and score reasonably well) there are still factors that just spring up and screw you over. You might run all the way up a long steep hill only to find the checkpoint stolen, or just so well hidden that you spend precious seconds trying to find it (there’s no way to fix this and it’s just unlucky - move on quickly). The worst is when you just get lost and lose your position on the map (it’s completely your fault, there’s really no way to get back from that and you just have cut your loses and head back to the finish if you want to maximise your score). The one that I find fun when it’s well executed is when you get halfway around your planned route and you get the feeling you’re going to be severely late if you stick to it. You need to re-plan a decent path home without spending too much time planning.

The best results I’ve had in these time critical ad-hoc situations is to do a quick scan of 2 or 3 immediately obvious, generally about the same scoring, paths back to the finish, then pick one and just stick to it. If you’re standing there looking at your map, you are getting no points. If you’re at least running on a path that’s semi-decent you’re accumulating points one way or another. Deliberation and indecisiveness chews up time in this situation.

Similarly in a dev start up, if you know there’s a way of doing something that’s probably in the top 3 best ways of doing that thing, then just do it. The great thing a startup has over orienteering in this situation is that if enough people like that feature, then you almost get a do-over or at least time to refine the current solution later. In orienteering if you screw up one week then that week’s a bust and you have to wait until next week to do better.

Of course, if you can simply run faster or dev more efficiently then your options are going to be more flexible.

-Steve

Feb 10, 20120 notes
PhD vs Startup

There are quite a few parallels between being a PhD student and trying to get a startup off the ground. I’ve had quite a few articles and comics sent to me by fellow PhD students comparing a PhD to child birth or even marriage (PhD comics). But over the first few weeks of Startmate I can really see where PhD experience can be beneficial over working for the man, when being part of an incubator.

Everyone knows the general sequence of phases the average tech startup goes through (Moojive is definitely going through them now). Get an idea, make a prototype, see if people like it, if not try again. That is, keep trying things until you find the niche that works and then scale. In a general sense a PhD is all about trying different approaches to solve a problem and when you find the niche that’s novel you publish before anyone else does.

When I started a PhD we were given a speech by a student who was just wrapping up theirs. She told us all wonderful things like you’ll have the time of your life, meet new people, if you want to go to Italy find a conference in Italy and submit some papers to it. In between all the inspiration was an important point. In academia you’ll be doing a lot of the “re” in “research”. In other words be prepared to try a lot of things that won’t work then when you find the thing that does work, develop that into publishable content. I’ve never worked in a “proper job” with a big company for an extended period of time, but my impression is that there is a completely different mindset. If you’re working on a project for a company and the idea doesn’t work out, there’s no real loss for you, you still get paid either way so there’s no real sense of risk in doing work without reward. In a PhD as well as in a startup you definitely need to get used to and prepared for investing time in something without expecting anything to come of it.

Another parallel between the two is a need for focus as soon as possible. When every PhD student starts they want to “change the world”. They soon realise that they can only do so much. If you’ve ever been to a university graduation where postgrads are graduating they read out the title of their thesis. I used to be amazed by how incredibly specific each of the titles were. “Application of [some algorithm in computing that only really has one practical use] to [some biological area] specifically for [some small problem that only 10 people in the world are affected by]”. (See this comic for another example).

At my last PhD review session I could see this difference between the scope of a first year thesis student and a second year student. The first year guy went up to present before my presentation. He’d done a few good months of reviewing the literature and was about to embark on developing a system that would do robot localisation, mapping, path planning and dynamic high level direction of multiple agents to carry out a series of tasks related to fighting bush fires more autonomously. (In other words, solve field robotics). His feedback from professors sounded very Mick Liubinskas on Startmate finals day, “You can’t possibly think you can solve all of this. Pick one thing and work on that.”. My presentation was next and I presented my 2nd year progress on a really efficient way of solving just the path planning problem using new fast GPU technology.

I’ll begin to wrap up now as my co-founders want me to stop “writing my thesis” and start coding again, but I thought I’d leave you with some of the smaller similarities. Incubator funding with a cut of the company is like getting a scholarship with the requirement that your supervisor has his or her name on each of your publications. When you’re a PhD student you rely heavily on your supervisor’s connections, while in an incubator you use mentors connections to help get traction and advice. Once you get your PhD or if your startup succeeds you have a certain level of implied awesomeness that opens doors. Both select candidates based on their skills as well as their proposed idea or research topic. Both involve living off little money to begin with. Both (luckily) have a very casual dress code as you are there for your ideas and skills rather than how good you look in a suit.

-Steve

Feb 08, 20120 notes
Next page →
2012
  • January 4
  • February 2
  • March 7
  • April 8
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December