From programming to business: Lesson 0

When you ask people for tips in their area of expertise, they often gloss over the most basic things they do because, you know, it's obvious. They live and breathe this stuff, so it doesn't occur to them to call it out.

I've been a programmer since I was six, and some of these basics were the hardest to learn when I made the transition to being an entrepreneur.

Here are six of the most basic things I've learned to do differently in five years of entrepreneurship and two years of working on my business full-time.


1) Causality is a bitch


As engineers, the one thing we're used to is clear cause and effect relationships. We know that given enough time and effort, you can figure out exactly why a certain bug occurred or a piece of code does what it does.

In business, it is very rare that you can figure out the exact sequence of events that led to a lead being generated, or a customer buying a licence. You'll have a general idea, but that's about it.

Usually, the best you can hope for is statistical correlation between two events. This pre-supposes that you have a statistically significant volume of information to figure this out in the first place, which is not always true.

This blog post is an excellent example of my having made peace with fuzzy cause-effect relationships. Do I think this specific blog post will bring in more consulting work for C42, or significantly increase traffic to our products RubyMonk and Bevy? Probably not. But I do know from experience that blogging regularly has a net positive effect on lead generation, with occasional spikes that convert to game changing engagements for us.

You'll need to:
  • Accept that the real world doesn't aggressively manage complexity through abstraction. The real world is much harder to debug than a codebase.
  • Gather information when available and analyse it for correlations.
  • Accept that in the absence of hard data, you'll be heavily dependent on your intuition to make decisions.


2) Business is about people


Businesses exist to create value for someone. That someone is your customer.

However, we tend to focus on the customer to the exclusion of everyone else that contributes to the value creation process. Remember that guy you interviewed five years ago at your previous company? He enjoyed the experience and follows you on twitter. Last month, he sent a prospective customer your way.

There's no way you could have predicted this particular sequence of events up front.

Businesses often succeed because of a serendipitous series of connections between people. The acquaintance at a meetup that suggests a feature, the interviewee that thought you were unusually nice that recommended you to a VC, the colleague that actually wrote the code that makes your product go... all of these people contribute to your success in unpredictable ways. Not all of them have formal business relationships with you -  in fact most won't.

In other words - business networking, marketing and sales are very important. If, like me, you're an introvert and don't like meeting strangers, buckle down and get over it. If you're lucky, you'll eventually be able to hire someone to do some of it for you.

Incidentally, it's easy to go overboard with the whole networking thing. You'll learn to improve your assessment of people over time, and then start avoiding the leeches. No quick solution here, though.

You'll need to:
  • Be nice.
  • Meet more people.
  • Pay more attention to how happy your colleagues are working at your company.
  • Accept that a tiny percentage of the people you interact with today are going to help you achieve very important things in the future in ways you can't predict.
  • Understand reciprocity - the more value you create for people around you (including your colleagues), the more likely you are to have them create value for you in return.

3) Don't ignore sales and marketing


Sales and marketing aren't just customer facing activities. Every interaction you have with anyone that is business related is either a sales opportunity or a marketing opportunity. 

You're always working on creating a brand for your company, your products and yourself. Understand exactly what you're selling, to whom and pay attention to how they find out about your products and services. We did something similar for C42's consulting arm by figuring out how we would look for outsourced Rails consultants. We then used that information to figure out how to make ourselves more accessible to prospective clients.

You'll need to:
  • Study the basics of both subjects. Understand sales channels, market segmentation, cross-selling and up-selling.
  • Recognise that many seemingly internal activities like interviews are actually sales (you're selling the idea of working at your company to the candidate and everyone they speak to).
  • Understand that promoting your company is an ongoing activity that every employee is a part of.

4) Make yourself accountable


When you go from being a student or employee to a business owner, it's very easy to let it go to your head. This is especially true for solo founders and businesses that aren't at a point where they have a board to hold the founders accountable for performance.

Ensure that you're making yourself accountable to someone - having co-founders is a good way to do this. Maintaining a system of checks and balances is very important.

You'll need to:
  • Identify mature, experienced people who can give you candid feedback. It's even better if they're your colleagues. Favour a diverse group with people who have different priorities.
  • Keep evaluating your own performance. Constantly ask yourself if you'd hire someone who performed like you to replace yourself. You may be surprised at how often the answer is "No."

5) Get a To-do list


The thing with writing code is that you're most productive when you're in the zone. You go in for several hours, churn out code and then come out of it. Every interruption is to be avoided.

Here's the thing with a business: Your day is one long series of interruptions. Get used to it. Your colleagues and customers have a right to your time, so make sure you give it to them.

Your best friend in this situation is a ToDo list. Figure out what tools work best for you, but remember that if you don't track what you need to get done, it won't.

FWIW, I use a combination of email (basically 0 inbox), Trello and iCal (integrated with Google Calendar) to keep track of things.

You'll need to:
  • Get organized, set up some kind of system. Use tools to facilitate the system.
  • Set up your calendar, maintain it and share it with your colleagues.

6) You can't be good at everything


You've already spent 10,000 hours learning to be a good engineer. Now you have to spend another 10,000 hours learning to be good at business. What's more, business consists of many interrelated areas that you need to be aware of, and you can't be an expert on all of them.

You'll need to:
  • Start studying. Dip into subjects like accounting, economics, marketing, sales and finance.
  • Accept that you're not going to be an expert on any of these. You don't have the time.
  • Learn to hire the right people to handle areas of expertise that you need for your business. Then support them while do their job. Remember, they know it better than you do, so you need to trust them to get things done.
Post a Comment