I’m three weeks into Hack Reactor and have gotten to the point where I can create some pretty cool web applications.  The first week was focused on core computer science curriculum like data structures, recursion and algorithms.  I learned more about coding in those seven days than I had in all of my previous programming experience.

Week two was a deeper dive into algorithms and inheritance patterns and an exploration of the emerging javascript framework D3.  I built my first web application using D3 technology, which you can check out here: http://colliderd3.herokuapp.com/.  What’s cool about this game is that it doesn’t use flash or any other third-party technology.  Everything you see is HTML5 and javascript.  D3 is a powerful javascript library for data visualization and my game doesn’t even touch the surface of what is possible.

Last week we spent most of our time learning Backbone.js, which is a javascript framework for structuring an application and providing server communication on the client side through a REST API.  Backbone enables lightening-fast user interaction with data so that elements in a collection can change without needing to reload the page.  Despite being a fairly new technology, some big players are using Backbone including Hulu, Foursquare, Khan Academy, Basecamp, AirBNB, Stripe, Pandora and ZocDoc.

Next week we are going to start diving into Node.js, servers and databases.

A lot of people have been asking me why I am leaving the venture capital world to begin a difficult and uncertain life as an entrepreneur.  It’s simple – I want to make awesome stuff.  I taught myself the basics of coding and was accepted into Hack Reactor, a coding bootcamp that runs 6 days per week and ~12 hours per day.

There are many reasons that I chose Hack Reactor over other bootcamps and a brief discussion of this topic is available on Quora.  The instructors were senior engineers at companies like Twitter and Google and are focused on teaching emerging web browser languages (javascript, jQuery, node, coffeescript, etc).  Most graduates become software engineers at leading tech companies and they have a near 100% placement rate.  Hack Reactor made headlines recently when a few current students set a world record for an algorithmmic challenge called the N-Queens problem.

I want to point out that Venture Capitalists are an essential component of the startup ecosystem and my departure from VC is due to the fact that I want to be a builder.  Without Venture Capitalists, early stage founders would have a much more difficult time raising funds, exits would be far fewer, and many of the most interesting tech companies would likely never have existed.

Maximize your SEO

October 25, 2012 — Leave a comment

Below is a brief summary of some quick checks to maximize your SEO (Search engine optimization) and is primarily focused on Google.  It’s a great idea to start your SEO journey with Google Webmaster Tools.

  1. The first decision is whether you want visitors to see www version or the non www version of your site?  Most large organizations keep the www version.  Once you’ve made this decision, be sure to use the 301 redirect to push people that go to your non-preferred site to your preferred site.  Reason to use 301 and not 302 is that 301 is a permanent redirect and is looked upon better by the search engines.  Verify ownership of your site with Webmaster Tools.  Email forwarding is a good idea so that the Google team can get in contact with you if there are any issues.
  2. Doing a background check on your site by looking at the keywords listed in the Google Webmaster Tools and if you don’t recognize a bunch of them, your site may have existed before.  This can be an issue if the previous owner was using your site to spam.
  3. The Fetch as Googlebot feature will perform a crawl for a url that you submit.  Can tell them not to just crawl, but to submit to index so that anytime you update or create an entirely new page, can trigger then entire crawling process and have available to searchers more quickly.
  4. Including analytics code even if you’re not ready to start using it.
  5. Define your conversion and what your goals are going to be.  For some, that may be getting visitors to sign up for the newsletter or buy the product being offered.  Others will want visitors to spread the word or contact a member of the team for further information.  Whatever the goal, make sure that relevant conversion is possible on every page of your site and don’t make users go through hurdles to convert.  General rule of thumb is that you lose at least 50% of your visitors for every additional click required to convert.
  6. Including relevant keywords naturally in your text is going to make your site more searchable.  Consider using common language descriptions instead of sophisticated descriptions.  Maile uses the example of using the term ‘running shoes’ instead of ‘athletic footwear’ because that’s what people actually search for.
  7. Make sure your site loads quickly.  If it takes more than 2 seconds, people aren’t going to stick around.  I like to think that you lose ~10% of potential visitors with every half second it takes for your page to load after 1 second.  Most visitors will start thinking a site is broken and will click away at around 4 or 5 seconds to load.  Consider the chart below.
  8. Make sure to include unique topic, title, and meta descriptions.  Every link should have descriptive anchor text.  Never use ‘click here’.
  9. Check out your Google ranking for your Company name.  You can also take a look at how you rank for other terms through Webmaster Tools’ Search Queries.  http://goog.gl/VM31L
  10. Social media can be a great way to drive traffic to your site.  Sites like Reddit can generate a ton of interest in your products and can start generating buzz about your site.

