The minimalist day planner

My Minimalist Day Planner

A few months ago, my partner introduced me to the Day Designer. I used their print-at-home version for a few days in an attempt to add some sanity to my busy days.

But I was finding they weren't quite what I was looking for. I wanted my day planner to help codify two habits into my day:

  • Gratitude journaling: The Five Minute Journal from Intelligent Change is all about enriching your day-to-day experience by prompting you to think of what you're grateful for each day. I really appreciated this idea, but wanted to integrate it into my daily planning routine so it would be more or less automatic. So I decided to ask myself each day three things I'm grateful for.

  • Pomodoro technique: I use the Pomodoro Technique religiously when I'm working. Not only does it improve my focus by encouraging me to stay on task for short bursts, but it also helps me frame my tasks into more tangible 25-minute blocks as opposed to the vague notion of minutes and hours. To help track my time, I added two tomato-shaped checkboxes for each hour of my day planner to track 2 25-minute pomodoros and 2 5-minute breaks.

My Minimalist Day Planner

Download the Minimalist Day Planner (PDF)

The freedom of less


For the past two years I've been devoted to the pursuit of less and fewer: Less debt. Less stuff. Fewer commitments. Less driving. Fewer expenses. Less social media. Less drinking.

And suddenly I'm finding myself with more: More money. More attention. More time. More meaning. More fitness. More freedom.

It hasn't been an easy journey, but it has been a simple one. There are just two principles that have driven me here:

  • Spend less than you earn.
  • Strive to be happy with what you have.


Rewind back to late 2014. I had just moved to Seattle with my girlfriend at the time and was living the yuppie dream. We had an apartment with a sweet view and we went out drinking a few nights each week. I didn't spend beyond my means, but I generally spent the money I earned each month. I'd buy new computer equipment, recording equipment, or clothes. And what I didn't spend went toward servicing my student loans. Our monthly rent was $2,275/mo, which was pretty standard for our neighborhood.

Then something hit me. I realized I'd been holding my student debt for almost a decade. There was haunting symbolism in that. Each month I made a $400 payment to Sallie Mae. It felt normal—as if that was the way things were and that I'd be paying the loans for another decade. My balance at the time was somewhere around $30,000. The amount was a far cry from the student loan horror stories you hear from graduates nowadays, but it still made me nauseous to think about paying them off.

I decided enough was enough. It was time to rid myself of debt once and for all. I tallied my monthly expenses. I began eliminating all non-essential spending. I told my friends I could only go out one night per week. I took on more client work to help pay down the balance. And before long I paid them down.


It's hard to describe the feeling of being free of the shackles of debt after having known it for so long. I felt like I could breathe again. I knew the money I earned was now mine to keep. I knew I was in control of my time for the first time since before college.

Or was I?


Despite my temporary hustle to pay down my debt, I realized my living expenses were out of control. My girlfriend at the time and I parted ways, and I was stuck servicing rent at our apartment. I did the math, and realized that if I suddenly lost my income I could only sustain my lifestyle for maybe two months.

For the remainder of my lease, I labored to reduce my expenses where I could. I dined out less. I found a new affinity for lentils. And I took on more client work so I could save and invest at least a little bit.

And then I met my current partner. She and I moved into an apartment in Green Lake, which is a much less expensive Seattle neighborhood than Capitol Hill. My rent dropped from $2,275/month to just $1,067, with my partner covering part of the $1,600/month total. That meant I just reduced my rent by 53% overnight. Woo-hoo!

But you get what you pay for. In Seattle, a 2-bedroom apartment for $1,600 is a steal. But it was right next to a busy street and it sounded like there was a highway in our living room. Our bedroom window faced an alleyway. We didn't have the luxury of laundry in our unit. And the appliances, while working, were outdated. The refrigerator smelled like rotting milk. The apartment had terrible ventilation problems.

All of this would have been tolerable if we had a compelling reason to stay in Seattle. If either of us had a lucrative or meaningful career that was reliant on our physical presence in Seattle, it would have been worth it to tolerate the cost. But I work from home. At the time, my partner was working a part-time retail job. What were we paying for, exactly?

