Brian Gilham

Engineering leader, husband, and father

Articles

Playdate

I am extremely excited for Playdate, the upcoming handheld console from Panic. I’ve signed up for the chance to snag a developer unit and have been soaking up every technical detail I can find. It sounds like the SDK is similar to Love2D so I’ve focused early prototyping efforts there, taking care to abstract away Love2D specifics to make porting easier. It’s been interesting learning more about Lua. Particularly after spending years working with strongly-typed, compiled languages.

I am extremely excited for Playdate, the upcoming handheld console from Panic. I’ve signed up for the chance to snag a developer unit and have been soaking up every technical detail I can find.

It sounds like the SDK is similar to Love2D so I’ve focused early prototyping efforts there, taking care to abstract away Love2D specifics to make porting easier.

It’s been interesting learning more about Lua. Particularly after spending years working with strongly-typed, compiled languages.


Day 34

Aside from an occasional trip to the grocery store or pharmacy — an experience that continues to raise my stress levels — and some evening walks, we’re staying home. Everything else is optional and right now isn’t the time for optional. Work keeps us busy during the week. As wave after of wave of layoffs hit the news, I’m thankful we’re both employed. We’re incredibly lucky. With The Blob due at the beginning of June we’ve had a steady stream of baby supplies delivered, in addition to lovely gifts from friends and family.

Aside from an occasional trip to the grocery store or pharmacy — an experience that continues to raise my stress levels — and some evening walks, we’re staying home. Everything else is optional and right now isn’t the time for optional.

Work keeps us busy during the week. As wave after of wave of layoffs hit the news, I’m thankful we’re both employed. We’re incredibly lucky.

With The Blob due at the beginning of June we’ve had a steady stream of baby supplies delivered, in addition to lovely gifts from friends and family.

Protocols at local hospitals keep changing, so we aren’t entirely sure what to expect when the big day comes. I spend a lot of time thinking about caring for a newborn in the age of COVID-19.

I’ve been researching how best to give myself a haircut.

This is slowly starting to feel like the new normal. Strict restrictions are likely to remain in place until at least the summer. Beyond that, it’s hard to tell.

Culturally, it’s hard to believe we’ll ever fully go back to our old ways.


Life in Toronto

Almost two weeks ago, TWG asked employees to not come into the office unless necessary. It’s been a difficult adjustment — much harder than I was expecting — but it’s slowly becoming routine. We’ve supported remote work for years, so the infrastructure (and culture) were already in place. I feel blessed to work at a company, in an industry, friendly to working from home. A lot of companies are struggling to make the transition.

Almost two weeks ago, TWG asked employees to not come into the office unless necessary. It’s been a difficult adjustment — much harder than I was expecting — but it’s slowly becoming routine. We’ve supported remote work for years, so the infrastructure (and culture) were already in place. I feel blessed to work at a company, in an industry, friendly to working from home. A lot of companies are struggling to make the transition. Some can’t at all.

We’ve stocked up on some extra food and supplies. Nothing over-the-top, just things we’d normally buy. The baby is due in May, so we’re making sure we have those essentials too. Just in case.

Aside from a daily walk to stave off cabin fever, we’ve been trying to avoid places where lots of people gather. I don’t know what the rest of the city feels like right now, but our neighbourhood is noticeably quieter. We went to the pharmacy yesterday and everyone did a great job of maintaining social distancing.

We’re operating under the assumption this is what life will be like for a while. Canada hasn’t had the glut of cases seen elsewhere, but testing is a week or two behind, at best. Everything points to this getting worse before it gets better. How much worse remains to be seen.

I feel extremely fortunate to have a good home, good health, and the ability to be prepared regardless of what comes next. I worry about those in our community who don’t.


Thank You

Over the last 52 weeks, I’ve published over 70,000 words on topics like productivity, time management, motivation, and doing great work as a programmer. Much to my surprise and delight, over 1,200 of you have stuck around to read them. This week, I’m going to keep my message simple: Thank you. Thank you for reading what I write. Thank you for your thoughtful comments and critiques. Thank you for your support during hard times.

Over the last 52 weeks, I’ve published over 70,000 words on topics like productivity, time management, motivation, and doing great work as a programmer. Much to my surprise and delight, over 1,200 of you have stuck around to read them. This week, I’m going to keep my message simple:

Thank you.

Thank you for reading what I write. Thank you for your thoughtful comments and critiques. Thank you for your support during hard times. Thank you for allowing my work into your life, each and every week.

I can’t say with any degree of honesty that everything I’ve written for the Mailer has been a home run. But I genuinely hope, on the whole, I’ve brought some value into your work and your life.

I won’t be publishing the Monday Mailer on a weekly basis, going forward. But this isn’t the last you’ll be hearing from me. I’ll still be writing new articles on my blog, creating new side projects, and maybe — just maybe — finally be finishing a book.

Thank you, again.

Cheers,

-Brian


Season Finale

Every article you read about blogging — or, ugh, content marketing — says the same thing: it’s important to consistently produce content. A new article every week. Fresh podcast episodes every few days. A new album every year or two. The medium doesn’t really matter. All that matters is you’re pushing out new stuff on a regular basis. And it’s true. When people ask for my advice about starting a blog or email newsletter, the first thing I tell them is to pick a schedule and stick to it.

Every article you read about blogging — or, ugh, content marketing — says the same thing: it’s important to consistently produce content. A new article every week. Fresh podcast episodes every few days. A new album every year or two.

The medium doesn’t really matter. All that matters is you’re pushing out new stuff on a regular basis.

And it’s true. When people ask for my advice about starting a blog or email newsletter, the first thing I tell them is to pick a schedule and stick to it.

It works, but it’s really hard to pull off. Creating something new every week is daunting. And the idea of doing it forever is downright frightening

How long can someone really keep that up?

I love the Invisible Office Hours podcast, hosted by Paul Jarvis and Jason Zook . Unlike most other podcasts, they don’t post a new episode every week. Rather, they create an entire season of episodes and post them all at once.

They create the best work they can. Then, they go away for a while.

Next week marks the 52nd edition of the Monday Mailer. One article a week for an entire year. I look at that number and I’m damn proud of it. But I have to be honest; there have been plenty of times I’ve wondered if I can really keep this up.

There’s value in learning the habits required to write something new each and every week. But I’m beginning to think there’s a point of diminishing returns.

For the last 52 weeks, I’ve written about productivity, building a career, and finding your motivation. Those are topics I care about deeply and, far too often, they’re dismissed by programmers. 

