Writing Small things are chiseled

One Hundred Mondays

I have a superpower, and like most superpowers, it’s not actually a superpower, but only a habit that I do 10% better than most humans. I chisel.

Let’s say there’s this big project I want to complete. It’s not a big project; it’s immense. I’ve never done it before, and I’ve no actual idea how to achieve it. This happens more than I am willing to admit.

But I really want to do it. This hypothetical project is not only immense, but it has an immense return on investment. Writing a book. Working at my dream company. Speaking at that one conference. The completion of this immense project has intrinsic value to me, which is why I’m so fired up to start.

Chiseling is not required in the first few weeks of this project because I am fired up and full of forward momentum. Outlines, ideas, drafts of things, loudly spoken next steps. Yeah, you’ve seen this human before. They are gesticulating wildly, wide-eyed, and working hard to build an army of the willing to join them on this endeavor.

You nod. Half-grin. And repeat to yourself the idea that everyone is already thinking as this fired-up human spins their impressive tale, “How long is this going to last?”

You’re right. The half-life of enthusiasm is a function of the perceived value of the project divided by the unbridled enthusiasm of the human. The moment the enthusiasm fades, the likelihood of the project’s completion significantly fades.

You’re right. We humans are well known equally for our initial high enthusiasm followed by our subsequent predictable shrugs and half-empty response, “Yeah, I’m still working on that. I’ll have an update shortly.”

There is no update.

You’re not working on it.

This project is done.

This is when I chisel.

Project Enthusiasm Honeymoon Window

A serial enthusiastic project starter, I am intimately aware of the Project Enthusiasm Honeymoon Window™. This is a period of time that starts at idea conception and ends when the project becomes hard.

No amount of energy makes the project less hard. I’ve now stared at this effort from multiple angles, I’ve reviewed the idea in my head endlessly, and I’ve reviewed it with you five times. You are tired of talking with me about it.

The challenge with closing the Honeymoon Window is that the perceived total complexity of the project is at its highest. As I’ve never done this before, I can’t think how to get from Point A to Point B, so I internally despair. How am I going to do this? This appears impossible. This is impossible.

So I chisel.

I find the minimal viable next step, and I do it. It’s not hard, it’s not lengthy, it’s just a step that obviously fits into the project. It makes sense, so I do it. Completely. If I’ve done it wrong, I attempt it again. And again. And again, until I believe it’s complete. It’s finished.

Then I do the next thing.

Is this the right next thing? I don’t know. Does this fit into a grand strategy? No. Is there an actual strategy in play? Not really.

So I do the next thing. And the next. And the next.

It is around this time that those watching my incessant chiseling start to notice. They see my small, potentially misdirected efforts and inquire, “Wait, are you still doing this?” This is the moment. This is the moment that weeds out 90% of the humans. It’s the judgment of someone you trust indirectly saying, “Wait, are you still wasting your time?”

My superpower is a combination of my ability to ignore this question and move on to the next thing. I am equal parts stubborn and tenacious.

The Return on Investment

Starting tomorrow, I’m posting three writing prompts to a mailing list every Monday. I’m doing this for one hundred Mondays, which means I’m writing three hundred prompts. You can sign up for these prompts right now.

I explain the rationale for this project on the site. The short version is that I recently pivoted my answer to the frequent question, “How do you write a book? from “Write one hundred words a day” to “Here are three customized prompts to get you started.” The reaction to this offer buoyed me to suggest this approach to larger and larger audiences, which was received with increasingly disproportionate enthusiasm.

Now, there’s a newsletter.

You’re likely reading this piece because you believe I have leadership wisdom to share with you. I do. You’re soaking in it. Right now. One of your most important leadership muscles to develop is your writing ability, not because you need to publish your words to the world but because, as a leader, you need to deconstruct how you think. Writing teaches you how you think.

If you choose to join me on the writing adventure, you will ignore most of these prompts. They won’t speak to you. Infrequently, one will. You’ll write a paragraph or two, and that’s it. Maybe you’ll share it with someone, but probably not. Finally, one prompt will anchor itself in your brain, and until you write your response, you won’t be able to sleep.

Every single act in the prior paragraph is purposeful writing practice. Even ignoring the prompts. The simple act of deciding whether the words do or do not speak to you. Reading is an essential part of writing. It is ideas like this that I intend to sprinkle into my weekly updates.