We both love attending cultural events that a big city like Seattle hosts. But we're also both generally homebodies. I can't speak for my partner, but as I've gotten older I've found myself valuing a nice home. Not a big home or a flashy home or anything like that. I value a home that feels like home. A place that's comfortable. A sanctuary. And our place in Seattle was anything but that.

Then we took a trip to Eugene, Oregon. And it was right then I knew I'd found my new home. I just had to convince my partner it was the right move. After a few long discussions, we decided upon a cozy house in the hills. Rents in Eugene make me feel rich! Here's the cost breakdown for my last three apartments. Notice the precipitous drop in price per square foot:

Location Monthly Rent My Share $/sqft
Capitol Hill, Seattle $2,275 $2,275 $3.79
Green Lake, Seattle $1,600 $1,067 $1.60
Eugene $1,395 $930.00 $1.27

My partner and I cook almost every day and eat most of our meals in. We have a morning coffee and breakfast ritual. We own only one small car.

Because of all this, my mandatory monthly spend is only around $2,000. That covers rent, food, and utilities.

For every $2,000 I have in the bank, I can sustain myself comfortably for a month without working.


I'm not sure there was a specific moment when it happened, but it changed my relationship with work forever.

It was the moment when I realized the psychological power of capital. The power of money is hardly in the material things it can buy. No, the true power of money is in the way knowing you have it changes your behavior.

Because I know I'll be able to pay my bills for the foreseeable future without working, the way I treat my client work has changed dramatically.

No longer am I desperate to please clients in the short-term. I remember bending over backwards, compromising my values and my health in order to make sure I'd continue to get paid.

Now instead of engaging with clients purely to get paid, I do it to serve them and their interests. Conveniently, money tends to be a byproduct of this service.

The beauty in having capital is that you're free to walk away from toxic client relationships. And you're in a position to vet new relationships with more scrutiny before it's too late and you've made promises you cannot keep.

The irony too, is that by maintaining a low-expense lifestyle I'm able to charge more for my services because I know I don't need the work. This doesn't mean I don't respect my clients' needs and constraints. In fact, minimalism has led me to respect them more because when I work with clients, I treat them like people instead of paychecks.

My desire to make it in my career has subsided as a result. If you're ambitious you probably know what I mean by wanting to make it. It's that sense that if only you had a few more markers of success, you'd finally be happy. You know what? I've acquired a few of those markers over the past decade and none of them made me happy. I've had luxury apartments and fancy dinners and $15 cocktails. I've been lured by big salaries and bonuses. None of it made me happy. Truth is, most of the things that make me happy don't require money. So why do we keep chasing more of it?


So what do I live for now?

I live for meaning. For cups of coffee with my partner in the morning. For quiet bicycle rides. For losing myself in complex programming problems. For being a disciplined learner. For the pursuit of art. For excellence.

I live to be curious. To be valuable. To serve others. To contribute. To live each day like it's my last, but knowing what that means for me.

I live to be free. To recognize that money is important not because of the stuff it can buy but because of the freedom it can buy. The freedom to breathe. The freedom to spend an afternoon writing an article for my blog instead of working to pay off a BMW.

To me, happiness is knowing if I died tomorrow I'd die with dignity. I'd die knowing that up until this moment I spent my days in accordance with my values.

A luxurious lifestyle would be nice, but it's not necessary for a life well lived.

Feng shui for programmers

My office, in command position

I'm fascinated by the subtle changes that make a big difference. The optimizations that only take a bit of time and thought, but which fundamentally improve our lives. This weekend I stumbled upon one such change by accident.

I'd heard of feng shui through popular culture, but never really took the time to understand its principles. All I really knew is that it was "bad feng shui" to have your bed against the same wall as your bedroom door. And while the boldest claims feng shui practitioners make should be regarded as pseudoscience, it's still worth examining whether there are parts of the practice that can be appropriated in order to live a better life.

