A while ago, Alexey Komissarouk posted an article on TechCrunch proposing that founders should learn to code themselves — just as Foursquare founder Dennis Crowley did years ago. Shortly hereafter, Salim Virani also chimed in on this topic with some really valuable remarks. However, this should not mean for graduates from business schools or creative geniuses with a degree in design to spend hours and days desperately trying to get their head into Ruby on Rails before starting their web startups.
Although learning to code might sound fun and easy at first, learning to do it right is hard work, especially for non-techies. Truth is, Crowley not only got his master’s degree from Tisch’s Interactive Telecommunications Program (ITP), a two-year NYU master’s program that explores the imaginative uses of communications technologies, but before already spent some time at an Internet research firm and a tech start-up. He therefore might have already had some understanding of web software projects and programming before starting Dodgeball, the Foursquare successor bought by Google in 2005.
And even though I attended Java development courses at university and had solid experience with front-end development in XHTML, CSS and a bit of jQuery, I tried and failed to build working web application prototypes multiple times while relying on more or less amusing programming books and online tutorials. Only with the strong support of a friend I finally got into back-end development, but doubt it is worth the effort if you are not planning to get too serious about development in your future business.
Even if you manage to build your own prototype in lots of expensive hours, then you are still far away from efficiency and knowing best practices how to develop and set-up a rock solid environment. So if you are more passionate about business, product management or design than software engineering and development, better invest most of your valuable time in sharpening your product’s specification and design, target market and value proposition prior to actively starting and leave the real coding to others.