You’ve likely read many times before about the importance of understanding your potential customers and correctly identifying key drivers for converting potential users to active users (most applicable in the case of consumer products).  Common wisdom is that targeting a widespread and diverse consumer base is the surest path to success, as the bigger your target market the more potential users you have.  However, spreading too wide of a net can be a costly mistake for many would-be entrepreneurs.  Many successful startups began with a targeted set of potential users and built a strong network effect before rolling out to broader markets.

A classic example is Facebook (at the time known as The Facebook), which began by targeting college students at Harvard.  Once Facebook hit a tipping point, nearly every student at Harvard was registered and an active user.  At this point, the founders decided to roll The Facebook out to several other Ivy League schools, but limited the target audience to students at these (3 or 4) Universities.  Even once Facebook was a clear hit amongst the college crowd, Facebook for years required a valid college email address to register.  They began with a focused target market and aimed for nearly complete saturation before expanding their crosshairs.  This resulted in several advantages.  First, competitors couldn’t gain a foothold in populations Facebook had already fully penetrated.  Second, Facebook was able to create a network effect (part of Eric Ries’ Lean Startup)within each niche market that they targeted, reinforcing the product and the value to its users.

Another example might be a consumer product that can be accessed via mobile phone in India.  Of India’s nearly 1.3 billion citizens, roughly 380 million live in urban settings spread across ~48 cities.  Nine of these have over 4 million people each and 6 of them – Delhi, Mumbai, Kolkata, Chennai, Bangalore and Pune – are expecting to grow to over 10 million each in the next 15 years.  Instead of trying to target India’s population as a whole (or focus any efforts on the rural population), the startup in this example could focus on dominating one of the key urban centers (where people are much more likely to have mobile phones that can access the web) and begin rolling their solution out to other cities once a tipping point / critical mass is achieved.
Geography doesn’t have to be the basis for determining the initial target customer base.  Often targeting a specific niche within a broader set and growing increasingly general with each customer iteration is a great strategy.  For example, a consumer device that could be useful to anyone that exercises at least a couple of times a month could be initially targeted at hardcore marathon runners and distributed at events catering to ultra-athletes.  Once it has achieved success within that small population, it will have essentially gained endorsement by those at the top and could next be targeted to casual half-marathon and full marathon runners (the next level down from ultra-marathon runners).  Next could be club athletes followed by casual after-work sports organizations.  Eventually the device would travel simply by word of mouth having achieved the endorsement of all serious athletes and the admiration of those that want to be more like the elites.
No matter what strategy you chose, having a specific and identifiable market is essential to your startup’s success.

Many new entrepreneurs, especially those located in Silicon Valley / Bay Area, are drawn to the allure of consumer focused startups.  It’s easier for entrepreneurs (particularly ones with little business experience) to imagine using consumer products and they are typically simpler to design.  In addition, consumer focused Minimum Viable Products (Eric Ries’ The Lean Startup) can be enough to draw widespread attention from target customers and news feeds like TechCrunch or PandoDaily.

Enterprise focused startups are a tremendous opportunity because 1. there are fewer competitors and 2. most enterprise customers are already paying for a legacy product that is likely not web-based (SaaS).  According to Jim Goetz of Sequoia Capital, “Enterprise remains an ‘enormous opportunity’ because companies are spending  about $500 billion a year with legacy enterprise companies and those budgets are  ripe for the plucking.”

Consumer based startups may go from zero users to 100 million users virtually overnight only to fizzle out when interest wanes.  Most never figure out how to make money and have a tough time raising funds.  Enterprise startups, on the other hand, take longer to get going but have a clearer growth trajectory with real revenue.  Most venture capital firms prefer to back enterprise startups because there is a more manageable growth trajectory and usually a more lucrative exit.

Yammer, Workday, Box, Cloudera, Lithium Technologies and Nicira are a few examples of recent enterprise successes.

Jacques Mattheij posted a great article today that orders the complexity of ‘programming’ tasks by least difficult (0) to most difficult (27).  Can see from this list that most people can really only get up to 4, professionals that deal with complex systems every day can typically get up to 8 or 9 and anything past 11 requires intimate knowledge of coding.

What I found particularly interesting in this post is that the author ranked ‘spreadsheets with simple formulas’ as being more difficult than ‘static websites, html & basic css’.  I guess that means all of us business folks really don’t have an excuse for not knowing how to make a basic website.  There are some really great resources available these days to learn the basics of web design from CodecademyTeamTreeHouse, and others.

This blogpost from Shopify gets me super fired up.  It’s an aggregation of TED Talks that have direct relevance for entrepreneurs and startups.  TED, for those that don’t know, is an annual conference that brings together the world’s most interesting minds and challenges them to give the talk of their lives in under 18 minutes.

Over 900 of these talks and performance are available for free to the general public on TED.com and many are relevant for entrepreneurs.  Mark Hayes at Shopify pulled together 12 of the ones he felt were most directly relevant for internet startups.