But I’m rapidly approaching the point where I’ve said all I have to say about them, for now. So maybe, just maybe, it’s time to bring this season to a close.

I found a quote from Terry Pratchett I really love:

“Why do you go away? So that you can come back. So that you can see the place you came from with new eyes and extra colours. And the people there see you differently, too. Coming back to where you started is not the same as never leaving.”

More next week.

Until then,

-Brian


Just a Notebook and a Pen

We’re all looking for the perfect solution to our time management woes. For any time management system to be truly effective, it needs to do two things: Provide value to your personal & working life, taking into account your unique circumstances and style. Be enjoyable and easy to use. If it doesn’t check off those two boxes, it will eventually be a drag to manage — and you’ll end up abandoning it.

We’re all looking for the perfect solution to our time management woes.

For any time management system to be truly effective, it needs to do two things:

  1. Provide value to your personal & working life, taking into account your unique circumstances and style.
  2. Be enjoyable and easy to use.

If it doesn’t check off those two boxes, it will eventually be a drag to manage — and you’ll end up abandoning it. There isn’t some magical system that will work for everyone. What works for me might not work for you, or anyone else. Heck, it’s downright likely it won’t.

When the topic of time management comes up, most people think of apps like Things and Omnifocus . It’s understandable; apps touch almost aspect of our lives.

It’s boring, but I’ve often eschewed those tools in favour of a simple notebook and pen. Over the last few months, I’ve adopted a variation of the popular Bullet Journal system. I discovered it back in April and it’s been fantastic for not only managing my time but also taking notes and journaling.

At its core, the Bullet Journal is a set of guidelines for turning a notebook into an ideal planner, diary, and calendar. It’s a great starting point if you’re someone who:

  • Has a bunch of to-do lists and sticky notes hanging around.
  • Loves the tactile feel of using paper and a pen, or is obsessed with stationary.
  • Enjoys the idea of using a planner, but hasn’t found one that fits their style.
  • Likes the idea of keeping a diary, but doesn’t know where to start.

The best part of the Bullet Journal system is just how boring it is. There’s a lot of hype online. A quick look through Google or Instagram reveals countless photos of beautiful notebooks filled with flowery calligraphy and illustrations.

Ignore all that.

For some, Bullet Journaling is an excuse to create the most beautiful notebook social media has ever seen. But it’s missing the point. Keeping a paper notebook has drastically improved my productivity.

It might do the same for you.

If you’re like a visual introduction to Bullet Journaling, check out this video . But here’s the basics:

  • Your first two-page spread is your index. You’ll use it to write down topics & page numbers, for easy reference later.
  • The next two-page spread is an overview of your entire year, split into months. Here, you record important dates and events.
  • At the beginning of each month, you transfer the month’s events & tasks onto a single page.
  • Each day, you record your appointments, tasks, and notes in bulleted lists. Each item gets a different type of bullet, depending on its type. As you attend meetings and complete tasks, you put an X through their respective bullets. Can’t get to something that day? Put a > through the bullet, to remind you to migrate it to the next daily entry. Not going to do it at all? Cross that sucker out entirely.

As I progress through my day, I also jot down quick notes using a dash bullet (“-“).

That’s it! Okay, that’s mostly it. There are other nuances you don’t need to know about to get started.

It’s such a simple system, it’s almost strange to give it a name. But that’s the beauty of it. Having a strict system to follow can actually help you get started — not hinder you.

Since I started following the Bullet Journal system, I’ve expanded my notebook to include pages dedicated to tracking my weight, happiness, money sent, and more. Bringing those seemingly disparate pieces of information into one place — my notebook — has given me a better view on my life & productivity than I’ve ever had before.

Oh, and don’t feel like you have to go completely analog for this to work. My events and appointments still live in my digital calendar. So, why do I continue to write them down each day?

Mostly, because I enjoy it! It helps me feel a sense of ownership and control over my time. Not to mention, studies suggest we might remember things better when we physically write them down — a change I’ve definitely noticed in my own life.

And it’s harder to get distracted, using a notebook and pen. If I need to make a note of something, I can flip open my journal without getting distracted by Facebook, Twitter, or whatever else.

A Bullet Journal won’t replace your smartphone. Or your laptop. Or your calendar reminders. But, like me, you just might find it complements them in a useful way.

Until next week, 

-Brian


Breaking My iPhone Addiction

For a long time, I felt addicted to my iPhone. I often ignored the people around me in favour of email, tweets, games, and YouTube videos. I don’t use the word addiction lightly. If I ever found myself without my phone I’d feel more than uneasy; I’d panic, frantically searching everywhere until it was found. On more than one occasion I’d arrive at the office, only to discover I’d forgotten my laptop.

For a long time, I felt addicted to my iPhone. I often ignored the people around me in favour of email, tweets, games, and YouTube videos.

I don’t use the word addiction lightly. If I ever found myself without my phone I’d feel more than uneasy; I’d panic, frantically searching everywhere until it was found. On more than one occasion I’d arrive at the office, only to discover I’d forgotten my laptop. I’ve never forgotten my iPhone.

How could I? It gave me a false sense of importance. I mean, what if someone needed to get in touch with me immediately? What if an email came in and I missed it? Heaven forbid.

More than that, I’d forgotten how to be bored. If I was waiting in line, I’d stare at Twitter. Sitting on the toilet? Checking email. Riding on a busy streetcar? You can bet I was probably playing whatever IAP-laden game I’d downloaded that week.

I was trained to reach for my phone constantly, no matter the situation.

A while back, tired of constantly feeling tethered to my iPhone, I decided to try a 30-day experiment. I was going to try and break my addiction to my smartphone.

Here’s what I did:

Step 1: Deleted Useless Apps

If it had a news feed, it was gone. Twitter, Instagram, Reddit, Facebook, you name it. Ditto for games. If an app wasn’t bringing a ton of value into my life — on a near daily basis — I got rid of it.

Digital clutter is a lot of physical clutter. You don’t realize how much mental space it’s taking up until it’s gone.

Step 2: Turned Off Notifications

For a long time, I felt bombarded by notifications. Sorry, I should really just call them what they are; distractions. How many apps truly needed to get my attention immediately? Damn few.

I kept notifications turned on for Messages, Phone, and Calendar. I turned everything else off.

The silence was glorious.

Step 3: Removed Mail

I figured, most “emergencies” aren’t emergencies at all. And most emergencies weren’t going to show up in my inbox. Compulsively checking email wasn’t a productive use of my time, so I removed all of my accounts.

I started batching my inbox processing, usually checking twice a day on my laptop. And never first thing in the morning.