A YouTube search for "feng shui office" turned up tons of self-proclaimed feng shui consultants recommending placing your desk in the command position. For the layman, this just means that instead of putting your desk against the far wall with your back to the door, turn your workstation around so you face the door with your back against the wall:

Command Position

The theory behind this is that the wall behind you provides you some sort of energetic support and that by facing your door, you're open to new business entering your life. If that sounds woo-wooey, you're not alone. But being a bit of an interior design enthusiast, I couldn't help but spend an hour rearranging my office to see how it felt to face the other way.

When I did, I was struck. I feel more open and in control sitting at my new workstation---and yes, I'm aware how new-agey that sounds. There's just really no other way to describe it.

I do wonder though: Is part of why I feel better with my desk facing into the room that my periphery is more expansive? Rather than looking out onto a wall directly in front of me, I'm now looking at the entire room. I wonder if there's some biological response of which I'm unaware.

If you have the luxury of having a dedicated office and your desk currently faces the wall, give the "command position" a try. I'm curious whether you feel the same empowerment I do.

Things you might notice if we work together

I won't respond to emails immediately

But I will respond to them within 48 hours, and when I do I'll make sure I give them the time they deserve. I learned years ago that living inside my email inbox is a surefire way to fragment my attention throughout the day.

What this means for you is that I'll focus my full attention on your product. I'll enter a state of flow and have insights about your product I wouldn't have had if I were constantly checking and responding to my email.

I try to check my email twice per day: Once before lunch, and once before I leave the office.

I won't be available in Slack all day

Even though I built a SaaS product that loves Slack, I've found that it tends to interrupt and fragment my work.

I love Slack for what it is: A clever tool for communicating with your team about the on-goings of the day. But I've noticed that when Slack is open and active as I work, my attention gets split between the work of attending to inbound chat messages and the work of designing and programming.

That's why I usually only keep Slack open for an hour each day, and try to remain engaged with chat for that period of time. It reduces the number of times I have to switch contexts over the course of the day, which ultimately turns into cost savings for my clients and a happier mind for me.

We won't have tons of meetings

If we work together, I want to ensure you feel confident I understand your business and how software can help you.

But once I do, it's critical to your project that I get to spend long blocks of uninterrupted time deep in thought (and code) building your new product.

Some meetings are productive. If we call a meeting to define next week's block of work, and afterwards we've defined the work, then hooray! What a productive meeting.

But if we call a meeting to "discuss the status of the project," what have we accomplished that couldn't be done in a couple emails? When it comes to meetings, clear outcomes are key. If I'm not billing you for lots of meetings, that'll leave time for building your awesome product.

You'll get the best service and quality

And of course: Because my mind is freed to go off and imagine the best solutions for your project, you'll get a better product. I guarantee it.

How to position yourself to bill clients weekly instead of hourly

One of my friends asked a great question about weekly billing as a freelancer:

How do you position weekly billing with an organization that has strict accounting procedures?

In case you're unfamiliar with the benefits of weekly billing, read my previous article, Why I stopped billing hourly and you should too.

What are some strategies we can employ to help our prospective clients view a weekly billing cycle in a more positive light?

Productize your services

When a company's accounting department or project manager hears the new freelancer wants to bill a weekly rate, they'll rightly have a fit if their clients are used to receiving a bill for a rate in hours. After all, how will they bill their clients within the context of a contract that states all labor will be paid hourly?

But if instead, you position yourself as a vendor offering a product, the story changes. Now you're not a freelancer, but a vendor. Not only are you more in control of your pricing, but you de-commodify yourself in the marketplace.

You're not Joe Freelancer the Designer, easily replaced and micromanaged. You're Joe Design Product, a one-of-a-kind designer machine.

And if this approach doesn't work? Give them enough reasons, through marketing materials and brand promotion, to believe that you are the best solution to their problem. If they believe you're the saving grace for their clients, you can bet they'll find a way to make it work.

Brennan Dunn over at Double Your Freelancing has an awesome article outlining 3 great examples of productized consulting services that ought to inspire you.

Deliver value before getting paid

The surest way to build trust with another human is to give something to them without expecting anything in return.