One of my favorites is a speech given by Simon Sinek about why people make purchasing decisions and how to lead effectively.

Memorable quotes include:

“People don’t buy what you do, they buy why you do it.”

“If you talk about what you believe, you will attract those who believe what you believe.”

“What you do proves what you believe and people will do the things that prove what they believe.”

Simon Sinek: How great leaders inspire action

If you learn to program you’ll have a superior sense of the true cost of software development and will be a much more successful non-technical cofounder.  The most precious resource is time and many non-technical cofounders get tripped up by a false sense of how long things should take to implement.  Learning to code has never been easier and you can check out my earlier post on how to get started.

Business cofounders shouldn’t get lured into thinking that they don’t need technical skills when looking at the CEOs of multi-billion dollar tech companies.  Guys like Zuckerberg, Bezos, Steve Jobs and Bill Gates all started out with a solid foundation of technical knowledge, which contributed to development efficiency.

This article from Rob Spectre over at Fast Company points out that Donald Trump’s success is the result of his knowing the costs associated with real estate development better than any of his competitors.  In the end, running a successful startup is about out competing your competition in the pursuit of limited resources: funding, advice, talented engineers, time, etc.  Having a basic understanding of coding makes entrepreneurs better competitors.

Value of Time

July 18, 2012 — Leave a comment

Jack Groetzinger, the founder of SeatGeek wrote an article today that puts a unique spin on the cost-cutting focus of many startups.  Many founders focused on running a lean startup are focused on minimizing what they view as excess expenditures and, as a result, effectively value their time at $0 / per hour.

For example, if it takes me an hour to get somewhere by bus for $5 and 30 minutes to get somewhere by train for $10, I only save $5 in that half hour by choosing the bus.  If my time is worth more than $10 / hour to me (which it is), I maximize my value to my startup by taking the train.

However, it is tough to put a dollar amount on intangibles associated with this decision.  For instance, I may choose the bus if the bus better exposes me to other entrepreneurs  traveling from Palo Alto to San Francisco that might help my business.

A smart entrepreneur will estimate what their time is worth and the non-dollar impact of their choices and make decisions that maximize their value.

Jack’s full article can be found here.

Learning To Code

July 15, 2012 — 2 Comments

If you’ve never coded before, have no fear.  While it’s possible to start a tech business without any coding / web development background, putting some effort into learning the basics will pay dividends in getting your engineers to respect and follow you.  One of the easiest ways to get started is to take an online course, such as the one offered by Codecademy.  This will teach you web programming basics such as HTML, JavaScript and CSS to help you build interactive websites.  This is an amazing tool to get you on your feet quickly, especially if you have no programming experience.

Back-end Frameworks: Once you’re done with Codecademy, you’ll have the basics of front-end web development.  At this point you may want to learn a bit about back-end frameworks like Ruby on Rails or Django (Python).  The debate between whether to learn Python or Ruby is a heated one and you really can’t go wrong with either.  There’s a great thread on this topic on Quora.  At this point in your coding career, I would stay away from languages like PHP and Java given the time required to get up to speed and develop anything useful.

If you elect to learn Ruby, TryRuby is a great introduction to the Ruby programming language and can be accessed from your web browser (doesn’t require any installation).  This is pretty lightweight and will give you a sense for how the Ruby language functions.  Once you’ve gotten through TryRuby, you’re likely ready to dive deeper by following a Ruby on Rails tutorial.  Getting the Ruby on Rails framework up-and-running on your computer will be one of your hardest tasks and is easier on a Mac.  A great tutorial is Michael Hartl’s Ruby on Rails Tutorial.  Whenever you get stuck, you’ll be able to find solutions to your problems using Google since Ruby has one of the most active communities of any programming language.

For those that elect to go with Django, many tutorials exist.  Python has been popular for longer than Ruby and, as a result, there is a ton of information out there.  Most of the computer science departments at major universities teach Python, so taking an online class like the one currently being offered by Udacity, is a great option.  There are so many online course options available that I’ll post a separate dedicated thread later.

Mobile

When you want to begin building mobile applications (i.e. for the iPhone), this is easiest with a Mac and can be done using the iOS development tool Xcode.  There’s a great post on this on Udemy, so I won’t go into it here.  To program a native mobile app (as opposed to a web-based mobile website), you’ll have to dabble in Objective-C (Cocoa) or something similar (like RubyMotion).

Conclusion

If you want to be in the startup world, but think of yourself as a business cofounder, you’ll have to know something about programming to command any respect from your engineers.  You’re unlikely to get much traction with the tech community or in finding a technical cofounder if you have no technical knowledge.  The best way to learn to code is to do some of the tutorials suggested above and then create something for yourself.  It’ll be painful, but building yourself a tool will increase your credibility and give you confidence in your ability to understand the technical side of things.