BLOG Entrepreneurship

When Code Should Suck

When Code Should Suck

My ego tells me that anything I create should always be of the highest quality. As a developer, that means, I need to use the latest hottest technology and the most sophisticated framework.  How dare I write PHP spaghetti code when I have Ruby on Rails or Spring MVC to choose from?

If you are a consultant or enterprise software engineer then yes, your goal should always be to write clean and cutting edge code.  As a technologist, your reputation depends on it.  But when you are an entrepreneur, how do you reconcile this with minimizing up-front risk and pivoting?  These are completely juxtaposed prerogatives that need to be reconciled.

I’ve personally witnessed on a couple occasions and lived through others, where proper use of MVC and ORM frameworks made the need to pivot on successive iterations absolutely painful!  All that framework scaffolding really helps improve coding quality and cleanliness when the business rules are well defined and development proceeds in a straight line.  But entrepreneurship is often about learning what your market wants and responding to it.

Sometimes you’re even going in a completely backwards direction than you first anticipated, by the time you are done.  In cases like this, scaffolding is just more stuff for you to undo, it adds to the time and cost of pivoting.  And of course you’ll leave just that much more of a mess in your wake, increasing bugs, etc.  So, all of those goals that the framework facilitated, manifests the exact opposite conditions.  You have to love the irony.  So if there is any lesson here, it is that there is a right time and place for every tool.  And in my opinion its not only perfectly acceptable to write that taboo spaghetti code for early iteration entrepreneurship, it might actually be preferred. You can go back and write things the ‘right way’ later, once you have established what your business model actually is, and have the cashflow to properly justify it.

But too many developers will refuse to participate in this approach and condescend to anyone who partakes in it.  This is perhaps why the euphemism of the hacker and the hustler have emerge, to refer to the ideal startup team.  In both bases, you have a technologist and business development professional, but both are taking a balanced and pragmatic approach to the messy and often bootstrapped task of getting a business off the ground.   Classically trained MBAs and Software engineers might be scared or flat out unwilling to compromise their standards, for fear of compromising their skills and reputation.  To that I say, it is not until one stops thinking as a skilled professional and begins thinking as an entrepreneur, that one is actually engaged in entrepreneurship.

 

 

Technologist living in Los Angeles, California.

Twitter LinkedIn Google+