Step 4: Removed Safari

Controversial, perhaps. But my mobile browsing was less, “exploring the infinite world of knowledge made possible by the internet,” and more, “checking IMDB to see if that actor was on E.R. once.”

If I really needed to look something up, I’d ask Siri or — briefly — re-enable Safari. But it didn’t come up much. Often, browsing could wait until I was at my desk.

Step 5: Disable iTunes Store, App Store, and In-App Purchases

The killing blow.

I wanted to be more intentional about how I spent my time, attention, and money. These three apps were actively working against that goal, so they had to go.

In-app purchases were particularly troublesome for me. We’re all smart people here, but I’m sure I’m not the only one who has gotten sucked into a game and blown money on a sack of coins, pile of gems, or whatever.

So, how’d it go?

I won’t lie — some of these steps were really hard to take.

It took a long time before I shook the habit of reaching into my left pocket for my phone, when I had a spare moment. But, eventually, I found I was far more present with the people around me. I spent less time consuming mindless crap and my stress levels decreased significantly.

Look, I didn’t stick with all of these changes once the 30 days were up. A few social media apps have made their way back onto my phone. And not having an email client was fairly untenable. But I no longer allow my phone to run my life.

Now, I use my iPhone intentionally — and only in ways that support how I want to spend my day. It’s made a huge difference.

Your Turn

If any of this sounds familiar, I’d encourage you to give my experiment a try — if only for a week. I mean, you can do anything for just a week right?

After seven days, you can go back to your old habits. But I suspect most of you won’t.

Until next week,

-Brian


Over the Hump

Tomorrow, I’ll hit a milestone I’m pretty proud of: 30 days without a cigarette. I’ve smoked for a long time now. Sure, I’m managed to quit here and there. But addiction is a powerful thing, and I’ve always been lured back in. Any smoker who tells you they don’t want to quit is lying to you. I don’t know a single person who smokes and doesn’t want to stop. And it certainly isn’t the kind of addiction they’d wish on someone they love.

Tomorrow, I’ll hit a milestone I’m pretty proud of: 30 days without a cigarette.

I’ve smoked for a long time now. Sure, I’m managed to quit here and there. But addiction is a powerful thing, and I’ve always been lured back in. 

Any smoker who tells you they don’t want to quit is lying to you. I don’t know a single person who smokes and doesn’t want to stop. And it certainly isn’t the kind of addiction they’d wish on someone they love.

I’ve tried every traditional method of quitting smoking imaginable. Patches, gum, lozenges, inhalers, cold turkey, and prescription medication. You name it, I’ve tried it.

Each had varying levels of success, but nothing ever really stuck. Until I tried one last thing.

Vaping.

(Insert obligatory VAPE NAYSH Y’ALL joke here.)

Yeah, yeah, I know. It tends to look a bit ridiculous. And long-term studies on its effects are nonexistent. But the research I’ve done — not to mention the difference in my lung capacity — has convinced me it’s better than smoking cigarettes, at least.

When I first wandered into a local shop, more than a year ago, the guy behind the counter was amazing. He walked me through everything I needed to know to get started. 

I walked out with a basic battery unit (a “mod”, in vaping parlance), tank, and some liquid. Nothing fancy.

Now, anyone who has tried vaping will tell you; it doesn’t give you the same sensation as smoking a cigarette. But it was just close enough to make me think that maybe — just maybe — it would be enough to help me quit smoking for good.

As time went on, and my interest in vaping grew, I decided I wanted a bit of an upgrade. More flavor, bigger tank capacity, that sort of thing.

That’s when things got a bit confusing.

There’s almost near-universal agreement on what sort of mods and tanks are best for beginners. But, beyond that, I encountered a mess of competing opinions, products, and philosophies. 

I had to learn a lot of new terms. Did I want a sub-ohm tank? Was I looking for mouth-to-lung or direct-to-lung? RDA? RDTA? RBA? External batteries, or charging via USB? What kind of batteries? 18650? What’s that?

I was a bit out of my depth, needless to say.

After talking to the staff at the shop, researching online, and watching reviews on YouTube, I settled on a new mod and tank. I was ecstatic, at first. I was blown away by the improvement in flavour — clearly, I’d been missing out.

Two weeks in, I learned the phrase “vapour lock.” Essentially, it would stop working properly. Oh, and it would leak every once in a while. 

I went back to the shop, but the best answer they had was,“Oh, weird. That never happens to us.” Not exactly helpful. 

I spent a few more weeks feeling frustrated before buying a different tank. Maybe the first was a lemon, I thought.

Nope. The next one was just as problematic, in its own way.

I’ll spare you all the details of my long, annoying, and costly journey. Eventually, I found a setup that works flawlessly. But it was needlessly difficult to get there. 

All of the help and guidance I’d had starting out? A distant memory.

It reminds me of the process a lot of developers go through when they’re first starting out. When you’re a beginner, it’s easy to find help. If you’re trying to get into iOS development, I can point you to 100+ tutorials and classes. Moving beyond the basics? That gets a lot harder.

Once you learn fundamentals, the really hard questions kick in. When should I write unit tests? Integration tests? What are UI tests? I’ve heard I should use the MVC pattern, but somebody else recommended VIPER. What about coordinators? What do I do when my app seems to just randomly crash? How do I store data on the device? Should I use Core Data or Realm?

You get the idea.

When you’re learning to program, there’s a definite learning curve. And it’s hard to get over. A lot of people hit this point, get frustrated, and quit.

I often hear from developers who want to start a blog, but don’t know what to write about. My suggestion? Be the person who helps other people get over that hump. Give them the tools, resources, and guidance to help them move from a junior to an intermediate developer.

Not only will you be filling a giant gap in programming education — and saving them a lot of time, frustration, and money — they’lllove you for it. 

Until next time,

-Brian


Finding the Time

“I’d love to work on my own projects, but I never seem to find the time.” If I had a nickel for every time I’ve heard some variation of that line, I’d have a whole lot of nickels. Several vaults worth, at least. You’ve probably heard it too — coming out of your own mouth, even. The idea that you’ll magically “find” the time to work on your side projects is silly.

“I’d love to work on my own projects, but I never seem to find the time.”

If I had a nickel for every time I’ve heard some variation of that line, I’d have a whole lot of nickels. Several vaults worth, at least. You’ve probably heard it too — coming out of your own mouth, even.

The idea that you’ll magically “find” the time to work on your side projects is silly. Once you’re done working at your day job, spending time with friends & family, and dealt with personal commitments, it’s hard to imagine finding even a spare second for anything else. Oh, and let’s not forget about those times life decides to throw you a curveball or two — as it does, from time to time.

