Saturday, May 28, 2011

Business for Programmers: Marketing Yourself with 10 steps

The nice thing about being in a start-up is that you work with marketers and salesmen close, and I had the pleasure of working with a fantastic marketer and superb salesmen. So, you may be wondering why a programmer needs to know anything about marketing?

Well, that's a good question. If you look at a business, then it breaks down into doing these four tasks:

Build Thing: Make a product/Offer a skill to service
Market: Find people that like said thing
Sell: Get money for said thing
Support: Make sure said thing survives customers

That's basically the entire understanding you need to understand business. If you can write a business plan in a page that addresses these four things, then you can build a business.

As a programmer, you are a business; ignorance of basic business fundamentals will own you in the future. You go to school or hack your projects out, and this will build your skill at building things. However, if you build something and no one uses it, then did you build anything?

Step 1: Have skills that fit the market
Do you have skills that you can market to companies? You need to have skills, and your product needs to fit the market. If you know COBOL, then you may want to upgrade to Java/.NET. If you know OCaml, then you may want to downgrade to Java/.NET. Learn PHP or Perl since it is a plague on web programming.

Step 2: Find a passion, pick you destiny
You need to be passionate about something, and you need to have an interest in computing. If you don't have passion, then you are not going to be a good product. This guide isn't going to be much help without passion. While you may be passionate about computing in general, you need to decide on one to build a career on. If you want to be a generalist, then you can free-lance or be a technical co-founder. If you want to be a specialist, then you need to find a company that needs that specialty.

Step 3: Join/start an open source project centered around your passion
Just get involved in the community or try to build your own. (a) it will help you network, (b) it will communicate your passions. Everyday, you need to be writing code on something.

Step 4: Have a github account
Make good code, and share it. I'll be honest, your resume compared to github is shit. Get something good on github that is tasty. Now, get 10 followers. Pick code to share is similar to the code you could stand writing for the rest of your life.

Step 5: Dedicate time to stackoverflow/quora/forums/linkedin/reddit
Make an effort to contribute/lurk every week. Scouring these sites gives you an idea about the entire market in two ways. It gives you an idea of your competition, and it gives you an idea about the current market conditions. Any site that clusters programmers is worth paying attention too.

Step 6: Build Karma on HN
If you don't have an HN account and consider yourself a hacker, then shame on you. You must be living in the cave. I get it; caves are fun. Now get an HN account and start contributing. Don't interject until you know you can add value to the conversation.

Step 7: Get over rejection
There is a new thing called rejection therapy, and I recommend it. I recommend buying some products and trying to sell it door to door, and you will understand the nature of sales. Understanding the nature of sales is critical to understanding the importance of marketing. You need volume.

Step 8: See the world as risk/reward and take bets.
Look at the newfangled shit that comes out of the industry. I remember betting badly against ruby due to it being stupid dynamically typed shit pie. I didn't take the risk on Ruby, and I lost out on the reward. There's a new thing now called node.js; is it worth the bet? I don't know, you decide.

Step 9: Put yourself in the business of your customers
The nature of programming is that the act is usually always helpful to someone. Who are you trying to help solve a problem? For who? You? Your Mom? Your friend's Mom? Your coworker? Your business partner? Before you can begin coding and solving problems, you need to know who you intend to help. If its just you, then fine. If it is your coworkers, then you should probably talk to them. Why do your customers need you? How do you make your customers more awesome?

Step 10: Meet people
We live in a new world where sites like meetup.com can trivialize the finding process. Everyone is looking to socialize with the right people. Once you find people. Don't fuck it up since that tends to make bitter people (i.e. you alone in your parents basement troll'n it up). Read "How to Win Friends and Influence People", and then try to apply the principles.

No comments:

Post a Comment