Wednesday, July 09, 2008

Some thoughts on technical mentorship, what I have done with the iAccelerator teams, and how I would like to handle this moving forward.

First, this has been a great experience. Over 80 applicants applied, and the 5 teams we selected to be a part of the program have been universally wonderful. In the selection process the CIIE team first narrowed down the list to about 20 applicants who we then had a phone interview with. During the phone call I was able to establish whether we could communicate well and learn enough about the idea to form an opinion about whether it was doable. One of the main factors I filtered for was the level of partnership necessary to make the system successful. Ideas which required deep integration with banks and hospitals were non starters.

Once the teams came to campus I had conversations with most of them about what they were doing and made suggestions about how to the refine the ideas into something I considered more practical, achievable and marketable. About three of the teams changed significantly but still within the same general category they applied to the program with. Others already had significant code developed or were focused on their original idea and didn't want to deviate. This is perfect.

On an ongoing basis we do engineering reviews every week. My feeling is this is really important as it keeps everyone informed of the progress being made. It also provides weekly milestones for people to work towards, which has been useful to me in the development I have done.

With one team I spent alot of time working on their database design and explaining the MVC design pattern and helping them architect their app into packages and classes from the very beginning. I did a code review with another team much later in the program where we discussed different design decisions they had made and we looked at what could be refactored to reduce complexity.

Some teams were senior enough or working with technologies I was less familiar with such that I wasn't able to provide as much technical support during their development.

There's been some more subtle stuff I've been able to do such as encouraging
people to stick with their current idea when their confidence was shaking, and introducing them to potential partners and advisers.

One aspect of the program I have enjoyed, but wasn't responsible for, has been regular meetings with successful entrepreneurs who have come to talk to us about the process they went thru in starting their companies, picking an idea, finding partners, going to market, etc. These speakers have been first rate and have helped stimulate thinking in important areas that perhaps we hadn't spent enough time with.

***

So its been a great experience both for what I've been able to do, and showing me what I would like to do more of with future groups.

Going forward I think I'd like to engage with teams even more deeply in setting up their engineering and business processes. To the extent that an incubator is a startup factory the same issues of quality assurance, consistency, branding and sales come up that traditional businesses face.

We got really lucky with the level of entrepreneurs that came in. Doing this again I would spend more time during the interview / selection process. Basically, I need to feel that each person on a team could work for Google, if not now, with one or two years of aggressive experience. If I can manage to filter this reliably, then I'll have a portfolio of companies that could get acquired by Google (or anyone else) and they will come to know that most of my teams meet that level which makes my sales process easier. Identifying these people reliably will take more than a phone call. It will take a set of interviews and tests similar to what Google puts people through.

This process needs to be deep both for selecting the people I want to work with, and for informing the 'incubation' process in which I attempt to address the shortcomings teams may have. This may include looking out for other employees / partners / advisers that can help complete the team. On a technical level it will show how much effort I need to spend helping a team with its software design and developing its skills in specific technical areas bringing in outside trainers / consultants as necessary.

By selecting, monitoring and improving the teams we should be able to consistently create fundable / acquireable startups. Should be fun.