Wednesday, November 28, 2012

Biting the Bullet and Learning How to Program


Sometimes impatience can be a virtue in its own right. Simply put, being impatient is one of the best catalysts for taking action that wouldn't normally be that urgent.

After four plus years of working in the tech space in one form or another (web design, iOS development, enterprise software etc.)-and always being on the biz dev/marketing/sales side of the equation-I've gradually moved closer and closer to the conclusion I reached several weeks back: I need to learn to program.

Startup people usually fall into two buckets: builders and sellers. But in the early stages of a startup (read: prospective company), marketing and sales just don't matter. If you are a non-technical, business-oriented founder, its really easy to convince yourself otherwise. You can spend a lot of time working on the periphery of what actually matters-building decks, designing logos, constructing product positioning. These things are still important and can ultimately make a big difference in how successful your startup is. But you can't put the cart before the horse until you've determined you're building something people actually want.

Steve Blank defines a startup as "a temporary organization designed to search for a repeatable and scalable business model". In other words, a small group solely dedicated to running back-to-back experiments until they find something that works. In my mind, I picture a team of oil drillers in a dry desert. They pick a square piece of land (a space in the market) and start drilling holes all over kingdom come until they find some evidence that they should stay in that spot and keep drilling. The faster they can fail, the faster they can hit black gold, or in reality product/market fit.

Which brings us full circle: the only way to truly test whether you are building something people actually want is to put it in the hands of real people. Which means you have to build it. You. Have. To. Build. It.

Now this doesn't mean that you have to set out to become a full-stack software engineer. I know I will never reach that level and that's not my goal. The goal is to be able to build prototypes that people can touch and experience. I'm a seller by nature and always will be, but to be a better co-founder, I want to be a seller who can build. If you can put a team together of sellers who can build and builders who can sell, I believe you are exponentially increasing the chances that you can run enough experiments in a market to find a reason to keep drilling.

The process of converting yourself into more of a builder may seem really daunting at first. But if you are in the same boat I'm in, I would encourage you to look back at your time on the Internet over the years and you may know more about programming than you think. I remember having a MySpace page a million years ago. I was unsatisfied with how it looked and remember trying to hack those ugly ass themes from one of those generators so it wouldn't look like complete shit. It was a bunch of trial and error-messing around with widths, divs and switching out images-but it was programming. Then during the web design days, I remember being impatient waiting for programming changes to get done, so I would log into cPanel, open various.html files and figure out how to make the change myself. It wasn't perfect, but it was programming. See where I am going with this?

I'm only 4 week into this process so I can't offer any advice as someone who has successfully crossed the coding chasm, but I can tell you what I've been doing and maybe you can give it a shot. My strategy has been two fold: 1) to build an actual iOS app using Xcode to get hands on coding experience and 2) read several books to gain a theoretical understanding of programming to anchor my learning.

Two books I've been reading are:

Practical Programming and Head First Programming which also uses Python as a baseline. As far as hands on programming, I've been working my way through the Xcode tutorials and Google's App Engine Tutorial. I'm pretty happy with the progress I've made so far and am hoping to have the app fully built by the end of the summer.

Repurposing Content For The Web - How To Reuse Your Old Content   Information Product Creation - Use Different Learning Modalities To Reach Your Target Audience   The Top Two Mistakes of First-Time Information Product Developers   How to Create a Three-Dimensional Product   How Gamification Can Turn Businesses Into Winners   



0 comments:

Post a Comment


Twitter Facebook Flickr RSS



Français Deutsch Italiano Português
Español 日本語 한국의 中国简体。