Brian Gilham

Engineering leader, husband, and father

shipping

Walk Before You Run

You sit down to start your next project, full of energy and enthusiasm. You’re excited; starting something new is an opportunity to make something great. It starts out simple but, over time, grows into something unmanageable. You add a new feature here, a design tweak there. Until, eventually, your perfect little side project has become something else entirely. Later, with a huge list of tasks to complete and no sign of launching on the horizon, your energy fades.

You sit down to start your next project, full of energy and enthusiasm. You’re excited; starting something new is an opportunity to make something great. It starts out simple but, over time, grows into something unmanageable. You add a new feature here, a design tweak there. Until, eventually, your perfect little side project has become something else entirely.

Later, with a huge list of tasks to complete and no sign of launching on the horizon, your energy fades. You start getting frustrated. Working on your side project stops being fun. You aren’t learning anything new; you’re just trying to *finish* the damn thing.

We’ve all been there. It’s a struggle as old as time itself.

It’s a cycle of failure and, if you don’t change your approach, it’s one you’ll repeat over and over. Managing constraints, priorities, and scope is easy — when you’re at work. There are external pressures and expectations motivating you to get shit done. But when you’re working on a side project — when every decision is yours, and yours alone — you struggle.

Take a moment, right now, and think about why you failed to ship your last project. You might believe the problem was a lack of willpower, discipline, or motivation. You might think your idea, well, sucked. But there’s a good chance that wasn’t the problem at all. The problem was scope management.

You don’t become a master painter overnight. No, you start by painting something small. Taking some classes and learning the basics. *Practice, practice, practice.* The same principle applies to shipping your side projects. Once you successfully launch one small, manageable project, you can ramp up a little bit. Then, ramp up some more. Shipping is a skill that can be learned and practiced, like any other.

So start practicing.

Until next week,

-Brian


Crossing the Finish Line

Before I dive into this week’s article, I want to extend a warm welcome to everyone joining us for the first time. After Be Kind reached the top of Hacker News, the Monday Mailer grew by more than 600 subscribers – in less than 48 hours. I’m glad you’re here! Have you ever found yourself close to finishing a side project, only to become stymied by one last task you need to complete?

Before I dive into this week’s article, I want to extend a warm welcome to everyone joining us for the first time. After Be Kind reached the top of Hacker News, the Monday Mailer grew by more than 600 subscribers – in less than 48 hours. I’m glad you’re here!


Have you ever found yourself close to finishing a side project, only to become stymied by one last task you need to complete? You have to figure out how to integrate Stripe payments. Or you’re futzing around with the landing page design. You know you should just ship the damn thing but, for whatever reason, you can’t.

It feels like running the New York Marathon. Except when you near the finish line, there’s a brick wall in your way. At that point many of us give up and walk away, promising to do better next time. But the cycle continues. We start the next project full of energy. Then, as we near the finish line, we stall. Again.

I’m as guilty of it as anyone. Here’s a gem Facebook surfaced recently. 

Facebook Screenshot

I never did ship that project, by the way. If I had a nickel for every side project I’ve abandoned, I’d be living large right now.

Why do we allow ourselves to get so far, only to succumb to procrastination? 

Often, deep down, it’s because we’re afraid. Afraid of failure. Afraid of what our family and friends will think. Afraid that, if everything isn’t just perfect, we’ll have wasted our time. Afraid that we’ve built something nobody wants. It’s safer to keep fiddling around – secure in the knowledge that, as long as the project sits on our hard drive, we don’t have to risk anything. 

It’s self-sabotage. And, for those of us trying to do our best work, build an audience, and make an impact, it’s a habit we have to break.

A lot of times people fall into this pattern because they put the concept of “Launch Day” on a pedestal. They think they get one shot to reach a huge number of people and impress them. They’re not only wrong – they’re limiting their audience

When I started working on Chronicons, my icon set for Apple Watch apps, I took the opposite approach. Instead of hiding it away from prying eyes, I shared what I was doing as often as possible. I wrote about it on my blog, posted updates on Twitter, and solicited feedback on Dribbble. I got valuable comments and advice from designers around the world and built up an audience of people who couldn’t wait to buy from me. And they stuck around once the launch had come and gone! It’s a process I’ve repeated a few times since, with similar results. 

I won’t lie – it’s hard to do, the first few times. But it gets easier with practice.

You side project could be a huge hit. Or, it could be a disappointing flop. But until you can set aside your fears and share it with the world, you’ll never find out. 

You – and your work – deserve better.

Until next time,

–Brian


Shipping Is a Muscle

I used to be terrible at shipping side projects. It always started the same way: I’d have an idea, get a head full of steam, and plow right into making it a reality. My fingers would fly across the keyboard, code flowing from my brain to the editor with ease. But, often, things would fall apart. I’d get bored or hit a technical roadblock and the project would end up languishing on my hard drive.

I used to be terrible at shipping side projects.

It always started the same way: I’d have an idea, get a head full of steam, and plow right into making it a reality. My fingers would fly across the keyboard, code flowing from my brain to the editor with ease. But, often, things would fall apart. I’d get bored or hit a technical roadblock and the project would end up languishing on my hard drive. I’d move on to my next brilliant idea, hoping that would be the one I’d actually ship.

You can guess how well that worked out. Sound familiar?

On your first trip to the gym you might struggle to lift even the smallest of weights. Your muscles, twitching and quivering, haven’t been trained for what you’re asking of them. But, with a little persistence and dedicated practice, you start lifting a bit more. Then a bit more on top of that. One day, you surprise yourself with how strong you’ve become.

Shipping is a muscle. And, like any muscle, it can be trained. Here’s some tips to make it a bit easier:

1. Cut scope

When you have a day job, particularly if it’s one you enjoy, your first responsibility is to your employer. Which means the majority of your side project work has to happen on nights and weekends. You need to make sure it’s manageable — and the best way to do that is to aggressively cut the scope of your project.

For every potential feature ask yourself two questions:

Be honest with yourself!

  • Is this just a nice-to-have, and not really core to the product?
  • Is this something that can be added or improved upon later? (More on this in a second)

If the answer to either of those questions is yes, leave it out of your first version.

2. Iterate. Iterate. Iterate.

You can always improve your side project — particularly once you have feedback from real users. You need to adopt the mentality that until an idea is out of your head and into the hands of other people, it basically doesn’t exist.

When I launched Draftly, my Dribbble client for Apple TV, it let you do three things: see a collection of shots, see a bigger version of an individual shot with some details, and view a user’s profile. That’s it. But in the weeks after launch I added more features, refined the UI, and refactored the codebase. If I had waited until everything was “perfect”, I might never have launched at all.

Perfect is procrastination.

3. Stop wasting time

It’s a cliche, but it’s true: we all have the same 24 hours each day. It all comes down to priorities. Stop watching Game of Thrones. Or watch it while working, at least. But you’d get a lot more done if you didn’t.

Try to value creation over consumption. Instead of watching television, write a blog post. Rather than scrolling through Twitter or Facebook on a long bus ride, fire up the Notes app and brainstorm project ideas.

Granted, some items on your calendar are immutable. If your kids need to get to daycare, you can’t skip the drive and put in an extra hour on your side project. But if you examine your schedule closely, and aggressively cut scope, I’m betting you’ll find ways to eke out time here and there.

Work that muscle

With some practice and these tips, you’ll be well on your way to becoming a shipping machine. Why not start today?