But there’s something we all know deep down, even if don’t want to admit it to ourselves.

Thinking you don’t have any time is just an excuse.

(There are exceptions, to be sure. We all have moments where side projects are far from a priority. Having gone through it recently, I know that quite well. If you’re going through just such a time right now, feel free to disregard this advice until your life is back in order.)

We all feel like we’re working too much — that we have enough on our plates already. But if you’re going pursue the projects you’re most passionate about, you’re going to have to start prioritizing them. You’re going to have to optimize the time you have available.

Life will eat up every spare moment if you let it. If you’re serious about pushing your projects forward, you’re going to have to fight for the time to do it. 

How? By eliminating time spent on bullshit.

What’s bullshit? It’s time spent on consuming other people’s work, rather than producing your own. Or time spent on mindless busywork. Or doing things just to “stay busy.”

How much time are you spending: * Watching hours of television, or playing video games? * Reading every last post in your social media feeds? * Reorganizing your desk, or hard drive, for the 1000th time? * Hanging out with people you hate, doing things you don’t enjoy? It’s time to take control of your schedule.

If I walked up to you and asked for $100, you’d rightfully have some questions for me. Like, “Why the hell should I give you $100, random stranger from the internet?”

But when was the last time you applied even that low standard to your time? Time is one of the few finite resources in life but, far too often, we give it away freely.

Stop blindly accepting every meeting request you receive. Learn to say no to things you don’t want to do — or can’t contribute to in a meaningful way. Figure out when you’re most productive and schedule your days around that time.

Ask yourself some hard questions. Why are you spending time watching TV, or reading blogs, when you could be coding your next web app? Why are you blowing time reading Twitter, when you could be brainstorming your next great idea? Instead of listening to someone else’s podcast, why aren’t you creating your own?

Why are you reading this email, rather than doing something else?

You need to consciously decide to change those habits. It won’t be easy. But you’ll be amazed how much time you can “find” once you stop consuming and start creating. And start being intentional about your time.

Until next week,

-Brian


When Shit Hits the Fan

I have something to confess: I haven’t written a new article for the Monday Mailer in more than a month. A new article has landed in your inbox each week, as usual. But each was written weeks ago. Life has been a bit of a rollercoaster, over the last few weeks. Our family has been dealing with health issues, unexpected expenses, flooding (thanks, spring in Toronto!), and various other problems. I haven’t had much energy for writing.

I have something to confess: I haven’t written a new article for the Monday Mailer in more than a month. A new article has landed in your inbox each week, as usual. But each was written weeks ago.

Life has been a bit of a rollercoaster, over the last few weeks. Our family has been dealing with health issues, unexpected expenses, flooding (thanks, spring in Toronto!), and various other problems. I haven’t had much energy for writing.

Thankfully, I haven’t had to worry about the newsletter — I’ve simply published articles I’d already written.

There are two tips I give to aspiring writers and bloggers:

  1. Never make promises.
  2. Write more than you need to.

Both are good advice, for the same reason: you never know when shit will hit the fan.

Take advantage of productive periods in your life, when you have them. A while back, I was really on top of my game; cranking out a handful of new articles a week. When life went a bit sideways, as it does, I was glad to have those pieces banked up.

So far, so good.

Unfortunately, I broke one of my other rules. I made a promise I couldn’t keep.

When I announced my book, Finish Your Damn Side Project, my work was going great. Planning had gone well and I was writing at a prolific rate. I felt confident I could keep that pace going indefinitely.

I should have known better.

It’s a project I know I’ll complete, but I’m done talking about it until it’s ready. I love sharing my writing process and the progress I’m making. The problem is, there isn’t any progress to share. The irony of failing to work on a book about completing projects is fairly obvious, I think.

When the work flows easily, use it to your advantage. And while it’s happening, stay quiet about it.

Until next week,

-Brian


Sorry, most of your fears are completely made up

“I am an old man and have known a great many troubles, but most of them never happened.” —Mark Twain I often think about fear and how it relates to consistently doing great work. I’ve learned the biggest thing holding people back *isn’t* a lack of time or money. It’s fear. Fear of failure. Fear of making mistakes. Fear of letting themselves, or someone else, down. Fear of not matching up to other people.

“I am an old man and have known a great many troubles, but most of them never happened.” —Mark Twain

I often think about fear and how it relates to consistently doing great work. I’ve learned the biggest thing holding people back *isn’t* a lack of time or money.

It’s fear.

Fear of failure. Fear of making mistakes. Fear of letting themselves, or someone else, down. Fear of not matching up to other people. It’s almost universal.

We’re a *fearful* bunch, to be sure.

But it’s important to have some perspective. We’re building software, not bridges. If you make a mistake, nobody’s going to die — not evenyou. More often than not, if you screw something up, you can *easily* go back and fix it.

Most of us live in relative comfort. Heck, I’m writing this on an expensive laptop, with nice Bluetooth headphones in my ears, drinking an incredible coffee. I don’t have much to complain about. Or fear.

Most of us don’t need to worry about bears, falling down a mountain, or dying from a simple cold. Our ancestors had those — very real — things to worry about.

Today, though? We’ve moved on to worry about things like meetings, public speaking, or being criticized by someone else.

Our fears have no basis in reality.

Modern society is full of guardrails. Fall and break your leg? A quick trip to the hospital and you’ll be all set. Can’t get to the hospital? That’s okay; we have cars designed to pick you up and take you there.

(Depending on where you live, those services might bankrupt you. But that’s another article.)

If you think about it, the potential downside of any action you take is pretty damn small. It’s almost never going to be fatal. And there’s a good chance you’ll be able to bounce back, with a bit of time and effort.

Rational fears keep us alive. Irrational fear keeps us frustrated, demoralized, and depressed.

Unfortunately, in modern times, *most* of our fears are irrational.

Until next week,

-Brian


The Tao of Gordon Ramsay

I don’t watch much television these days, but one of my guilty pleasures is old episodes of Kitchen Nightmares. Each episode, through the power of cursing and walking around in dramatic fashion, Gordon Ramsay works to turn around a struggling restaurant. After a quick look around, Gordon inevitably finds a laundry list of problems — everything from dirty fridges to undercooked food, to terrible service. But there’s one problem that crops up, time and time again: large, unfocused menus.

I don’t watch much television these days, but one of my guilty pleasures is old episodes of  Kitchen Nightmares. Each episode, through the power of cursing and walking around in dramatic fashion, Gordon Ramsay works to turn around a struggling restaurant.

