Filepicker.io helps developers connect to their users' content.

Connect your web/mobile application to Dropbox, Gmail, Facebook, et al. plus dragdrop, image conversion, and upload acceleration. Visit: www.filepicker.io

What hackers don’t know about business

The hackers in the valley have managed to convince all the business majors that learning to code is important; Coding is a prerequisite for communicating with your programmers or to attract a good technical co-founder. At Filepicker.io, we have found ourselves debating about this quite often.

However, I also want to argue the reverse, that hackers need to understand business. Here are three common mistakes I’ve seen engineers make when running a company.

1. Not understanding that somethings are just not possible

Business has their fair share of economically intractable problems. Just as you can reduce all NP hard problems to 3-SAT, all business problems boil down to this:
If it costs you more to get a customer then you can possible make from them, your business is going to fail.

Given that investors and business majors deal with these concepts day in and day out, they have special terms:
COCA - Cost of customer acquisition.
This is how much effort it takes to acquire a customer.
LTV - Lifetime Value.
This is the total possible revenue you can get from each customer, long term. (The integral from 0 to infinity, for the nerds out there.)

Thus the following must be true:
COCA < LTV

2. Not understanding the differences:

While one would be mocked for thinking that front-end, database, and ops are all the same, many in the software community don’t understand the differences between Marketing, Distribution, Sales, or Business Development.

Marketing is about getting the word out.
Think about ads and blog posts.
Distribution is about your product in the hands of customers.
Examples would be attending hackathons to have developers try it out or building libraries for easy integrations.
Sales is distribution, but with more hand holding.
This is where you have meetings to discuss requirements, write spec sheets, and generate some kind of return on investment analysis
Business Development is partnerships with other organizations and Mergers and Acquisitions.

3. Not understanding the design patterns; using business antipatterns.

Just as there are software design patterns, there are also business patterns.

If you are selling to large organizations, your focus should be on sales.
This is because large companies require hand holding before they’ll sign a contract. Spending on billboards or adwords won’t do you any good. Since your COCA is going to be high, you better be making a lot per sale.

When you are hiring, look for someone who has sold million dollar software contracts before; they’ll understand corporate culture, RFPs, and how to convince a CTO/CIO and manage other stakeholders in the buying process.

For selling to smaller businesses or independent developers, spend on marketing and distribution.
The amount of revenue, LTV, from each individual customer is fairly low. Therefore, the COCA has to remain low. A large sales organization will burden you with costs. Thus, you want as many as possible and you need it to scale. Someone who has been successful with word of mouth campaigns, can present at hackathons, and manage your Twitter stream will serve you well.

For B2C organizations, where you may or may not be selling anything at all, distribution is king.
You need to get your product into the hands of the masses and make them love you. In content heavy B2C businesses, business development will help you secure the right partnerships to enhance the product and distribution. Other than that I’ve done very little with this, but I hear Voodoo magic helps. ;D

Based on our experiences at Filepicker.io we learned that it is important to delineate the differences when planning initiatives that drive growth, the amount of resources needed and the profile of team members required to drive the initiatives.

Discussion on Hackernews