Can you add value to your prospective client's project before you sign anything?

If you're a designer, can you make 3-5 recommendations about how you would change their current design approach?

If you're a developer, can you ask them what their biggest pain point is and do a few hours of research to help them along?

In sales, reciprocity is powerful stuff. In my day-to-day sales efforts, I make a point to be genuine and help my prospective clients unconditionally. But I'm convinced it has a profound effect on my ability to close sales. And it should! Giving is good.

Build rapport with testimonials

When it comes to building trust, social proof is huge. Craft solid testimonials that say to the reader, If you go anywhere else, you're going to lose.

How do you get these awesome testimonials? In The Brain Audit, Sean D'Souza shares six questions that changed my consulting career forever. They're questions you can send in a polite email to your past clients which, if answered, almost guarantee you'll be able to extract a high-impact testimonial for your marketing page:

  1. What was the obstacle that would have prevented you from buying this product?
  2. What did you find as a result of buying this product?
  3. What specific feature did you like most about this product?
  4. What are three other benefits of this product?
  5. Would you recommend this product? If so, why?
  6. Is there anything you’d like to add?

Read his analysis of the questionaire to understand the theory behind each question, but I can attest that this works. In fact, the testimonials on my homepage are derived from answers to these very questions.

Explain that hourly billing incentivizes tedious, low-value work

Attorney Matthew Hickey discusses his transition from billing hourly to billing at a fixed rate for services.

One of the key takeaways from his article is that the billable hour incentivizes working less efficiently. After all, if you can squeeze out another half hour, your brain is going to be more likely to take the long path to the same destination. With weekly billing, this could become a problem on a macro scale, but it's much less likely you'll sit on your thumbs for a whole week and your client won't notice.

Not only does the billable hour incentivize working at less-than-maximum capacity, but it gives you permission to split your attention between several different client projects at a time, nickel-and-diming them for each. This lack of focus will translate into poorer quality.

Give your clients reassurance that when you bill them weekly, they're receiving your full attention for the time allotted. They'll be better able to estimate their overall cost, and be armed with the confidence you're putting their best interest at heart.

Get into a position where you can turn down the work

What if, when your prospective client insisted that they'll only work with you if you bill them hourly, you cold tell them that you only bill weekly and that the engagement wouldn't be a good fit?

Sometimes, we're responsible for feeding our family and paying rent with the next check our clients write us. But if we're able to get our cashflow in line, our expenses in check, and our debt eliminated, we can have enough in the bank so that we have the leverage to say no.

I can say first hand that I'm able to charge more now that I spend less and have no debt. It's a bit counterintuitive: I'm making way more money and I'm spending way less! But when you think of the psychology of making a sale, desperation will lead you to undercut your own value.

Save a year's worth of household expenses and soon you'll find yourself willing and able to turn down work arrangements that don't suit you. You'll find that if you deliver enough value, soon enough your clients will come around to realize they can't afford not to hire you.

How do we know when we've arrived?

I've had a fire under my ass the past couple months.

I think in part it's my fear that I'm getting older and too comfortable. If you're over 30 and in the tech industry, I'm sure you can identify with this fear. It's crippling to think you might be rendered irrelevant, and even worse when faced with the irony that it's because you're too experienced.

And really, all of this stems from our tendency to compare ourselves to others. To think that if we're not running a big company or sitting on millions (or billions) of dollars from an exit, we might not have fully self-actualized.

But something struck me last night as I was getting ready for bed. I tried to imagine my ideal future. Have you ever tried to do that? For me, the canvas was blank. Or at least out of focus. I couldn't really define what it was I was after.

Is it money we're after? Sure, financial independence and certainty would be better than not having it. I don't know about you, but I love to work and often find myself restless on days I'm supposed to be relaxing. How is money going to fix any of that?

Do we want recognition? I love to foster connection and think it would be fun to speak at big events, to autograph books, or to have a cult following on Twitter. But when I close my eyes and imagine myself in those shoes, I'm actually more stressed out and feel under tremendous scrutiny. I think we tend to idealize being culturally significant, but fail to recognize the tradeoffs.