After a quick look around, Gordon inevitably finds a laundry list of problems — everything from dirty fridges to undercooked food, to terrible service. But there’s one problem that crops up, time and time again: large, unfocused menus.

Frequently, chefs and owners think the surest path to success is to overwhelm their customers with hundreds of options, spanning multiple cuisines. Their menus are confusing, wait staff are overworked, and the kitchen is chaotic. Each time, Gordon has to sit them down and explain the value of doing a handful of dishes well. Often, he ends up cutting their menu in half.

The result? Customers are less confused, wait staff can recommend their favorite dishes, and cooks aren’t forced to run around like chickens with their heads cut off, trying to cook everything under the sun.

I’ve started to recognize the problem with large menus at the restaurants I visit. More often than not, it means poor food and service. It’s *almost* a universal truth.

A similar problem pops up in failing side projects.

Often, developers worry they’ll “blow it” by cutting features from the first version of their product. Driven by fear, and lacking real feedback on their ideas, they delay launching while they add “just one more feature” or spend three days pushing pixels on the home page.  They try to cram their app’s menu full of *everything* that pops into their head — both figuratively and literally. Then, they wonder why they never seem to launch anything.

Gordon would be disappointed.

In my experience, shipping something half-finished hurts a lot less than never shipping it at all. 

It’s easy to look at someone else’s work and marvel at how polished it is. But remember, every side project could have been better or included more features. Those developers, the ones who consistently ship? They’ve embraced an important idea — at some point; you have to stop. You have to ship.

Until next week,

-Brian


5 Reasons to Boost Your Career with Side Projects

If you’re a programmer, *particularly* early in your career, there’s no better way to learn new skills, promote yourself, and improve your job prospects than working on side projects. Full stop. Brainstorming, developing, and releasing side projects has been a force multiplier in my career — and it can do the same for you. Always working on side projects comes naturally to me, but I know that isn’t the case for everyone.

If you’re a programmer, *particularly* early in your career, there’s no better way to learn new skills, promote yourself, and improve your job prospects than working on side projects. Full stop. Brainstorming, developing, and releasing side projects has been a force multiplier in my career — and it can do the same for you.

Always working on side projects comes naturally to me, but I know that isn’t the case for everyone. Why should you spend your precious free time coding when you could be watching TV, hanging out with friends, or playing video games?

It’s a question worth examining; why *are* side projects so important?

The answer to this issue has a few different angles — and it’s going to be a little bit different for everyone. But here’s five reasons I think you should be working on a side project.

Low-stakes learning

We all know how important it is to stay on top of changes in the programming landscape. There’s *always* a new technology, library, technique, or platform to learn. Things are moving fast and, if you don’t keep up, there’s a good chance you’ll find yourself out of date. Working on a side project gives you the opportunity to pick up new skills in a low-stakes environment. If a side project fails, you don’t need to worry about letting down your team, pissing off your boss, or not being able to pay rent. You can try new things and learn from your mistakes, all at your pace.

Becoming an expert

If you’re willing to jump on new platforms before anyone else, you can quickly become the resident expert at work. When the Apple Watch SDK came out, I poured hours into building apps, mocking up potential interfaces, and sharing what I learned.

When the opportunity to do an Apple Watch project came up at work, I was the natural choice to lead it. Now, when new Watch projects pop up, I’m often asked for guidance and advice. It’s just one way I’ve increased my value at work and differentiated myself from others.

Landing your first job

If you’re a junior developer, looking to land your first job, side projects can help. There’s one big thing holding you back; your resume is more Sales Associate at Home Depot, less, Front-End Developer at Company X.

A lot of junior developers bump up against that wall for *far* too long, stuck at a crappy job with no real opportunity to learn and grow. Side projects give you a way out, building a reputation and portfolio for yourself.

Cultivating a portable reputation

Working on side projects can give you what Sean Fioritto calls “portable reputation.” If you’ve worked at one place for a long time, there’s a good chance you’ve built up a fantastic reputation and a fair bit of credibility. But there’s a big problem; that status is locked up with your employer.

If you leave, and you haven’t put time into cultivating a portable reputation, you’ll be relying primarily on your resume to help you stand out from the crowd. Can you land a job solely on the strength of your resume? Of course. But why not take *every* advantage you can get? The demand for developers is huge right now, but it won’t last at this level forever. Side projects give you the opportunity to build a reputation independent of your employer. And reputation is leverage.

Sweet, sweet cash (maybe!)

While it shouldn’t always be your primary goal, there’s also the possibility of a side *project* turning into a side business. Some of the most successful companies were born out side projects — Gmail, Buffer, and Todoist come to mind.

Between apps and other digital products, I’ve managed to make some significant money from my side projects. Nothing life-changing, mind you. But once you start making money from a product or service of your creation, you’re forever changed. When you know how to plan, execute, promote, and sell your work, you become more self-sufficient. Once you realize you can generate income based on value, and not time spent, there’s no going back.

Until next week,

-Brian


Stop wandering around and set some damn goals

I’m a software developer. And, if last year’s survey is any indication, there’s a good chance you are too. Despite that, you and I have different goals in our respective careers. We’re all working toward something unique, no matter if you’re working at a job, running a studio, consulting, or just working on a side project. But, do you know what your goals are? More importantly, do you know what you’re doing to accomplish them?

I’m a software developer. And, if last year’s survey is any indication, there’s a good chance you are too. Despite that, you and I have different goals in our respective careers. We’re all working toward something unique, no matter if you’re working at a job, running a studio, consulting, or just working on a side project.

But, do you know what your goals are? More importantly, do you know what you’re doing to accomplish them?

In my experience, most developers don’t set concrete goals for themselves. They wander from job to job, adopting whatever goals a boss or team lead hands them. Usually, they’re kind of unhappy with where their careers are heading.

When was the last time you sat down and thought about what you want out of your career? Or your life, for that matter?

If you’re aren’t setting goals for yourself, your work is aimless. Sure, you might hit on the occasional success. But is that really how you want to go through life, hoping to get lucky? I know I don’t.

It’s like hopping in your car for a road trip, without knowing where you’d like to go. You’ll probably see some great sights along the way, but I’d wager you’d have a lot more fun with a destination in mind.

Deep down you probably know goal-setting is something you should be doing, like flossing or changing the oil in your car. But you keep putting it off. The question is: why?

Honestly, I think it’s because of fear. Fear of making a wrong decision, or experiencing regret. But the benefits of setting clear, actionable goals far outweighs the potential negative rules, I promise you. It’s something you need to be doing, right now