But here’s the secret. While I am enthusiastic about helping you learn about being a better writer, this is just another chisel. I’m up to something. I’m not going to tell you because while I know the broad vision, 300 hundred prompts over 100 Mondays will change my vision and make it better.

Until then, let’s chisel.

Seven Steps to Monday Ramp

Remember. Monday. It’s not Wednesday when everything is already blowing up. Monday is a blank slate before 9am; this is my chance to set the tone.

  1. While it is still quiet, get a fresh cup of coffee (I prefer black and strong). Not a coffee drinker? Great, try Chai or just a glass of water. You need a brief pause, a sip, between these steps. Now, read something unrelated to work to get the mental juices flowing. Skim the news. Work adjacent. Important, but not urgent. Sip.
  2. Clear your workspace. Maybe it’s your desk, maybe it’s your desktop, but spend three minutes making your space your own. Everyone has a different version of this, but it’s an essential investment as the chaos begins. Sip.
  3. Scrub the Mail inbox. If attention is required, apply it. Schedule time later in the day if more attention is required than available. If that’s not going to happen, put the task in To-Do. Sip.
  4. Scrub Slack. I’m looking for those direct messages and channels with red notification badges where someone @mentioned me because that’s always news. I’m skimming channels I’ve previously put in a well-maintained HOT channel group. Skimming. Not reading. Taste the soup. Finally, time permitting, I’ll skim other non-HOT channels just looking… just being curious and encouraging serendipity. Sip.
  5. Calendar audit. Look through the entire week and see what will require a disproportionate investment. For these areas, ensure I have appropriate preparation time, including additional blocked-off time. Bonus time savers: make sure any double-booked times are resolved, build in travel time for geographically challenged meetings, and decline meetings that seemed important weeks ago but now appear less important. Alert important people regarding these declines and give them the ability to convince you otherwise. Sip.
  6. To-do list pass. For being the cornerstone of the operation, my to-do list is surprisingly low signal relative to the Monday Work Ramp. I am much more likely to see warning signs in Mail, Slack, and Calendar than in my to-do list. However, a to-do list is only as valuable as its last complete update, so I do one. The goal is to put all tasks into one of three buckets: today, tonight, or later. If I cannot do this quickly, carve off time on the Calendar to curate the To-Do list because something is in terms of how much I am attempting to track. Sip.
  7. Review (or invent) metrics. Somewhere in your work universe, there is an important set of metrics you are supposed to watch carefully. They are in one of three possible states: (1) They are well-defined and universally understood (2) They exist (sort’f) somewhere (maybe?) and some people think they are important (kind’a) (3) They don’t exist, so no one cares. Regardless of disposition, you must spend some brief time either reviewing well-defined metrics, making semi-understood metrics more accessible to more people, or defining or finding these metrics. My guess is the prior (6) steps made sense to you, and this one is a head-scratcher. Your degree of discomfort with this bullet directly correlates to how badly you need to complete it.1

These seven steps are designed to give me weekly context. Each week has a different set of challenges and goals, and by filling my mind with the current context, the obvious forthcoming weekly challenges are approachable and inevitable, and the unexpected ones are less of a surprise.


  1. Sorry, yes. I need to write more about this. I will.
Tools as efficiently as possible

The 2024 Bookmark Situation

The New Year is an excellent time to tidy. I’ve been sitting on the same browser information structure for years, meaning cruft has been acquired. My initial plan was to describe the current structure and then describe the proposed changes. As I evaluated my current set-up, a slew of apparent inefficiencies showed up, so this is now the 2024 revamp.

On my desktop, I use Safari Favorites and Tab bar, which are always visible. Let’s start with Favorites:

There are two types of folders: special and project folders. The only difference between these folders is how I use them.

Special folders:

  • A folder titled **hot** which has sites I am actively and heavily using. I also use this bucket for sites that need further evaluation so I can figure out if they need to be filed elsewhere or deleted.
  • A news tab group. This special folder opens all of the sites (New York Times, Washington Post, Bloomberg, and Wall Street Journal) in the group. I am leaving this for now, but I suspect I’ll delete it this year because I regularly see all this content in Feedly (an RSS reader), a newsletter, or socials.

Project folders:

The rest of my bookmark folders are projects or theme-based. For example, a Rands folder has links to all Rands-related sites and utilities (WordPress, LibSyn, statistics, etc). I infrequently prioritize nine of these, so the leftmost is the most frequently visited.