So what is it?! I've been leafing through Tony Robbins' Awaken the Giant Within. For me, the most illuminating point he makes is that material wealth and cultural significance don't create lasting contentment. It's actually our contributions that give us lasting joy.

It bears repeating: The investment with the greatest existential returns is a gift given unconditionally.

Granted, Tony Robbins is the king of pop psychoanalysis and if you want to hold his statements to the fire of more rigorous inquiry, I don't blame you. But when I inquire about my own life, chasing fame or fortune has never made me contented. And my tiny brushes with both have left me feeling hollow and unfulfilled.

Gratitude and charity, on the other hand, have always, 100% of the time, left me feeling energized and capable. What's even more striking is the irony that gratitude and charity inevitably lead to fame and fortune. Who doesn't appreciate and honor someone who gives to others without asking for something in return?

I'm writing this as a reminder to myself, but I hope it's helpful for your journey as well. The path to contentment and wealth is paved with kindness, gratitude, generosity, and contribution. These are difficult to enact each day because we're constantly bombarded with messages that lead us to believe the contrary.

The tools I use & why I use them

My workstation

I've spent a decade honing my engineering and design workflows, but never really bothered to share all the tools that make my days more productive and enjoyable.

My main criteria when evaluating the tools I use each day are:

  • Do they enable me to work close to as fast as my brain can think?
  • Do they make the experience of working a joyful and rich experience?

Here's a list of all the tools I use on a near-daily basis, and why they make me a better craftsperson:


Quicksilver is the original Mac app launcher. Although it sometimes feels dated next to Spotlight, it's scriptable and lets you perform actions on your searches. Although if I'm being honest, I usually just use it to launch apps rapid-fire.

If you're still hunting for apps in your Applications folder by hand, definitely download Quicksilver and work it into your workflow. You'll be surprised you could live without it before.

Quicksilver launching Quicksilver

Get Quicksilver


Ever get frustrated trying to optimize your screen real estate in OS X? I like to work with a terminal on one half of the screen and a browser on the other. Trying to size the windows in this way using the mouse cursor is a bad time.

Divvy is a window management tool for OS X. It allows you to quickly size windows into exact screen portions.

I have mine configured for three quick keyboard shortcuts to allow me to make the currently-focused window occupy the left half, right half, or entirety of the screen:

Divvy Shortcuts

Get Divvy


I used to have a tic where I'd open a new browser tab, type "f", and press Return to launch Facebook. Then I quit Facebook, and the tic shifted to typing "r" and launching Reddit. Ever been there?

I've surveyed a bunch of Mac content filter apps for keeping me focused when I'm working, and Focus is by far the best one.

It has support for blacklist- and whitelist-based filtering, timers, schedules, and a special "Hardcore Mode" which doesn't let you turn it off in the middle of a timer or schedule.

When you visit a blocked site, you'll be forwarded to a page with an inspirational quote:


Get Focus

Pomodoro One

Having trouble staying on task for hours at a time?

What if you tried staying on task for just 25 minutes? Think you could do that?

Whenever I'm feeling distracted, I use the Pomodoro Technique to keep me going. The gist of it: Work for 25 minutes and then take a break for 5. Repeat several times.

Pomodoro One

Pomodoro One is a minimalist Pomodoro timer I use when I'm in crunch mode. It keeps me focused for hours because I know a break is just around the corner.

Get Pomodoro One



I've tried so many personal task management tools and OmniFocus is the best one there is, hands down.

Built by disciples of David Allen's Getting Things Done methodology, OmniFocus keeps all your tasks organized by project and context.

My favorite feature is the Inbox, where new tasks live until you get a chance to sort through them. It has integration with iOS's "Send to" feature, so I'm always able to forward articles and ideas directly to my OmniFocus for later reading without losing a beat.

Notational Velocity

OmniFocus is amazing for tracking tasks, but often I just need to archive bits of information for retrieval. This might be account numbers, usernames, license keys, or lists of books I want to read.