Until you do, you’re just wasting your time.

The best way to get started is by defining the thing you’re trying to accomplish and work backward from that point.

Not coincidentally, this is also a fantastic way to plan a side project. Check out Amy Hoy’s excellent book, Just Fucking Ship, for more on that topic.

You need to know what your big, awesome goal is. You don’t need to get super precise about it — you just need enough definition to be able to check in, from time to time, and ask yourself, “How close am I to accomplishing this goal?”

When all the chips are down, and you’re *truly*honest with yourself, what do you want to do in your career? Your relationships? Your free time?

Where do you see yourself and your loved ones in 5 years? How about 10?

Give yourself plenty of time to come up with your first big, awesome goal. The first time is really hard. Once you start contemplating questions like, “What do I want?” there’s a good chance you’ll start to question everything — from your career to your friendships, to your daily habits.

That’s a good thing! Taking time for setting proper goals can give you a lot of clarity.

Once you’ve figured out where you want to go, you can start working out how to get there. That means creating smaller goals you can work on, eventually accomplishing your big, awesome goal. This step is where the “thinking backward” part comes in.

Let’s say your goal is to save $10,000. What will you need to do to accomplish that? Maybe you decide you’ll set a smaller goal to save $100 a week. Great! Now, what do you need to do to accomplish that? Could you stop eating out every lunch hour?

The more you break your goals down, the more likely you’ll accomplish them. Tiny minuscule goals are easy to do and help you build momentum. Momentum gives you the motivation to keep going and makes progress visible. 

Schedule time to review your goals, every so often. At the beginning of each month, I sit down with my notebook and plan ahead. I ask myself what I’ll need to do to make progress on my goals. Ditto for the start of every week. In the evenings, I review my day and see how well I did.

I don’t always accomplish everything I set out to do. But having a clear picture of my progress is invaluable. Sure, it takes some time. But the clarity it gives me is always worth it.

You don’t need a fancy notebook and pen. You can follow this process in a spreadsheet, or in your favorite app. The more important thing is just to do it.

Otherwise, you’re just wandering around — hoping to get lucky.

Until next week,

-Brian


What are Your Real Priorities?

I’m not sure if it’s a real phenomenon, or just something put into my head by countless television shows, but it seems like turning 30 is a problem for most people. Looking back on it, hitting the big 3-0 didn’t feel like the end of an era or anything. Some view it as the end of partying or having fun. It’s when real responsibilities begin. You’re 30 now, time to start acting like an adult.

I’m not sure if it’s a real phenomenon, or just something put into my head by countless television shows, but it seems like turning 30 is a problem for most people. Looking back on it, hitting the big 3-0 didn’t feel like the end of an era or anything. Some view it as the end of partying or having fun. It’s when real responsibilities begin. You’re 30 now, time to start acting like an adult. I’ve never been one for partying, so I guess I didn’t feel like I had much to lose.

I’ve always just focused on work. Whether programming or writing, it’s been a constant in my life for the last 20 years. 

Programming started out as a hobby, right around the age of 12. I discovered HTML, CSS, and PHP and I was hooked. In my last year of high school, I started freelancing; doing websites for coworking spaces, car dealerships, political figures, and more. I took on new work every chance I got. Two things drove me: becoming the best programmer I could be and making money.

I wasn’t poor but there always seemed to be a far-off amount of money I needed to earn. Don’t bother asking me what number I had in my head. Looking back on it now, I realize that number was, “more.” Always more.

I hated my first job. The work was uninspiring, the clients were awful, and the pay barely covered my rent. But I have to give it credit for one thing; it inspired me to start doing side projects. Once I learned I could — without input from anyone else — brainstorm, create and promote my work, I was addicted. No matter how bad my day job got, I knew I could count on doing work I loved at night.

And that’s when a switch flipped in my brain. Previously, work was something that existed between the hours of 9 am and 5 pm. Sure, I had freelanced in my spare time through school, but this was different. I was doing work I chose to do. It was inspiring, fun, and fulfilled me in a way other projects couldn’t. 

So, I started working all the time; every spare moment I could find. Fuelled by caffeine and cigarettes, I coded long into the night. I released something new every few weeks, and always took the time to promote it.  I even became pretty well-known for my work. My projects got coverage in the newspaper, nightly news, and on local blogs. That drove me to work even more — I enjoyed the attention.

I can’t complain about that period of my life too much. Through all that work, I landed a couple of great jobs, built a reputation for myself, and got introductions to lots of really great people. I met some of my best friends and colleagues through those side projects. But they also instilled a lot of bad habits in me.

I was always tired. There wasn’t a car, bus, streetcar, plane, or train I couldn’t fall asleep on. I was miserable when I wasn’t working. I let relationships with my family, friends, and loved ones slip. My priorities were completely backward.

Thankfully, I’ve been blessed to have people in my life that stuck with me. They’ve understood when, rather than spend time with them; I’ve spent time alone with my laptop. Often, I think they’ve chalked it up to “needing time alone,” or, “being passionate about work.” And both those statements are true. I do need time alone to recharge, and I’m very passionate about what I do.

But focusing so heavily on work wasn’t a personality quirk, it was a choice I made. And it caused me to miss out on a lot.

Thankfully, halfway through my 31st year on this planet, I think I’ve started to get my priorities straight.

If you’d asked me last year what my priorities were, I likely would’ve said:

  1. My wife and family.
  2. My friends.
  3. My work.

But when I sat down and started to examine the things I did on a daily basis, I was a bit shocked. My typical day looked something like this:

  1. Get up early and work on one of my projects.
  2. Go to work.
  3. Come home & eat dinner.
  4. Hang out, briefly, with my wife.
  5. See her off to bed.
  6. Stay up way too late, working on one of my projects.

That’s not even counting bullshit like browsing Twitter, playing dumb games on my phone, or watching TV.

When I imagined my priorities, work came last. But it’s obvious, looking at that first list, that wasn’t true. Our real priorities are the things we give our time and attention. I had just one real priority: work. 

I cared more about making progress on my latest app than making a real connection with someone else. I cared more about staying at the office than taking my dog for a walk. I cared more about being successful — whatever that means — than taking care of the people I love the most.

I’ve realized that I need to make a change. And I’ve been working to make it happen. 

I’m not perfect. I still occasionally spend more time working than I should. I still lust after gadgets, rather than experiences. I still, sometimes, have to make a conscious effort to spend time with people, rather than code. Now, though, I’m aware of where my priorities should be — and I’m trying to make the changes required to support those priorities.