Bluntly, sites saved to these folders are mostly forgotten. It’s long-term storage, and I’m infrequently accessing them. I regularly return them either via memory or other non-bookmark reminders. One hack I’ve started using in the last year is giving the site/page a memorable title and using LaunchBar for quick access to my Safari bookmarks.

Pinned sites:

Moving to the tab bar. I have five pinned sites:

  • Feedly
  • Mastodon
  • Threads
  • BlueSky
  • ChatGPT

Feedly is my favorite means to consume my information. I fly through RSS feeds. The social sites are accessed much less and are filler to the day as opposed to my Feedly review, which reveals the planet’s heartbeat.

Wondering what ChatGPT is doing in this group? Me too. I am finding increasing usage for ChatGPT, which means I need easy access, but this location seems wrong. I want this either in my search bar, but for now, I’m leaving it… and saving it to my Dock.

Ok, so that’s my information structure setup. With iCloud enabled, Safari does an excellent job synchronizing this content between my three primary Macs, two iPhones, and two iPads 95% of the time. I am an avid user of iCloud Drive, which just works. I don’t attempt to synchronize application preferences because that ends in tears. We should fix that.

Morning Bookmark Habits

My morning flow starts via the pinned sites, specifically Feedly. My goal, just like my inbox, is to read as much as I can and, when I’m out of time, mark the rest read. If that protocol makes you a little twitchy, understand that there are three other ways an important bit of information will show up in front of me: social sites, newsletter, and the news group described above. After years of running a similar process, I can confirm that if something moderately interesting is going down on the planet, I’ll have a hint it exists.

After pinned sites, I’ll glance at the hot folder to quickly check whatever sites are there that need my daily attention. At this moment, it’s a spreadsheet that documents project risk, a mission statement I’m iterating on, an exercise spreadsheet, and a dashboard for hiring. Again, sites I need every day.

This inbox process repeats itself for Mail, Slack, and Calendar. In each application, the goal is to triage new incoming things, properly file items that need future consideration, and, as efficiently as possible, get the noise out of my primary view.

Ok, what’s next?

Management I felt myself… sinking

An Unreasonable Investment

Do you remember your first job? Correction: not your first job, but the first job you wanted. This is my career. This is what I want to do. I don’t want to screw this up.

I was a grocery store clerk, a butcher, a video store clerk, the guy who backed up the system onto tape drives on Saturday morning, and a bookseller before I landed my first job. A friend put a good word in for Symantec, and for a summer, I was an intern working on a database product called Q&A. This was the summer after my first year when I’d just absolutely crushed my first year of computer science at UCSC, and I didn’t want to screw this up.

This was a while ago. Like pre-Facebook, pre-Nescape, and pre-Windows. A long while ago — the concept of new employee onboarding was, “Throw the intern in the deep end and see if they can swim.”

After a week of letting myself familiarize myself with the product, my manager gave me the task of testing the natural language interface of the product. Natural language interface. This was 1989, and we were running software from a 3.5″ floppy drive. Q&A offered a natural language interface where you type questions against your flat-file database, such as, “How many invoices are greater than $500?” And it’d answer the question. No LLM required.

Magic in 1989. My responsibility to test. First job. Don’t screw it up.

The natural language portion of Q&A was written in LISP, the solar system’s second oldest programming language, specified in 1958. The oldest is FORTRAN by one year. LISP pioneered many programming ideas, including tree data structures, automatic storage management, dynamic typing, conditionals, higher-order functions, recursion, the self-hosting compiler, and the read-eval-print loop. LISP has a distinctive, fully parenthesized prefix notion. Modern LISP variants look like this:

;; Triple the value of a number

(defun triple (X)
   "Compute three times X."  ; Inline comments can
   (* 3 X))                  ; be placed here.

After talking with a few engineers, I found a copy of the current source code, fired up the editor, and saw LISP for the first time. And I felt myself… sinking.

It’s Just a Flowchart

First job. First time someone has asked me to test. First time I’ve been exposed to natural language processing. First time using a database. I’d been exposed to some Pascal in my first year, but those were self-contained 300-line programs completely authored by me. When I looked at Q&A’s LISP code, I was lost.

And this is pre-Internet. There was no “Learn LISP in twelve easy steps this weekend!” YouTubes. There were no online communities. There was a B. Dalton bookstore at the mall, and when I asked about books on LISP, they tilted their heads and told me to repeat myself… slowly.

