Practicing Developer Weekly, S1-E2

As I’m writing this letter, the pre-vote debate for President Trump’s second impeachment is underway. Hours after I sent out last week’s newsletter, the US Capitol was under siege by violent rioters. None of this was surprising given how things have been going in US Politics, but it doesn’t stop it from being shocking, disappointing, and scary.

But onward we go nonetheless, and I’m thankful that you’re here reading.


Grit matters quite a bit.

There are certain cultural values that have been warped by “hustle culture” that I think are worth reclaiming. One of them is the concept of grit.

grit (n): courage and resolve; strength of character.

If you’re still on your feet after the wild, chaotic, and overwhelming year we’ve all gone through since the start of the pandemic, odds are that it was thanks in part to the development of grit within you.

The term is odious when used to justify extreme self-sacrifice in the name of moving some business performance metric by 0.5% at the cost of your connections with friends and family, or your own health and wellness. But when it comes to showing up where you need to show up in life even when the world around you keeps trying to knock you down, there’s virtue in grit.

The problem with grit is that the word itself makes it sound like what you ought to do when life gets tough is dig your heels in, friction be damned, and bear the grind no matter how much it hurts. You could go that route, but it usually has more costs than benefits.

Instead, think of grit as acceptance. Yeah, the path you’re on is uneven and covered in weeds and sharp rocks. Wear a good pair of boots, and watch your step.

Think of grit as buoyancy. Yeah, you might get knocked down six times a day. Get back up.

Think of grit as compartmentalization. Yeah, twenty things went wrong today. But six things went well. Build on them.


Immerse yourself in whatever inspires you, even if you don’t have time.

I used to look at a massive pile of unread books, or my endless laundry list of never-started and stalled projects, or my “maybe someday but seemingly never today” collaboration opportunities with others with a whole lot of guilt.

The more busy my life got, the more I had to say no to so many other things, and my first instinct was to suppress anything not on the critical path. I thought that’s what focus meant, but it made me miserable.

These days, I keep bookshelves stocked with books I know I’ll probably never finish. I daydream with friends and colleagues guilt-free, collecting an ever-growing list of “Wouldn’t it be cool if…”, and I’m constantly jotting down notes on business ideas and software projects that I know have about a 0.0001% of ever getting seriously worked on, let alone shipped.

And guess what, I get more done and am more focused and am happier because of it.

My daydreaming keeps me in touch with what inspires me, what I am hoping for in my future, and what gets me excited. Some of that ends up weaving its way into the handful of things I am committed to at any point in time, while the rest of it gives a healthy form of momentary escape from the daily grind.

(Side note: This newsletter started because one of my dream “Maybe someday” projects was to build a book review website for personal improvement, tech, and business books. That turned out to be a whole lot more work than what I can sustain, but I can gently nod at it via the quotes I share in these weekly letters. If I had just told myself “I will never have time for that idea”, it would have died on the vine rather than blooming into something else)


Never send status updates.

One of my major personal goals is to not feel time pressure any more than absolutely necessary in life. I am getting closer and closer to achieving that goal, and I am starting to recognize some of the habits I built over the years which have helped me get out from under the tyranny of the clock and the calendar.

If this is something you’re trying to improve on as well, here’s a recommendation: Do not provide progress reports, demonstrate progress instead.

Progress reports are just a story we tell others to say “we’re on track.” When somebody trusts you, it’s a waste of time, and when they don’t, it doesn’t do much to build trust, it only kicks the can down the road until you deliver something of real value.

But real progress comes in many forms, and doesn’t require you to be “done” to share it. Sometimes it might be a quick demonstration of a not-yet-shipped feature, even if some of the bells and whistles haven’t been added yet. Other times, it’s sharing an idea that your work-in-progress has sparked, or a set of questions that only were possible to ask once you got your hands dirty.

With a bit of creativity, it’s always possible to share a bit of real work that will be of interest to those you’re collaborating with.

Even when you’re far behind on things and have a long backlog and feel guilty for being radio silent for a while, there’s always a way to create a tiny spark that says “We’re moving forward”, without making promises you might not be able to keep or going on the defensive about why you are not quite yet at the point where the roadmap that was drafted up months ago said you should be by now.

In some cases, there’s value even in admitting that you’ve bitten off more that you can chew. Conversations that start with “This ended up being more complicated than I expected and so now I’d like to see if we can find a way to streamline and simplify things to get unstuck” not only help get you back on track when you’ve fallen off it, but when done well yields a form of creative resourcefulness that isn’t easy to come by when the deadline is far away and the challenges you’ll face are still unknown.

To build trust without feeling over-committed: Don’t talk about your work, show it.


Do 10% of your job shittily. It’s okay to do something shittily. Perfectionism prevents us from taking double steps in our career. We think we have to be perfect, but we don’t.”

Reshma Saujani, Founder of Girls Who Code


When a system is set up to accomplish some goal, a new entity has come into being—the system itself. No matter what the “goal'' of the system, it immediately begins to exhibit system behavior; that is, to act according to the general laws that govern the operation of all systems. Now the system itself has to be dealt with. Whereas before, there was only the problem—such as warfare between nations or garbage collection there is now an additional universe of problems associated with the functioning or merely the presence of the new system.

John Gall, Systemantics


What have you been wanting to learn for a long time but haven’t found time for?

How can you find a way to (enjoyably) dip your toe into it in a single sitting of 20 minutes or less, even if you don’t come back to it any time soon?


That’s all for today. Thanks for reading, and if you’ve got any ideas or questions to share with me, reply directly to this email.

(And if you’re enjoying these letters, please do tell your friends!)

-greg