I’ve long been an extreme kayaker. I say extreme, but only as extreme as a whitewater kayaker from Texas can get. I’ve run a few of the easier class V rapids, and even been on a creek that had a helicopter rescue and a death the same day. But as my home life gets more demanding, I’ve done less and less paddling. I just can’t get out enough to stay sharp enough to do the stuff I really enjoy. I’ve never made the jump to paddling flat water. Until now.
I recently moved out to Lake Travis in Austin. We’re just a couple of minutes from a nice park, and we even have private access in our neighborhood. I’ve taken my whitewater boats out a couple of times, but it is too hard to get to the interesting places on the lake—the dam and the cliffs are a couple of miles away. That means I need to make a three hour commitment to get somewhere interesting with my wife and kids. Now, I can get faster by using paddles and boats made for flat water, but I’ve never considered the possibility that the combination of fitness and equipment could make enough of a difference. I’ve toyed with a sail boat, but you can’t sail if it’s too windy or not windy enough, and you still can’t go to the interesting places, like up the many creeks and up against the cliffs that my girls like to see. I really don’t want a power boat—I prefer manpower. So I’m out of luck, right?
The [Hobie Mirage Tandem kayak](http://www.hobiecat.com/kayaking/models_tandem.html) changed everything for me. I got my boat in yesterday. It’s got this strange pedal system that looks like seal flippers. It’s a very powerful, very efficient propulsion system that lets me go at more than twice the sustained speed, and cary two little girls at the same time. I’d bet I’m at least three times as efficient, and even more so over time. And here’s the interesting part. Throw on a sail, and I dramatically extend my reach again. Ppaddling upwind in a kayak is brutal, and working upwind is frustrating in boats with 1 sail, but this setup is sweet. Just sail 45 degrees off of the wind, and pedal through the tack to pick up the wind on the other side. Most kayaks slip sideways with a sail because there’s no dagger board. Not this boat. When it’s really blowing, I can put the pedals in the middle position, and they serve as a great dagger board (the board in the middle of the boat that points straight down, preventing sideslip). In lighter winds, I simply pedal and take advantage of the sail. I have my hands free.
So conventional wisdom with technology—manufacturing, semiconductor density, programming langauges, or frameworks—is that you can generally not pick up huge sustainable improvements. I used to believe that. But I’ve come to understand that attitude is rubbish.
Stop looking for tiny improvements
—————————————————
Look for multipliers. I’m serious. Take off the blinders. Those multipliers are everywhere. You just have to have the courage to take a stand. I’ll give you the top 3, but I’m just scratching the surface here.
Team size
=====
Want to supercharge your productivity? Go from large teams to small. Can’t find enough talent? Pay more. A lot more. Good developers are worth it. Top developers are just about 2-3 times as expensive as intermediate ones, but you can easily get 10X the productivity. Still can’t find enough talent? PAY YOUR TOP DEVELOPERS MORE THAN YOUR CTO. It really is that easy. If you hire the right guys and let them do what they do, you will:
- Reduce the size of your code base, reducing your costs.
- Reduce or eliminate communications bottlenecks, reducing your costs again.
- Reduce your bug total exponentially, reducing…you get the point.
- Estimate better and deliver earlier, getting a head start on the return on your projects.
- Improve your customer satisfaction.
I don’t know why stuffed white shirts believe that programmers are interchangeable resources. They’re not. Each one is a productivity engine. Pay the ones at the top, or the ones with the potential to get there, and train the hell out of them. They’re worth it.
Technology
==
Some frameworks are 10X as productive. [Seaside](http://www.seaside.st) is one. [RIFE](http://www.rifers.org) and [JMatter](http://jmatter.org) are two on the Java side that buck longstanding conventions to marvelous effect. If you don’t believe that frameworks can be multipliers, then you haven’t been paying attention.
I think that what people mean is this: a single idea rarely leads to more than an incremental improvement. But take many radical ideas and pile them one on top of another, and you can often multiply the effects. The thing is, tipping points mean making a small improvement can often lead to a chain reaction of larger ones. Say you’re Robo-Java-Developer, and you come from two departments of Uber-Java-Champions. You can bend Hibernate and full-stack web services to your will just by glaring at your tube. And you work on a project of 14 developers spread across two departments. Here’s the thing. If you’re just about 30% more productive, your two departments fold into one. You reduce your communications overhead substantially. You cut a whole level of management from your project, and save hours of meetings. You’re now getting into the realm where instant messaging becomes viable (because there’s less communication overhead.) Say eliminating all of this overhead allows you to remove still another person from the project.
Andy Hunt, one of my editors and the co-owner of the Pragmatic Bookshelf, one said that adding one comma to a book increased the length of the book by five pages. (think adding a page added to the index, toc, a chapter, and a facing page.) You’re looking for the same kind of impact, and in reverse.
Attitude
===
You can’t replace personal passion, but you can squash it. Make programming fun, and you’ll supercharge your productivity. Make your team fun, and you’ll have the same impact. It sounds trite, but it’s true.
I’m going to be working with Kirk Pepperdine to do some training in [Crete](http://cretesoft.com/courses/ruby.jsp) at less than you’d pay for training in the UK with many shops. I want to open learning channels that would otherwise be closed. I’m in early stages of discussing a similar paring of a white water or climbing excursion around Ruby on Rails education. I think there’s something to the idea of changing the mental state, and preparing it for learning by changing your surroundings.
And that’s just one way I’m looking for multipliers. An alternative means of propulsion.