I still care, deeply, about my work. I still want to write articles that help others, write code that solves interesting problems and work with people I admire each and every day. I still want to make money doing things I love. But I’ve realized the people in my life must always take precedence, no matter what. Otherwise, what’s the point?

As Todd Brison so eloquently put it, your desk will not attend your funeral.

I’ve decided to stop telling myself things like:

  • I should have a deeper connection with my wife.
  • I should work on cultivating real friendships.
  • I should spend less money on crap I don’t need.
  • I should eat better, and get more exercise.

So many “shoulds,” not enough, “musts.”

Often, I write about how to work more. How to be more productive. How to squeeze every last drop out of your free time. And there are seasons of life where those topics feel authentic to who I am. But now, I’ve learned that there must be other seasons — time for rest, relaxation, love, and caring for yourself and others.

What are the “shoulds” in your life? What changes do you need to make, but keep putting off? Are your priorities aligned with what you say you care about?

Take the time to ask yourself those questions and, like me, you might be surprised by the answers.

Until next week,

-Brian


How to Unfuck Your To-Do List

You probably have a long list of things you’d like to get done on your projects. The type of tasks that will push things forward. Move the needle. Take things to the next level. Open the kimono. (Sorry, I confused my clichés for a second there.) But I’d be willing to bet you, like _most people, have times where you’re feeling stuck, or distracted. You procrastinate and play video games, rather than tackle the work you know you need to do.

You probably have a long list of things you’d like to get done on your projects. The type of tasks that will push things forward. Move the needle. Take things to the next level. Open the kimono.

(Sorry, I confused my clichés for a second there.)

But I’d be willing to bet you, like _most people, have times where you’re feeling stuck, or distracted. You procrastinate and play video games, rather than tackle the work you know you need to do. You’re feeling the resistance, and the resistance is winning.

Don’t fret. We all have those moments.

In my experience, developers start procrastinating when they haven’t taken the time to think through their tasks deeply enough.

Open up your to-do list. How many items does it have that sound like, “Finish project X” or “Figure out how to do Y”?

Those types of vague, enormous tasks are productivity killers. If your to-do list has more than a couple of them, there’s a good chance you’ve been procrastinating on them for a long time. Or just freaking out inside. That’s usually my approach.

Are you ready to unfuck your to-do list? I am, too.

Here’s a few steps you can take to banish those uber-tasks forever and get back to work.

Break each task down three times

When you’re working on any project, it’s easy to imagine the end product and start feeling overwhelmed.

Let’s say I’m your boss. I’m not sure how I got that particular promotion but stick with me here. If I point at a fancy SUV and say, “Build me one of those,” there’s a good chance you’d start procrastinating pretty damn hard. That’s because “Make an SUV” is a terrible request. Where would you even begin?

But things start to look a lot more manageable when you break it down into smaller tasks. Instead of “Make a car,” you might start with “Learn how a car engine works.” Then you could hit up Google and search for, “How to assemble a car engine.”

After that, you might move on to finding the parts you need, ordering them from Amazon (or wherever you can order car parts from), and — finally — assembling the engine.

Hard tasks, all. But certainly a lot easier to handle than “build a car.”

It’s a silly example, of course. Most of us aren’t building a car from scratch. But you get the idea. Big tasks become easier the longer you spend breaking them down into tiny, tiny chunks.

Next time you’re staring an enormous task in the face, ask yourself what it will take to complete it. Do this three times. Each time you have a new answer, it’s a new task.

If you’re building a chat feature for your product’s website, for example, you’d ask yourself, “What do I need to do to finish the chat functionality for the site?” Maybe the answer would be, “I need to create a new table in the database to store chat messages.”

Awesome. What do you need to do to create a new database table?

“I need to decide on an appropriate schema for the table.”

Okay, cool. I’m obviously skipping some steps here but, by breaking that tasks into tiny pieces, it’s become a series of actionable steps that feel achievable. Working on small tasks is great — once you know the plan, you can quickly gain momentum.

Please don’t assume you’ll be able to keep everything organized in your head. It’s almost never true.

Clear out the bullshit

Often, we add tasks to our to-do list that we have no intention of ever doing. Ever. I’m really guilty of this one.

Take a moment, spin through your list, and ask yourself one question: “Why should I do this?”

If you’re going to do productive work, you need to know what your ultimate goal is and — just as importantly — why you’re striving for it.

When I started working on side projects, it was a way to get out of a job I hated. That was my North Star; improving my career & job prospects.

You need your own North Star. Something to keep you on track. A phrase, idea, or person that speaks to the heart of why you started working on your project in the first place. It could be to land a more fulfilling job, satisfying the creative half of your brain, or improving your skills. Anything.

Without a clear, well-defined idea of why you’re doing the work you’re doing, you’ll just aimlessly wander from task to task. And that’s when procrastination really starts to set in.

Prioritize like a general

Most tasks fall into one of two categories; important or urgent. They’re rarely the same thing.

Take a page from Dwight Eisenhower, who said:

“I have two kinds of problems; the urgent and the important. The urgent are not important, and the important are never urgent.”

In the “Eisenhower Method,” described in First Things First, tasks are broken into one of four quadrants:

  • Important & Urgent: Do it now.
  • Important & Not Urgent: Plan when you’ll do it.
  • Unimportant & Urgent: Delegate it.
  • Unimportant & Not Urgent: Don’t do it all.

When you’re prioritizing your tasks, take a page from Dwight Eisenhower and ask yourself if each task is important, urgent, or neither. Cut appropriately.


Perfection Is Just Procrastination

We all want to do great work. To pour over every detail, tweaking and tuning until everything is “just right.” And with good reason — it’s those little details that help a project stand out, stick in people’s minds, and provide value to users. By caring about everything, we can be proud of our work. But, taken to the extreme, sweating the details turns quickly into perfectionism. And there’s one big problem with perfectionism; you’ll never achieve it.

We all want to do great work.

To pour over every detail, tweaking and tuning until everything is “just right.” And with good reason — it’s those little details that help a project stand out, stick in people’s minds, and provide value to users. By caring about everything, we can be proud of our work.

But, taken to the extreme, sweating the details turns quickly into perfectionism. And there’s one big problem with perfectionism; you’ll never achieve it. Perfection exists solely in the mind’s eye. What’s beautiful to you might be complete garbage to someone else.

Don’t even get me started on evaluating your own work. Take a look at a project you “perfected” 10 years ago. Go ahead; I’ll wait.

