Why I am Joining 10gen (The MongoDB Company)

Monday will mark my first day at 10gen as Director EMEA. Why leave a very successful Irish startup, FeedHenry for a new position in 10gen I hear you ask?

Well, it’s not everyday you get a opportunity to work for a company that is changing the world of Enterprise Data, Hugh McLeod famously challenged Microsoft to “Change The World or Go Home” and that’s exactly what 10gen is doing with MongoDB. With 4 million downloads and counting and enormous credibility amongst the code cutters who actually build software everyday this is a once in a lifetime opportunity.

Its also Open Source which is something I have been passionate about ever since installing my first GNU C compiler in 1989.

What will I be doing for 10gen? I think my boss Ron Avnur described it best: my job will be to help 10gen customers become successful using MongoDB.

I will continue to be a booster for FeedHenry and I wish everyone in that company the best of success.

A Short Post on Short Pitching

The pitch from Pettitte

Short pitching is all the rage with one, two and three minute pitches the norm at startup events. You rarely see companies given more than 10 minutes to present their company. Inevitably you are there with 10-50 other participants trying to make an impact. I have been giving this advice out to companies for a while now so it seemed a appropriate to whack it into a short blog post.

  • Entertain me: I’m bored. The panel has been companies trot out fomulaic pitches all day long. Tell a story, demonstrate enthusiasm, joy, laughter.  Make sure you don’t sound or look bored, or disenchanted. You’d be surprised how many founders leak those emotions in pitches.
  • Three Messages: Think of three things you want me to remember and hit me with those. Nothing else.
  • Your deck: You deck is just there as an adjunct to your presence. Single words, pictures or clearly articulated, defensible killer stats that no one else has.
  • Finish With A Flourish: Make sure they remember you as well at the end as at the start.

What not to do:

  • No Financials: If you are profitable say it, if you are experiencing 200% month on month viral growth say it. Don’t drown people in spreadsheets.
  • No Reading: Regurgitation of blocks of on screen text is a waste of everyone’s time.
  • Running out of Time: Practice your timing, not hitting your mark makes you look like an idiot.
  • Rushing: Don’t try and do your standard 15 minute VC deck in three minutes.
  • Double headers: One speaker. This “and now my CTO will tell you about…” looks like insecurity and ego mania.
  • Demos: It will break, you will look lame.
  • Videos: If I wanted to watch a video, I’d be back in my hotel room.

You  goal is to leave them wanting more…

When to Start your Startup?

I came across this tweet today from  @monkchips :

I read the article and thought it was just about the worst advice you could ever give a person who wanted to start their own business. In essence it says “wait” and “learn from others”. Well apart from the fact that success in startup land is in no way correlated with age (so waiting to get better is a bust)  the difference between running a business and working in a business is the difference between sex and pornography. Sex is hot, exciting, frantic and full of energy, pornography is well, kind of sleazy.

The best day to  start your startup is today, not tomorrow.

You will learn more as a startup founder in 6 months that you will learn in ten years as an employee. Why because as a employee you are riding with stabilisers and as we all know you have to take those mothers off to really grasp how to balance on a bike. As a founder you have to do everything, which forces you to learn prioritisation, you have to do shit you never learned in college and you have to learn that stuff fast. Finally you have to do the hardest thing you can do in business which is make life changing decisions with horribly imperfect data.

I worked for a a bunch of software companies big and small after college, always as an employee. Its inherent in the level you work at that I was never involved in decision making at any level that was make or break for my employer.  Basically you end up coasting in the functional discipline you learned at college (mine was computer science).

The other thing people forget about is that the salary sacrifice required for starting a company later down the line is a huge cost. If you are straight out of college you have been living on fuck all for four years. So some additional hardship to get your business up and running is no big deal.

So get out there, start, fail and start again. As Winston Churchill said:

Success is the ability to go from one failure to another with no loss of enthusiasm

GitHub : MoneyBall meets Open Source?

One of the fundamental problems of hiring good developers is telling the good ones from the okay ones from the total duffers. The industry as a whole has developed some crude indicators, including batteries of interviews, extensive technical tests and gut instinct.

However the most compelling indicator of programming capability remains the programmer’s opus. For years this was not accessible except at a gross level. Essentially you could look at commercial product they had contributed to. This didn’t really cut the mustard because on a large project it was easy to fudge the issues around what a individual’s specific contribution was. We are all familiar with the lurkers on large projects. Worse we know both intuitively and from past experience that 20% of the people generate 80% of the bugs.

Open Source helped enormously and if you cared to take the time you could examine a body of work for an individual. However not everyone contributes to Open Source projects because the friction of engagement was relatively high and the slow promotion from viewer to patch submitter to committer was a total turn off for most people.

GitHub changes all this.

GitHub Vs SourceForge on Google Trends

GitHub combines the ridiculously easy forking, branching and merging capabilities of GIT with a hosted SaaS solution for sharing code in a social context. The result has been that since 2008 GIT and GITHub have become the defacto standard for Open Source projects. Despite a number of holdouts (notably the Apache Foundation) the rest of the world has embraced the utility of social coding.

What does this mean? For the first time in the history of the sector we have an enormous body of active code that is accessible via a public API. More significantly, that API is not just for the source code, its designed for the meta-data around the source code, the users, the events, the issues and the organisations. What this offers us is a set of raw data that we can analyse to understand not only who is good, who is bad and who is indifferent, we can reverse engineer the key indicators to allow us to identify the different classes of programmer from the lurkers and bozos.

