In my last post I made sure you are ready for a change. Today, I’m going to show you how to be 10x programmer (I’m dead serious–10 times more effective than the average programmer). The first step is to shift your mindset.
Let’s do a thought exercise
Suppose we have two programmers who are both squared away. Each does small business programming in similar organizations.
Programmer A does exactly what’s he’s told. He’s a super talented coder. His code is beautiful. His assignments are done faster than anyone can imagine and the final product is always flawless. He regularly offers helpful suggestions for new features the users just love. And he can leap tall buildings in a single bound. You get the idea.
Programmer B is a decent programmer. She hasn’t kept up with the latest MVC frameworks but she knows her stuff. Her code is okay but no one would ever call it beautiful and she occasionally hacks a feature into the code base when she’s under time pressure.
Who’s the more valuable employee? Clearly, Programmer A. But what if we add one little detail to Programmer B’s description? Let’s try it.
Programmer B also thinks of the entire business as part of the same system. While Programmer A is busy optimizing the crap out of his application, Programmer B is trying to help optimize the whole business.
Now who’s the more valuable employee?
What changes when you start trying to optimize the whole business?
Everything. It changes the way you define your role in your company, it changes your priorities, and it opens up a whole world of possible ways you can help your company succeed. You could become a 10x programmer!
Because of the nature of small business programming, you actually have the opportunity to identify, pitch, and implement very high value ideas. And then see how they effect the direction of your company. Good luck doing the same thing at IBM.
Most small businesses are overflowing with opportunities (many of them unidentified) but they chronically lack resources, often in the form of skilled employees, to turn those opportunities into reality.
You have to find the area where you can add the most value to become a 10x programmer
I’m going to assume you’re a competent programmer. This means that you probably have the following skills:
- problem solving
- learning mindset
You’ll generate the most value when you combine your programming skills with another functional area of your business. You don’t have to be an expert at the other functional area but you have to ‘know enough’ to talk to the people who are experts at your company and find ways to apply your programming skills to some problem or opportunity in their functional area. In many cases, you can ‘know enough’ by reading a book on that area.
Some of my biggest impacts have come from combining multiple functional areas.
Examples from my journey to becoming a 10x programmer
I took my programming skills and added:
- machine learning + GIS = predictive model we used to land a big client
- stats + data analysis = sales reports that helped us segment our market, focus our business, and provide increased situational awareness
- managerial accounting = contribution margin calculations for every product we sell, dropped unprofitable products, stocked more of the most profitable products, and optimized prices, all of which helped us double our profits
- pricing = optimized pricing for each segment
- contribution margin + too much stock + marketing = data-driven price reductions and a promotional campaign to sell our excess stock at the price that maximized our profit
- managerial accounting + deep knowledge of our business = demand forecasts matched to product orders so we ensure we have enough stock to sell
- marketing + copywriting = very profitable landing pages, higher conversion rates
- A/B testing = a home page with a significantly increased conversion rate
- google maps API + open source data = map of trees in my city, which we used to find trees to photograph for our website product photos
- marketing + adwords = hugely successful adwords campaign
These are some of the things I’ve worked on in the last couple of years (in addition to my normal programming duties). Several of these projects have changed the course of our company and helped us triple in size in just five years.
What’s the takeaway?
I’m a decent programmer. But there’s no way I could pulled off these projects on my own. And there’s no way the people I collaborated with from other functional areas of our company could have executed these projects on their own. They had ideas but they didn’t have the programming skills to bring them to life. So we created value by forming cross-functional collaborations.
I’m going to do individual in-depth posts on some of these projects in the future. But for now, I just want you to start thinking about what might be possible for you in your job. What if you teamed up with accounting, marketing, finance, sales, HR, or operations? What’s their biggest pain point? What opportunities would they pursue if they had a little help from a good programmer?
If you start to view your whole company as fair game for optimization, you’ll open the door to becoming a 10x programmer. You’ll find the place where your effort will have the most effect and you’ll focus on maximizing the value of your contribution to your company. Doing this consistently will make you an extremely valuable employee (with cash and rewards to follow).
In my next post I’ll show you how to identify and prioritize your opportunities. Stay tuned.