Notational Velocity


I've tried so many freaking Mac mail apps. All of them have a common problem: They're slow when put under real-world load.

I delete a ton of email, just like I'm sure you do. I found that every desktop mail app I used would lag when I was doing rapid-fire deletion.

Plus I really wanted an interface with Vim-like keyboard shortcuts.

The GMail interface is fast and had keyboard shortcuts. But I like to isolate myself from email during the day because it's almost as much of a productivity suck as Slack.


That's when I found Mailplane. It's a Mac app that wraps a nice desktop interface around GMail. Although it doesn't satisfy my dream of having a single inbox for all of my three email accounts, it does a great job of showing me my email, letting me batch through all my messages to get to zero, and getting the hell out of there.

Get Mailplane


Vim is the best text editor on the face of the earth.

And that will be the most hotly-contested statement on the face of the earth.

But seriously: Before you learn them Vim keybindings seem archaic and confusing. But they're built for speed. And once they're part of your muscle memory, they'll come as natural to you as the alphabet.

As I said before, one of my criteria for choosing my tools is if they get me closer to being able to work as fast as I think.

Here are some of my favorite Vim plugins that enhance my workflow:

  • vim-pencil: Rethinking Vim as a tool for writing. I'm using it to write this!
  • ctrlp.vim: Full path fuzzy finder for Vim. It's like the Quicksilver launcher for your text files.
  • NERD Tree: A file tree explorer.

Vim Homepage


Tmux is like Divvy (above) for your terminal. Split a terminal window in half without using the mouse, deploy new shells, and keep your entire session running even if you close your terminal window. Here's me editing this article using it (and Vim) right now:


Probably the biggest reason I use Tmux is because it enables IDE-like functionality without leaving the terminal. For those of you using Emacs, you might not find a use for Tmux in your toolbox. But being that Vim is a text editor first and foremost means you have to look elsewhere to do things like display an editor and shell in the same screen.

Get Tmux


Tmuxinator enhances the Tmux experience by giving you the ability to fully configure Tmux workspaces and launch them with a single command.

Imagine you're working on three different web projects. Each of them has a server process, a file you're editing, and maybe a test runner. Instead of launching all of these as separate terminal windows every time you want to switch projects, Tmuxinator allows you to configure Tmux workspace templates so that switching projects is as simple as typing mux my-project.

Plus, in case you ever accidentally close a terminal window like I do all the time, your session is saved right where you left off. Just use Tmuxinator to re-launch your session and everything will be right where you left it.

Get Tmuxinator


Powerline is a nifty little status line plugin for Vim, Tmux, ZSH, and others. It displays things like the current time, CPU utilization, and more.


Get Powerline


If you're not using a static site generator for your blog, I implore you to consider it! It reduces your maintenance overhead since you don't need to bother with configuring and maintaining a server or database.

And with services like Disqus and my own Formbot, it's hardly necessary to run a server application for most blogs.

There are plenty of static site generators and they all have their pros and cons.

Being a Ruby enthusiast, I settled on Middleman. It has enough features, including a robust blog plugin.

Plus it has support for external pipelining, which I use to generate image thumbnails in Gulp.

Try using Middleman

Amazon S3 & CloudFront

I've used S3 to host my static sites for years. Despite its learning curve, S3 offers unlimited storage and bandwidth at a relatively low cost.

I use the gem middleman-s3_sync to sync my Middleman sites to S3.

Hosting a Static Website on Amazon Web Services

2014 MacBook Pro

In my opinion, the 2014 and 2015 Retina MacBook Pros are the best laptops Apple ever made.

They balance fast speeds, elegant design, and ports (yes, there are ports!) for most applications.

I think it's the most refined notebook computer in history. And I'm sad Apple decided to veer off that path with gimmicks like the Touch Bar.

So for now, I'm staying in 2014.

Buy a MacBook Pro from 2015 before they run out!

iPhone 7 Plus with Defender Case

This is the best smartphone I've ever used. Even though in its Otterbox Defender case it's as big as a 1980's carphone, the iPhone 7 Plus feels like putting a computer in your pocket.