Michael Lewis‘s Moneyball taught us that in the absence of a solid methodology people go with gut and those gut instincts are almost always skewed or outright wrong. Daniel Kahnman confirmed that analysis in “Thinking, Fast and Slow“, where one of his key discoveries was that a good heuristic, applied consistently will always beat the opinions of experts. The power of MoneyBall was that it showed how good historical data can be used to give a indication of future performance and how performance may not be related to the indicators we have used historically.

So we have the raw data, constantly updated by GITHub. We know that the major league of software is open source, so if you are not committing in GitHub are you even at the show? Finally we know that with A16Z’s investment of 100m dollars there is going to be some additonal commercialisation. Its seems an obvious play to use the vast array of analysable data to monetise the community on GitHub in a variety of ways.

So can GitHub become the MoneyBall of Software? Can we develop meaningful heuristics that can identify not just ninja rockstars but good team players and players with the equivalent of a consistent “on base percentage“.

I think that data is in GitHub, we just have to mine it.

Public Speaking : How not to shit yourself on stage

Photo provided by gcfairch

Okay, the bad news is there is no way to stop shitting yourself on-stage.

Public speaking is one of the great fears and everyone shits a brick for about their first 50 or so public speaking engagements. I was lucky (or unlucky depending on your point of view), I did my first public speaking engagement about a year out of college. While working at Generics Software I wrote a paper for an Ada Conference and was invited to present it in front of the great and good of the Ada community.

I was so dumb I wasn’t even nervous until exactly 2 seconds after I stood up in front of the audience. I actually couldn’t speak, I tried, but nothing came out but a small squeaking noise. Eventually somebody got me a glass of water and I managed to open the top button of my shirt, once I got started I delivered a complete 20 minute presentation on “Why Ada is not an Object Oriented Programming Language” in exactly 5 minutes, start to finish.

Thank fuck for Q&A. I managed to salvage the disaster a little bit with a reasonable Q&A session. I sat down afterwards and as the droplets of icy sweat rolled down my back I made an immediate decision to never, ever, ever submit another paper to a conference.

Fast forward a year (Generics was an Irish Startup so therefore was honour bound to implode like all Irish startups in the 80’s) and I was punching the clock at Digital Equipment Corporation (DEC) in Reading UK, then the number two computer company in the world after IBM. I had been in the company about a month when my boss Mark Ryland came to me and said ‘Joe, prepare a one day course for the new Decstation 3100, you’ll be presenting it to a group fo 30 pre-sales guys in one month’. I remember the feeling to this day, It’s how I imagine your guts might feel if someone slowly slid bayonet into them, immediately cold, nauseous, sweaty and painful. With the added certainty that its only going to get worse.

So I prepared the course and presented it. A complete disaster. It was an official DEC training course so I had to hand out official course review paperwork. My class were generous in their feedback and I was feeling ok until a helpful colleague “interpreted” my scores. I was shit.

I was now officially “the guy who shits himself” before a public speaking engagement. But worse was to come. I then had to prepare two day course for the pre-sales teams from all over Europe and deliver it in the Munich centre. I remember lying in bed the night before I was due to fly making a serious plan to go the airport, get on a plane to Dublin and just never return to the UK. Instead, I flew to Munich, delivered the first day of the the course and ran out of material by about 3pm. I sent everyone home but not before some furious german pre-sales woman publically upbraided me for dragging her halfway across Europe to deliver such a shitty course.

For the second day, I had actually done more preparation but I worked through the night to add a bunch of class exercises to pad out the day. The second day was better as a result and I think I only lost about half a stone to flop sweat. I finished the course, jumped on a plane and about then decided to get the fuck out of the training business. I did two things when I got back, registered for a 2 day presentation training course and applied for a transfer to the Ultrix Engineering Team where all I needed to do was code.

A couple of themes emerge that often don’t get mentioned on presentation training courses:

  • The fear melted my brain: I was so scared I couldn’t think straight enough to even register for a training course. Even though I knew in an abstract way about DEC training facilities I didn’t make the mental leap that they were for people like me. When you are new at presenting everything you think you will remember gets frozen out once you stand up. You are left wondering if you can even remember your own name. So all your adlibs disappear and you end up reading your slides at break neck speed. Not a good look.
  • Preparation: The only preparation that works for public speaking is … public speaking. Even though I shit myself mentally all through the last day I was infinitely better on day two than day one.
  • Passion: Passion covers up a lot of cracks. The second day was a training course on using the optimising compiler. I had done a bunch of work on this and I really knew the subject and I loved the stuff I was teaching. So even though I was all over the map the passion helped enthuse my audience.

Since then I have probably done at least one public speaking engagement a month as part of my job. Audiences have ranged from a handful of people to full auditoriums. So 20 years x 12 months makes for about 240 public presentations. If you roll up internal stuff that might easily double that number. For important stuff I still do a mountain of preparation, but I now have the luxury of being able to speak off the cuff for many events.

So if you want to become a good public speaker do these things repeatedly :

  • Embrace your fear, name it (“I am shitting myself about this speaking engagement”) and then turn that fear into passion by immersing yourself in your topic
  • Speak about things that you love and let the love of your subject carry you over the horror while you are getting over the 50 talk hump
  • Try and work with small audiences initially (team talks, internal groups)
  • Prepare by actually giving your whole talk out loud in an empty room at least once before you do it in public
  • Don’t try and memorise word for word, memorise the sense and structure and some key phrases/sound bites
  • Remember the ending so you don’t trail off with a lame “thats it”
  • Do every piece of presentation training that you can

Accept that its horrific, do it anyway and eventually one day you wil realise that your greatest fear is now actually spiders/flying/rejection again.

There are no short cuts 😦