You’re going to die. Before you do, you probably want to achieve certain milestones, personal and professional, physical, emotional, financial. There is a pressure to achieve everything your list. A culture of achievement and futuring provides the motivation.
But your list is a mile long, far greater in number than the lists of your parents, who were trained to focus on a core trade and stick to it, and to use it provide for a rich family life. The Internet has delivered an endless sea of talented people, expressing themselves through their art, and through that lens the potential and appetite to do great things approaches infinite. The supremely talented and the merely interested can find each other instantly, form groups, and inspire each other in their pursuit of their craft. But there’s just not enough time in a single human life to do it all.
I call it “talent panic”. With fast and cheap access to every human talent you could possibly imagine, it’s hard to settle on what your core talents could be, or will be. This can often lead to a cyclical pattern of skill acquisition, a buffet with too many choices. Bruce Lee wisely found focus, and became great at one thing. I wonder if he would take up other pursuits if he was born tomorrow.
Malcolm Gladwell’s Outliers is an economist’s view of human capability, and it will serve us well if we want to determine what skills we want to have, while we have a realistic chance of being healthy enough to enjoy and contribute to the world with them. In his book, Gladwell explains that 10,000 hours of practice is the minimum bar for mastery of a skill. I stumbled on a handy tool for projecting what that many hours looks like based on what you can commit to in daily practice, though the math is simple enough.
Here’s my list of skills that guarantees I have a real shot at achieving all of the goals I have for my life, along with the age I’ll achieve them based on my current ability to commit to practice (adjusted for parenthood and a balanced life). The other list of lifelong goals, for which these skills are required, will be highly personal to you.
1. Programming - ~17275 hours (achieved)
2. Writing - ~3250 hours (age 41)
3. Exercise - ~445 hours (age 53)
4. Acoustic guitar - ~725 hours (age 65)
5. Singing - ~ 940 hours (age 77)
6. Pixel art / drawing - ~ 60 hours (age 90)
Holding down a job, and avoiding work on the weekends, I can master a new talent in the cracks of my life every 12.79 years. Obviously, I cannot achieve everything I want with the time I have left, maybe half in my productive years. That’s not a bitter pill, it’s just the facts. If I didn’t have nearly direct access to so many incredible people sharing their talent, I probably would have a much narrower list of aspirations and inspirations. And I’ve already crossed one off the list. If I was born twenty years ago, there’s a chance I would have already “made it” in my own eyes. Being able to do anything on this list, or to even try, is an insane privilege.
One of my driving motivators for the last seven years, has been to create a revenue stream just large enough to obviate the need for a job. When I’m putting in long hours, it’s not because I have some incessant need for wealth or recognition, it really comes down to how much different the list above looks when the necessity of a career is off the table:
1. Programming - ~17275 hours (achieved)
2. Writing - ~3250 hours (age 36)
3. Exercise - ~445 hours (age 40)
4. Acoustic guitar - ~725 hours (age 45)
5. Singing - ~ 940 hours (age 49)
6. Pixel art / drawing - ~ 60 hours (age 54)
At a wage-earner’s pace of eight hours a day, five days a week, I can knock down one skill every 4.79 years!
This is, of course, the classic conundrum: do you spend all your health trying to achieve wealth (so that you can get more out of life), or do you quit while you’re ahead, skip ahead to what you’d be doing if you already had that freedom, and cash in on as much happiness in the here and now as you can? Only you can answer that for yourself.
Skip ahead to the good parts of what you want to achieve in your life, to the milestones and the moments you want to create, calculate how much daily effort it’s going to take to guarantee those achievements—as much as a random chance susceptible human can, and then settle in for the long haul. Because this is your life.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
When I was safely wrapped in the warm blanket of inexperience, I used to hear people talk cleverly about the “fear of success”. It’s this bizarre concept that some people stop themselves from doing what it takes to succeed, because they are subconsciously unprepared for the consequences, for suddenly having enough.
From the perspective of someone who hadn’t launched a product before, this concept didn’t sit well with me at all. I held the same skepticism for it as the “if you’re rich, you’re not happy, you just have different problems” belief.
Now that I have (just barely) joined the ranks of shipping entrepreneurs, I still don’t believe in the “fear of success”, but for vastly different reasons. I don’t believe it exists because it is truly only a synonym for the fear of new failure—a fear of untested experience.
Our culturally accepted story arc of human achievement moves from inexperience, through learning, over perservance, and into the embrace of success. And then the credits roll. But if you’ve ever wondered how a happy Hollywood ending really ends ten years down the line, that’s where the seed of this new fear is buried.
What’s missing is that immediately after your technical skills carry you over the finish line and you ship a product, your most practiced skills can’t help you anymore. You can’t engineer your way to something people want if you’re on the wrong path to begin with. But you can fail in a whole new myriad of ways: no customers, the wrong customers, the wrong product, the wrong price, the wrong time, the wrong marketing, and the list goes on.
But it’s still failing. It’s not as if you have an elephant-and-mouse relationship with money, freedom, and satisfaction. You just have a bigger boss to fight. The fear of success is not being able to predict continued success, coupled with the hesitation or unwillingness to start over.
Recognizing that you have crossed the line between what you’re good at and what you’re not, and your willingness to take that challenge on, is what defines your response to the fear of success.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
In the aftermath of the season of resolutions we like to make bold commitments to ourselves, except that they aren’t bold and they aren’t commitments.
They aren’t bold, because they are the same things we hope for ourselves, secretly, constantly, when we are alone. We drag them out each year and put them on display: our best selves.
They aren’t commitments because they rarely happen. The act of public wishing does not guarantee anything. We know this, but we try anyway, and we get pumped up and even do the thing for a little while, and feel great as we make progress.
But then something funny happens. One day we wake up and look at the clock and it’s 5AM and it’s forty below zero (depending where you live) and we don’t feel like going to the gym. It’s a real tragedy. All those hopes, but we just couldn’t make it all the way. We ran out of feeling like it. Then we ask questions like “Why is it so hard to do the things we truly want to do?” and wonder what’s wrong with us inside that we can’t sustain our motivation.
If you’re following along and not laughing at how ridiculous this story is, it’s because it is so deeply woven into our cultural bias towards comfort. The little secret buried here is that you don’t have to feel like doing something, to do it. In fact, chances are, unless you are pumped up on holiday enthusiasm, an inspiring movie, the thrill of a new idea, you will definitely not feel like it when the time comes to actually do it.
And that’s all there is to the big myth about destiny: you don’t feel like doing the things you have to do to get what you want. Pretty much never.
But this isn’t the same thing as that “suck it up” mentality, it’s much lighter than that. When you “suck it up”, you have to pull “feel like it” from somewhere else, somewhere we like to call “will power”. But that is destined to fail, because it too is an effort. Sooner or later we aren’t going to feel like “sucking it up” anymore.
To have this be effortless requires just a subtle shift in thinking. “I don’t feel like going to the gym, but that’s okay, because I don’t have to feel like it to go.”
When you look at someone more successful than you are right now, you don’t have to ask “What do they have that I don’t have?” or feel resentful, poking holes in their personality along the way. Because you know there is very little difference. There is only one difference. That person does things they don’t feel like doing all the time, and you (currently) don’t.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
I read the post of a young man, much like myself, who is lamenting his addiction to idea creation, to finding more satisfaction living in the possibilities of new projects than in the reality of building them. He has a lot of domain names, because he believes the thrill of it is in the beginning.
That fact that we don’t hear more stories like these is only because few people have the courage to stand out in this way, especially when we commonly hold on to beliefs that we aren’t good enough, such as we are.
First, a swift jolt of deprogramming, to lift us out of this state of mind. Read “We Are The 99% Of Startups”. Read “Fuck Glory - Startups are One Long Con”. Try to laugh, just a little bit, at all this pageantry over flipping bits around.
The thrill of it, truly, is in the completing. Because coming from a place of completion, we get to do all the things we’re afraid we should be doing, but aren’t. Because anything other than completing, whatever we do to try to replace that place of true privilege (like conferences, schmoozing, new web sites, marketing spends, et al.), is just stealing from our own future.
Channeling Anne Lamott, programming is just one damn line of code after another.
So, Sean, you are the intervention. Not this made up version of you that has to have certain things about your art be true, to be happy. The you right now. So pick one of your ideas out of a hat, and work on it, not in a frenzied pace where you stare at the clock like you’re missing the party. Just work on it, slowly, until it’s done. Then do the next one.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
Imagine you are standing on one side of a football field. You start running towards the other end, and depending on how many times you’ve done this before, you feel pain, or fatigue, or burning in your lungs. Or perhaps just the sheer pleasure of feeling warm wind in your face. When you reach the other side, you are finished.
Now, run the same field, but this time, be an ant. Run over the mountainous pebbles, through the oceanic puddles, frantically over this giant world. It seems like the earth could swallow you up at any moment. But it doesn’t, and you wouldn’t notice if it could, because you’re an ant. Your gaze never leaves the ground, you’re just looking at one thing after another as your legs push you toward the end. But you don’t have a temporal lobe, so you wouldn’t know the end when you got there.
The distance between good and great software is always the same. It’s the same football field. What’s different is how big you feel, and what you’re paying attention to along the way.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
There are some in our world whose work is truly inspired. When they launch a new project nonchalantly from their pixel-perfect blog, communities form up around the intellectual scraps.
This is the domain of the Gentleman Coder, a term I stole from a colleague, while I was trying to convince him that it’s not a great idea to take a few days off a project that’s meant to provide him a living, to pursue a smaller, impressive, but wholly unprofitable idea he had in tandem, no doubt during a period of mental exhaustion. These ideas are the kind that usually appear when we’re spending our time in the details of an idea already explored, already mined for excitement, going through the motions until it is manifest. The fact that you still have these ideas is healthy.
A Gentleman Coder is anyone who creates software for enjoyment, simply because they can. They have already secured enough revenue to live well, and are now curiously, happily exploring the love of their craft without financial or time constraints.
It’s good to have heroes to look into, but following along is problematic if you look up to them. It’s healthy to have role models, but by following heroes who have already taken their chips off the table, it’s easy to mentally skip over the part that defined them. It’s the same part that stares you in the face now, when time is at a premium, and your idea has made the transition from excitement to work. As a builder, you will gravitate many multiples of times to interesting problems that you can solve elegantly while moving towards your goals. The trick is to avoid them.
The point is that all success looks effortless after the fact. Taking time away from your hard work to pursue an intellectually exciting side project can seem cathartic, almost as if you are walking in the footsteps of giants, creating useful, beautiful open source software for the masses, but it’s really stealing from your own future; the future where you’ve put the time in, and can now emulate the folks who have reached the rare position that they can code purely for enjoyment and intellectual pursuit.
At least know the difference. If you would rather keep your side projects for mental stimulation and relaxation, without attaching commercial aspirations and the resulting stress, then you are setting yourself up for achieving the kind of happiness that can live with a day job, and seeks to avoid gambling free time for a potential future where there’s more of it. Kudos.
If you’re seeking freedom from a corporate lifestyle, changing the world in your own small way with software, or acquiring islands, understand that when you see thoughtful, unrushed work, it is the culmination of either a career-sized helping of perseverance that preceded it, or a mindframe that runs perpendicular to your own. When you can recognize The Gentleman Coder in both of its forms, and your desire to pretend now what you may earn later, you may not be tempted to live in your future, choosing instead to do the thing in front of you.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
This one is short. Stop spending so much money chasing your tail, or a dream. If you’re anything like me, you have these sudden, pivotal shifts in inspiration that convince you that this is the idea, and this is the [consultant / designer / component / service] that’s going to make all the difference.
It isn’t. It’s not. The idea you were already working on was plenty good enough for now. You create a non-virtuous circle of resource waste when you put your money down on a new idea. First, your mental machinery has to justify the purchase, so whatever you might have been working on beforehand will temporarily take a back seat while your brain injects itself with reassurance that the purchase was sound, in the form of false enthusiasm. When the inspiration for your “next big thing” wanes, your brain will then counter the original rush with guilt about betraying what you already planned.
The things I’ve worked hardest on, and am proudest of, have all come from the least of my investments. I don’t think that’s hard to wrap your head around. An idea, like people, can be born with “a silver spoon in its mouth”.
The trick is to always know that the new thing is suspect. The new thing can’t prove itself with the false priority of purchased time and attention. If the new thing wants to stick around and replace the old thing, it better be able to do it without spending a dime. That should be the litmus test. Otherwise, it’s just your engineer’s spirit, not a legitimate alternative. It should be respected, thanked, and shown the door.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
We’re often told to fixate on the end result, so that we produce the effort required right now to achieve it. “Keep your eyes on the prize” makes tigers of us all. But the problem with this approach is that we don’t recognize that without already possessing a concrete plan, and the necessary motivation, the strategy fails. In fact, “keep your eyes on the prize” is essentially a nonsense phrase, because you can only use it effectively when you don’t actually need the advice it contains.
We don’t see it that way, most of the time. Consider the overweight person who keeps their eyes peeled on the body they don’t have today. Possessing no plan other than fervent hoping, keeping their eyes on the prize only increases the anxiety of having to live in a present moment, with their present stature.
And that’s exactly how we approach the side project that is meant to set us free, however we define freedom. Just think about what it will be like when you launch, when first sales come through, when you resign from your day job. Don’t actually have a plan to achieve it, just spend the time, eventually it will happen if you’re smart, determined, and lucky enough. We mistake “I’m going to work on this every night and weekend” with “I have a plan”.
Instead, I suggest you take your eyes off the prize, and focus on the process. I keep returning to the idea that simplicity isn’t about removal, it’s about automation. A true plan involves setting your days up so that it’s impossible to fail. So that you are the kind of person that will bring your project home, not just the kind of person who will work on it. There’s very little in common between working on something, and actually finishing it. About the easiest thing I can think of is working on something forever. I know because I’ve done it.
If you’re confused at this point about the difference between a true process and plan, and expending effort, you can start with the smallest process: flossing. Flossing is a great example because it’s one of the things in life that you’re told you’re supposed to do, that you don’t see immediate benefits from doing, and in fact you will notice no positive results from doing it at all, if you’re doing it right.
You’re only flossing to avoid some vague but painful possibility at some far future date. The reason most people don’t floss is that most people do not possess the vital skill of developing a process (daily flossing) that guarantees a desirable outcome (not losing your teeth) even when there is no immediate or even mid-term tangible benefit.
The distinction is this: the “prize” of good oral health is so far away from grinding it out each evening in the mirror that it’s not worth focusing on. The only thing that matters is the process, the automatic habit, that you’ve set up to guarantee that you’ll achieve the result.
You win when you can identify the daily processes that, when repeated, will get you the prize, and then work to make those automatic. The rest is details. You can start by flossing.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
You really can, and do, get bored of your own ideas. Even your best ones. Many times the sheer act of expending effort on a great idea is enough to kill it. It’s okay. But you need to hack the mental system in any way you can, or you’re going to walk off the set of one of your projects, even if it’s a good part of the way there (80% done, 20% complete). I’ve already done this. I’ll have lots to write about that later.
Be interested to begin with
I was fortunate to have the chance to meet and speak with Ruben Gamez, creator of Bidsketch, quite accidentally while attending Superconf. Ruben is a true code soloist, having built a profitable, useful, and thoughtful service as a solo developer. Before Ruben found the persinpiration (inspiration to perspire) to launch Bidsketch, he built a testing management tool, reached 75% completion, and then dropped it in the can because his mind was bleeding from boredom; during the discomfort, he planted a seed for an idea he could stay interested in, and brought it home.
Inject help when it hurts
Don’t think for a second that being a code soloist means you do everything, all the time. Well timed help can dig you out of a hole you’d otherwise spend long enough in to question why you started in the first place. If you’re still feeling the love but you’re buried under the details of finishing, hire out. This isn’t cheating, chefs don’t wash their own dishes.
Allow for a wandering mind
You need to scratch your mental itch. I used to think this was a bad idea, that a wandering mind was symptomatic of an inborn inability to ship product. But that’s not true. It comes from loving the energy of the start, a technologist’s “runners high”, a cocktail of oxygen, anxiety, and hope. Use that feeling as a litmus test for the project you’re running with. If you don’t feel it on a weekly basis, you’re probably setting course for a creative burnout.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.
Here are two concepts that have risen, seemingly in opposition, in the last two years in product-focused business engineering, specifically for soloists of all trades:
1. Do what’s in your DNA and avoid everything else. Follow your passion.
This is most definitely the mantra in Gary Vaynerchuk’s first book “Crush It!”, and his many talks leading up to that release. The thinking is, passion sustains the motivation to relentlessly pursue building a self-central brand that eventually leads to profit, maybe. If it doesn’t, maybe you aren’t passionate enough or maybe you’re not truly listening to your DNA (which I’m taking to mean your specific skillset within a narrow band of digital media, which boils down to whether you develop content for video, audio, or written channels).
2. Do what will bring a profit. Don’t follow your passion.
Most eloquently captured by Amy Hoy’s latest product development blog “Unicorn Free”, this strategy means to circumvent the passion argument to avoid burn out and to help you navigate the many unpleasant aspects of turning something you love into a business. You start by mentally picturing a passion you have as a real business, amplifying the discomfort of the downsides until the only things left are the specific interactions in the business that you would still enjoy. You weigh your unhappiness dealing with the balance of this fictional business against its true potential of making money.
While these ideas are useful as lenses, both require you to trade on happiness. There’s money, and there’s happiness, and you have to either cling to money and accept misery, or cling to a false form of happiness that promises money, and if the money doesn’t follow, will make you miserable.
Better might be to take happiness off the table completely. If you don’t play that card, you can’t lose it to luck, timing, or poor judgement. Happiness is too important to risk simply for the chance that your financial success might produce more of it. Misery has never guaranteed success, and never will. You don’t win by sacrificing more, or being more uncomfortable than your competition.
How do you get to keep your happiness while still progressing towards some tangible result that has commercial viability? Go slower. Build what makes you happy, without thinking about the financial implications. Really. If you get lost in the possibility of profit then you’re doing the wrong project.
A big part of this is doing the work you need to, to understand that somewhere along the line you decided to use money as a proxy for your happiness, and placed all of it on the other side of having a lot of money.
Happiness doesn’t guarantee success any more than misery does, but at least you can fail with your happiness intact. And like any delicious paradox, truly inspired creation sticks out on the shelf.
Code Soloist is for single-person software development companies that are trying to start something big with their bare hands. In it, I try to impart whatever I’ve learned, for better or worse, doing the same thing badly.