Visit the iPhone 7 site

WASD Keyboard with PBT keycaps

WASD Keyboard

I didn't believe the hype at first.

An entire subreddit devoted to mechanical keyboards?!

Spurred by some pretty brutal wrist pain, I sought relief through new hardware. I looked at Amazon review after Amazon review and people were recommending mechanical keyboards.

I settled on the WASD 87-key keyboard. The Wirecutter agrees.

A $150 keyboard?!

Yes, and I spent $100 on custom keycaps. It's not for everyone. But I can tell you my fingers are happy all day long pecking away on this gorgeous keyboard. And like a good mattress, a good keyboard returns on investment over years of constant use.

Build a custom WASD keyboard

Nine ways to kick ass on a remote team

Ten years in cafes

It's my ten-year anniversary of working remotely. That's a decade of coding at home in my underpants.

In that time, remote work has gone from being a fringe idea to being a mainstream industry and lifestyle.

Best practices for remote work are emerging, but they're far from codified. These are the things I do every day to make sure my projects run smoothly. They've made my teams happy and my clients happy.

1. Use (and learn!) a project management tool

It all comes down to threading. Every single time I've used email or chat to clarify requirements, it started a death spriral of scrolling up in the chat log to find the thing I said last week or last month. When you keep everything in context, it's a lot easier to track everything.

And keep it a simple tool. Just use something that has support for making comments in separate todos that you can mark done when they're done. Forget complicated velocity tracking and projections. They're going to be wrong anyway.

2. Invite the developers to every planning call

An agency I used to work with would exclude me from scoping and discovery discussions with their client. Their creative director would meet with the client, then relay the client's vision back to me.

Because of this, there were constantly questions left unanswered at the end of our planning sessions, since I tended to ask specific questions the creative director couldn't answer.

So he went to the client to ask them for answers.

And then we'd meet again. And the cycle would continue.

It's powerful to have constant contact with stakeholders. Introduce the team to your client and foster their relationship. When I do, I find the project ends up running itself.

3. Invite the client to every planning call

Building software is an amazing adventure because we get to work on projects in all sorts of industries! I've worked in fashion, pharmaceuticals, government, social media, and energy engineering, just to name a few.

Because of this, we're at the mercy of our clients to really know what they need built.

The why is critical. Make your client the focal point of your sprint planning.

4. Batch and limit conference calls

Meetings and conference calls are the only way to brainstorm and discover new features. They're also the only way to plan a development sprint.

But they're expensive. They demand the full attention of your entire team. If you have a two hour meeting with your four team members, you've lost a full workday's worth of work to that meeting.

I do my darndest to limit mandatory meetings and conference calls to under 10% of my total work hours, and batching that time all at once. The planning has to get done, but getting it done all at once means you're free to create and produce the other 90% of the time without interruption.

5. Make every task actionable

Semantics are important.

If you need to build the new marketing site and you add a task with the caption "Build new marketing site", you're going to spin wheels trying to figure out how to get it done.

But if you identify the pain points within that monumental task and sketch them out in separate tasks, you can delegate and accomplish each of them separately.

So maybe you write "Survey CMS's for new marketing site" and "Pick CMS for new marketing site" and "Deploy CMS".

And then you break down each of those tasks.

And then if it's necessary, break those down.

Suddenly, everything is in view and your team can execute.

6. Refine incomplete tasks

If there's a task that's done except for a tiny edge case, add a new task to cover the edge case, call the original one done, and make a note of it in the old task.

Now you're razor-focused on the edge case. And now your team can better assess the sprint progress without digging into every single task ticket.

7. Peer review every commit

I used to resent the process of mandatory peer review. But after having been humbled by being called out on my bullshit a few times, I can attest to the value of knowing someone else's eyes have grazed my work before it goes to production.

8. Don't use email or Slack to delegate tasks

If there's work to be done and you want to ask someone else to do it, open a ticket in your project management tool and assign them.

Don't explain it in Slack.

Don't send them an email.