Are you cringing yet?

The timeframe doesn’t even really matter. I’m willing to bet you’d have the same reaction if you went back five years. Or 2 years. Or — if you’re anything like me — just a few months.

So, the question you need to ask yourself is this: Why the heck are you spending so much time and energy “perfecting” your work, when you know it eventually won’t matter?

There’s a well-known quote from Ira Glass I love:

“And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions.”

That’s the secret.

While you’re fiddling around, trying to make everything perfect, others are getting on with publishing their work, gathering feedback, learning, and improving.

I’m not suggesting you stop caring about the quality of your work. Far from it. But you need to realize that, while your career may be long, your time today — at this very moment — is limited. Don’t waste it.

At a certain point, perfection is just procrastination.

Until next week,

-Brian


The Tools I Use

I don’t know about you, but I’m constantly tempted to hunt for new, exciting tools to incorporate into my work. The latest and greatest; something that will surely supercharge my productivity. The missing ingredient. I often hear from readers who want to know about the tools I use. They ask which editor is my favourite, how I edit my work, or what I use to track my to-do list.

I don’t know about you, but I’m constantly tempted to hunt for new, exciting tools to incorporate into my work. The latest and greatest; something that will surely supercharge my productivity. The missing ingredient.

I often hear from readers who want to know about the tools I use. They ask which editor is my favourite, how I edit my work, or what I use to track my to-do list.

Part of my wants to shrink away from those questions. The real answer, of course, is that tools don’t matter.

Mostly.

Tools matter a great deal. But it’s far more important to make use of the tools you have available, rather than always looking for something new. In the right circumstances, a new app might make you 5% more productive. But, if you spent 10 hours — or more — looking for, finding, and learning that tool, have you gained anything?

In my experience, the problems most developers face have nothing to do with their tools.

But I keep getting questions. So, I thought it might be fun to share a few of my favourite apps. Maybe — just maybe — you’ll find something you can use in your work.

Just don’t spend too much time on it.  

Ulysses

Mission Control for everything I write, from outline to the finished article. I’m typing this sentence on it, right now. Ulysses offers more features than I can count. It provides top-notch Markdown support and more options for exporting your work than I’ve seen in any other app.  

Deckset

I use Deckset for all of my presentations. It allows you to edit a Markdown document, while it automatically produces slides for you. Stop worrying about fiddling with slide transitions, and start worrying about your content.  

Alfred

The first app I install on a  new machine. Alfred can help you launch apps, do math, search the web, and so much more. Thanks to Workflows, it also allows me to make phone call, switch my audio source, shut down my laptop, or search Giphy. All from my keyboard.  

Todoist

I’m giving this one a try, after being a fan of Omnifocus for many years. It’s working well, so far.  

Hazel

I hate organizing my files. With Hazel, I automatically delete old downloads, clean up my desktop, and moves files based on the tags I give them.  

Grammarly

As someone who writes thousands of words a month, my subscription to Grammarly is worth every penny. It checks my writing for issues with grammar, spelling, and sentence structure. I’ve also used their proofreading services, from time to time. Highly recommended.  

Trello

I publish the newsletter every Monday and the occasional article during the rest of the week. I also contribute guest posts to other sites, from time to time. I manage all of my writing tasks through Trello. My writing board has a lot of lists on it — 17 in total. They cover everything from the latest newsletter drafts, to guest posts I’m writing, to tracking where I’m publishing & promoting my work. I couldn’t keep everything straight without it.

How about you?

What are some of your favorite apps? Shoot me an email and let me know. I’ll share some of my favorite suggestions in a future edition of the newsletter.

Until next week,

-Brian


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


Not Too Philosophical

I recently got an email from a Monday Mailer subscriber, complimenting me on an article I’d written. They liked the piece and told me to,“keep them coming.” I love hearing from readers, particularly when something I’ve written has helped them in some way. But it was a comment at the end of the email that caught my eye.  “Not too philosophical, though” I wasn’t quite sure how to respond, to be honest.

I recently got an email from a Monday Mailer subscriber, complimenting me on an article I’d written.

They liked the piece and told me to,“keep them coming.” I love hearing from readers, particularly when something I’ve written has helped them in some way. But it was a comment at the end of the email that caught my eye. 

“Not too philosophical, though”

I wasn’t quite sure how to respond, to be honest. I just replied, “Heh. Thanks.”

I’ve heard variations on that comment before, and it confuses me every time. Side projects involve a lot of technical topics, to be sure. It’s rare not to have to think, at least a little, about things like database structure, deployment, programming language, and hosting. 

But, when it comes to creating something new and sharing it with the world, there’s something else you need to deal with: the space between your ears.

When I sent out the Monday Mailer survey, I asked, “What’s the biggest challenge, when it comes to your work?” The majority of the answers were related to time management, motivation, focus, and prioritization. In fact, less than 3% of the responses involved coding at all.

I think I’m different from many programmers. I’ve always been interested in technical topics, but programming has always been a means to an end for me. I’m not interested in knowing every nook and cranny of a particular language or framework. I’m interested in solving problems for real people, using technology. Programming is just what it takes to get there.

If you asked some people, they’d say that makes me less of a programmer. To them, you aren’t worth much unless you know how to find the minimum depth of a binary tree, or can recite how to do a Heap Sort from memory. 

I realized a long time ago I was never going to appeal to those people. It isn’t that I couldn’t pick up the skills necessary — I just don’t care. If you’re plugging away on sophisticated algorithms at Facebook or Google, I salute you. But I’ll never be you.

I deal with a lot of technical issues all day, at work. When it comes to my writing, I want to explore other topics. The kind of themes that aren’t discussed very often, in most programming circles. Topics like, “What do I do when I’m falling behind the rest of my team?” or, “How do I get over my fear of shipping?”

Those are thorny problems. And they’re problems most of us face, from time to time. Technical skills can be taught relatively quickly, assuming you’re a willing student. You can buy an online course or a book. You can listen to podcasts, or hang out in Slack channels. If all you care about is writing pretty code, there’s plenty of ways to fulfill that goal.

But if you want to become more confident in your skills, get over your fears, learn how to ship your work, or get better at working with other people? That’s alot harder to do, particularly in a field full of people reluctant to think about the non-technical. It requires support from other people and maybe, just maybe, some honest writing from people who have been there.

The Monday Mailer won’t always be about motivation, or fear, or other “soft” skills. I’ll always write about how to promote your work, be more productive, get better at consistently shipping, and brainstorming new ideas. But it won’t be what I write about exclusively.

Until next week,

-Brian