My manager cheerfully asked me how it was going at the end of my first week. She seemed satisfied with my similarly cheerful and terse, “It’s going great!” She did not know that all I’d succeeded in doing was installing the latest test build, creating a few dummy tables, and an equal amount of dummy queries. I did nothing to test the product because I didn’t know what to do.

“You know, code is just a flowchart,” said Chuck.

Chuck sat in the cube across from me at Symantec.

Chuck was helpful. Whenever I spun around and asked a question, Chuck would stop whatever he was doing to help. Complete, fully attentive help. Answer-the-question completely help. He was intensely curious, kind, and full of enthusiasm.

Chuck wanted to help.

Fully Attentive Help

Middle of the week, I was staring at the LISP code and letting my mind wander, I spun around in my chair, “Ya’know. I kind’a want to go to Cambridge. I read they’ve got a new computer science program that is pretty good.”

Chuck spun around immediately and responded, “Let’s make that happen.”

What? “I was just thinking out loud.”

Chuck, “I know, but c’mon, let’s get you to Cambridge.”

“My grades are not great.”

“Ha. Grades. Don’t matter much. Don’t tell anyone. It’s the drive that matters.”

“I, uh, I don’t have the money to…”

Chuck, “Scholarships. Also, you’ll get a job. Let’s get you to Cambridge!”

“I don’t even know how to start, I…”

“I know how to start,” Chuck spun around in his chair, pulled out a black notebook, and started making phone calls. An hour later, he spun around with a piece of paper in his hand. “This is Sarah, she runs admissions at Cambridge. She’s expecting your call.”


“Just call her. What do you have to lose? It’s a phone call.”

It took three days of badgering, but I called Sarah at Cambridge sheepishly. She gave me a full hour of her time where we talked about realistic approaches to get this twenty-something lanky California wanna-be computer scientist to England. When we were finishing, I asked, “How do you know Chuck?”

“I don’t know him. He called the admissions office and asked for the Head of Admissions, and that’s me.”

No, I Didn’t Go to Cambridge

I finished my internship, returned to UCSC, and became a Borland software engineer. After leaving Symantec, I continued learning interesting bits of Chuck’s past. He’d gone to Stanford. He rowed crew. Actually, he’d rowed crew for the Olympics. And he’d spent much of his summer internship investing in me for — to this day — reasons I do not understand.

What I do understand is many decades later, here at the beginning of 2024, I am writing about Chuck. After the internship, we chatted infrequently over early versions of email. He was intensely curious about my time at Netscape — I sent him a Mozilla t-shirt — but we lost touch over the years. I think he ended up moving to Montana to live on a ranch.

What I clearly remember is a human giving of themself to help.

In this New Year, I am asking you to find one human; it’s a non-obvious human. It’s not a direct report or a human where you are paid to invest. Find this non-obvious human and invest in them. Unreasonably, consistently, without expectations. While achieving their dream is a goal, your goal is to help without hesitation.

You want some free leadership advice? You build yourself by building… by helping others. The selfless act of helping humans will teach you more about being a credible leader than any book.

Your career is not your job. It’s the humans you help along the way.

Happy New Year.

Tools What problem am I trying to solve?

Seven Steps to Fixing Stalled To-Do Tasks

You need to understand my to-do list process before you read these steps. I strive for a daily inbox-zero task system, which means I can scrub the complete list in less than 10 minutes. The size of individual entries varies. Most can be completed in one work session, but others are project-like tasks where the to-do is the next logical step.

The never-ending question you must ask regarding whatever productivity system you’ve built is, “Does this system make you more productive?”

My first warning sign of being unproductive is when I sense I’m rescheduling more tasks than I’m completing. When I enter this state, I walk through the following list in my head for EVERY SINGLE ITEM ON MY TODAY’S LIST.

  1. Ask. Am I going to do this? Ask again if this is the 10th time you’ve deferred this task.
  2. Ask. Why is this important? Or why does this exist? What problem am I trying to solve?
  3. Ask. If I put it in the future, how guilty will I feel?
  4. Ask. What significant consequence occurs if I don’t complete this task?
  5. Discern. How many times have I punted this?
  6. Edit. Rewrite the task to describe the task in terms of the next achievable step.
  7. (Last resort) Mark it complete. Don’t think. Do.