A project management tool is designed to track and manage project requirements and progress. Email and Slack are fantastic platforms for informal communication, but if it winds up in the product, make sure it has a ticket.

See #1.

9. Close email and Slack most of the day

This is my superhero hack. And it's hard, because we're conditioned to be responsive and always-on.

But the truth is, the world won't end if you disconnect and focus on one thing for a few hours. I have to tell myself that every time I do.

Slack and email have their place, but it's not in the middle of your focused creative work.

I limit my Slack online time to an hour each morning, and I check my email twice daily. Sometimes I break these rules, but I think they're worth aiming for.

Read Cal Newport's book Deep Work and watch Merlin Mann's Inbox Zero talk for more on this.

How losing all my hair has changed my perspective in tech

Where did all my hair go?!

Where did all my hair go?!

I started programming when I was 6. I had a full head of hair.

Now I'm 31. And all my hair is gone.

In tech circles, 31 feels old. You 40-year-olds might scoff at that notion, but since turning 30 I've felt a distinct shift in the way I make decisions. I'm less inclined to dream big and more inclined to play it safe. That's not to say I don't still dream big, but I examine caveats with more scrutiny than I did when I was 21.

I'm not as easily manipulated into work I don't enjoy

When I was 21, I'd jump at the opportunity to build new things, even if it meant compromising my values or sacrificing all my time. At 21 I had a desire to prove myself and my worth. That, and I don't think I possessed the resilience to stand my ground.

Now I vet projects with great scrutiny before committing. I want to work on projects that add great value to the lives of others and to work with people who value their time as much as mine.

I'm not sure I would have even uttered such sentiments ten years ago. I was afraid of being cast aside---of being seen as elitist or unappreciative. But now I realize being discerning and being grateful aren't mutually exclusive.

My aims lie not in achieving an "exit", but in doing great work

I've seen a few of my friends and colleagues "make it big."

I think it's amazing when someone finds their way to the pot of gold. And if I someday have mine, I'll feel blessed for it.

But that's not what all of this is about.

We're craftspeople. We thrive in the creative journey. To create is to leave a legacy bigger than yourself.

No amount of money can ever do that. Fame cannot do that.

Ten years has shown me my happiness comes not from cashing out but from pitching in.

Experience is an invaluable asset

When I was 21, I said "yes" to just about everything.

Can you build this app for me? Yes!

Do you want to take on another project? Yes!

Can we get this done by next week? Yes!

At 31, I know the naivety of that sort of indiscriminate head-nodding. Now my greatest asset isn't my willingness to say "yes" all the time, but my ability to know when to say "no."

I worry about different things

I don't worry about whether I'll make rent next month, but I do worry about whether I'll have work next year. That is, I've learned how to manage my resources but am fearful of being made redundant.

But I'm choosing to be an optimist in that regard. Continuing to learn and grow and connect has never done me wrong. And to witness the arc of technological progress over the course of the past decade gives me hope that tomorrow's digital products will be richer and more immersive than ever before. I want to be a part of that. I will be a part of that.

Why React will make UI designers redundant... eventually

Material UI

A thought occurred to me today as I was knee-deep in a Material UI codebase: For a lot of MVP's, hiring a visual designer is largely irrelevant now.

Bootstrap popularized the idea of prefabbed component sets, but using it relies heavily on a soup of CSS classes ugly HTML. Because of this, most Bootstrap codebases I've worked on turn into a confusing mess of CSS overrides. Gross.

React components eliminate that entropy. Instead of shipping a framework consisting of complex markup that only works when used a certain way, frameworks like Material UI are able to deliver visually challenged developers a framework for developing pleasant-looking interfaces with ease.

Obviously, great products require forward thinking visual design direction and the aid of a dedicated designer---especially in the consumer space. And someone needs to direct the user's experience regardless of the interface aesthetic.

But for delivering rapid value, interface componentization means we're able to develop fully-working, beautiful prototypes without full mockups.

The way I see it, this trend will continue. Component sets will mature, React will be replaced by another more powerful component-based library, and new methods for rapid UI prototyping will emerge.