DO NOT add tags, create projects, or create other to-do infrastructure to manage your to-dos better. This is procrastination disguised as productivity.

Tech Life You've got some time on your hands

Ten Reasons to Play Destiny

  1. Destiny. You’ve got some time on your hands right now. It’s the holiday season. You’ve got free time. Take a call.
  2. There’s quite a bit of content. Destiny has been around for almost ten years. A lot is going on in that world, but more importantly, they’ve had a lot of time to make the game good.
  3. The game is best played with others. You can solo yolo Destiny, but I believe it’s best experienced with others. You might want a game that allows you to check out and ignore the real world, and you can do that in Destiny, but the depth comes when you start totally with others, “What the hell is going on here?” There’s a Slack. Send me an email and join us.
  4. The best games make you feel like a superhero. What about… three superheroes? Three different classes give you three very different superhero vibes. I currently enjoy punching things with my Titan. Plus, there is space magic.
  5. Is lore your thing? There’s a big story. You want player versus player? They got that. You want complex six-person raid mechanics? Lots. Want to turn off the dialog, ignore the story, and just shoot aliens? That’s my jam. It could be yours. There are infinite rabbit holes to explore in Destiny.
  6. The music is pretty damned good.
  7. I am told that the game is very friendly to the new folks. Your mileage may vary.
  8. Bungie, Destiny’s developer just had a rough year. Why not support developers who — for ten years — have been attempting to bring video game joy to the world? Also, space magic.
  9. You can turn off the dialog and ignore the story. It’s ok. I won’t judge.
  10. It’s just about to be over. Ok. Not really.
Writing We seek definition

The Software Developer’s Career Handbook

I am delighted to announce The Software Developer’s Career Handbook has been published. I call it the Bird Book because, well, there’s a bird on the cover.

The Bird Book is the second edition of Being Geek. The absence of the words “being” and “geek” in the title hints that something is up. Reading the entire book is a requirement for revising an edition. During this process, I discovered there was a lot to like. In particular, the first chapter has a five-line declaration that explains how I think… all the time:

We seek definition to understand
the system so that we can discern
the rules so that we
know what to do next so that
we win.

Every word in that 26-word run-on sentence is chosen carefully. Same with the italics. And the line breaks. These words describe a virtual machine constantly running in my head. What does it mean? How does it fit into my model of how it works? How must I update my understanding to predict this in the future because I need to win?

You can understand why I didn’t like the first edition using those five lines. It’s right there in the first line: definition. It muddied the system of understanding I wanted to provide. If you purchased and read the first edition (thank you), you quickly realized that I wasn’t writing about geeks; I was writing about software developers. I realized this when I discovered I could replace every occurrence of “geek” with “engineer”, and it was better writing.

Here’s the rest surgery I performed:

  1. I added eight new chapters to the book, bringing us to a healthy 48 chapters. For those of you who purchased the atomic version of this book, you’ll enjoy the heft of holding this book. I know I do.
  2. I edited the hell out of all existing chapters. The best example is “The Business”, which must address companies’ new compensation strategies and cooling start-up marketing. Other chapters received less attention, but all were modernized.
  3. I removed two chapters from the book. They were no longer relevant or straight up didn’t make sense. Sorry.
  4. There’s a new cover with a bird on it. I love the bird and the color scheme, but will miss the Being Geek cover. Those sneakers tucked between the black business shoes will always be a favorite.

The Yellow Book, the Bird Book, and the Bee Book. They have names, but I always think about how the covers make me feel. The Yellow Book’s cover has evolved from frenetic scribbles and scratches to a more calm and professional vibe. Don’t worry; the pen is coming back in the next edition. The most recent book, the Bee Book, delivers a classic O’Reilly cover. Simple, clean, and an animal to convey… a hint of the theme. We repeated this vibe for the reboot of Being Geek.

The trilogy documents different parts of my leadership career. The Yellow Book continues to capture my thoughts on becoming a leader. The most recent book, The Bee Book, focuses more on senior leadership. This book, The Bird Book, documents the struggles with the job of middle management. These leaders are the connective tissue that holds the company together. They do this not with fancy titles but with the satisfaction of building the product with their hands. They do this in the middle. At a distance, with influence, partial information, intuition, and an evolving sense of strategy.

I document more of the story of how this edition started in the preface, but I want to thank the Rands Leadership Slack for reminding me of the good writing in this book. If you hadn’t asked, there wouldn’t be a new edition.