July 10, 2020
Trail blazing, path paving
Growing up, I was incredibly lucky to have regular access to two staggeringly beautiful places. One was the Santa Cruz mountains, and specifically the camp in Felton where my family often volunteered and vacationed. The other was the property my great-grandparents owned in the Calabasas highlands. From one angle, these places are shockingly different. The forests of Santa Cruz are lush and verdant all year round; the valleys of Calabasas tend towards the scrubby and dry. From another angle, these places are incredibly similar: they are elevated preserves of what the regions offer, entire ecosystems wrapped around hills. Humanity can only access these places by making trails through the peaks and valleys.
My time in Santa Cruz and Calabasas taught me two things to know about trails. The first is that trails happen in two parts: the trail blazing, and the path paving.
Trail blazing is looking at the shape of the land and seeing the way of least resistance across it or up it. You pull on pants that won’t catch on the bushes, grab a machete and maybe a shovel, and work with the land to find a way from where you are to where you want to go, with the minimum of fuss. Fuss is still required, of course. You’ll need to cut branches out of the way, or move boulders that would be too hard to navigate around, and sometimes dig into the side of the hill to be sure of your footing when you come back. But you work with the land to accomplish your goal. When you’re done what you’re left with is a trail that is functional, that the adventurous can follow, but needs work for most to walk it.
Path paving comes after trail blazing. Paving is when a group comes along and makes the trail, which is still totally usable for ambitious, and transforms it into a path more people can use. This is when the brush and ground are edged back, when steps up the mountain are installed, when handrails and solid bridges are built. Path paving takes the work of the trail blazer, functional but still daunting, and turns it into a friendly road for all.
This is to my mind the ideal model for building applications on the internet, and exactly backward of how many companies build today. Trail blazing for apps starts with just the backend and the browser. We build something functional, something useful, but something that is still rough, and only really accessible to those who are willing to get hit in the face with a tree branch every once in a while. We don’t build just an API and throw it over the wall, we build the basic, but complete, experience. Frameworks like Django and Ruby on Rails shine here, and in many ways this is what they were made for.
With a functional, usable, but still largely unfriendly application, we begin path paving. We replace the basic styles we started with, like Bootstrap or Tailwind, with work that is customized for the app’s needs. We add reactive components and features to provide a better experience for the customer, and add the digital equivalent of stairs and handrails to make our app accessible to all. We carefully go over each potential snag and place a user could fall, and point out the way around it, or move it slightly off the path.
It’s important to see there that nowhere are we clear cutting or steamrolling. The web has a natural shape, a flow, a way it wants to be used, and our job is to go with the flow of the web.
This is how we build at Galaxy Brain. Philip, or Philip and Liam together, blaze trail, and get a functional backend and front end that brave early adopters could use in its entirety. Then Liam, or Liam and Philip together, pave path, and with the experiences of their early hikers to guide them, make the app accessible to all. We are judicious in where we use technologies like React, which is the web equivalent of industrial farming, but rely deeply on tools like Sass and Stimulus and Django, which were built to work with the grain of the web.
This approach helps with the second thing to know about trails and, correspondingly, web apps: They both need maintenance, and often the more complicated they are, the more complicated the maintenance. When you over-farm a field, you have to regularly re-invigorate the soil with expensive, external nutrients. When you cut a road into the side of the mountain, you need to invest in expensive retaining walls that need regular repair. When you overwrite the shape of the web, the tools the browser provides, with your own replacements, you have made a retaining wall of code. Your hope is that the next browser version will not cause a landslide of API changes.
This approach to apps influences not just technology choices, but product choices. There are things that the browser does not naturally want to do; we’ve all seen apps where the behavior of the “back” and “forward” buttons is unpredicatable. We’ve chosen not to do anything that’s the equivalent of blowing holes in mountains on the web, and as a result we can build a maintain a suite of apps with only two veyr-part-time developers.
We blaze trail, and then we pave path, and we do both with tools that fit the shape of the web. Doing this lets us deliver apps we’re proud of faster, with less time focusing on the technology, and more time focusing on our business and our lives. If this is possible for us, it’s possible for you.
If you want to learn more, or work with us, drop us a line at [email protected].
making
biodynamics
apps
April 19, 2020
Management Reading List
Many of us have more free time than we expected right now. As a result, I’ve gotten a number of requests for my management reading list, since I’m known to read a lot of books on management — I will effectively buy any management book someone recommends to see if there’s any value to glean from it.
What follows is a list of all the management books I’ve read, broken into some rough sections.
I also owe a huge debt of gratitude to Jacob Kaplan-Moss, not just for his continued guidance and support, but for his reading list for new engineering managers, which was the starting point for this list.
Essentials
If you have not read these, go buy them right now and read them. They are part of my essential toolkit as a manager.
This is the book I recommend to every new manager, or everyone who wants to become a manager. Andy Grove nailed most of modern management in a concise volume two decades ago. I like this book so much I wrote a post on touring the breakfast factory.
A fantastic nuts-and-bolts reference on what it’s actually like to be a modern manager of knowledge workers. I don’t agree with every opinion, but the amazing thing about this book is that you could follow it word-for-word and be better than 70% of managers.
This book changed my thinking on what it means to be a manager, and helped reset my thoughts on who my peers are as a manager. Spoiler: Your peers are now the other managers at your level, and how you handle that can make or break your company.
The Goal by Eliyahu M. Goldratt and Jeff Cox
I normally hate “business fiction”, because I would prefer real stories. The Goal is that rarest of business fiction tales that crosses into being a good parable. The message: What actually controls your business’ output is constraints, and you need some concrete theories on getting a handle on them.
Mind-openers
These are books I thoroughly enjoyed, and which have changed my thinking on how to be a better manager. Although they’re not as critical as the Essentials, they’re worth reading.
This is a classic for a reason. The GTD system is useful for dealing with the deluge that comes at you as a manager, and the more you can exhibit the system in your own life the more productive you’ll be. The nicest part for me is that even half-adopting it makes you more productive.
The Checklist Manifesto pairs nicely with GTD. Both books are trying to convince you that your brain is meant for having ideas, not holding them. By the end of this, you’re hopefully convinced that all the rituals you go through with your team on a regular basis ought to be repeatable checklists, and that you’ll be faster as a result.
This is the infamous “Netflix Culture Deck” in book form, and it changed my thinking on how to hire, fire, and evaluate team members for high-performing teams. I went into the book with one idea about the Netflix philosophy and came out appreciating it more.
The Basecamp founders have been writing about their work practices for years, and this is the latest iteration of their work practices. Each chapter is full of ideas that made me reconsider my beliefs on the optimal environment and motivation for people to do their best work.
The Practicals
This set of books is worth reading, especially after you’ve gone through the first two sets. The first three of these are solid works that will help engineering managers especially, and the last is an approach to leadership that I found fascinating.
I had the great fortune of working with Will at Stripe. In An Elegant Puzzle, he brings his thoughtfulness and growth mindset to the problem of managing engineers, and provides a playbook on how to build good engineering teams.
If you’re just starting on the path of moving from engineer to manager, or trying to decide if that path is right for you, read this book. It lays out the entire managment career path from IC to CTO, and does a great job explaining how the role changes along the way.
Rands, yes that rands, from rands in repose, wrote a book on management! This is that book. The first half of the book is full of excellent stories about practicing the craft of being an Engineering Manager. The second half of the book is full of less-excellent stories on the same topic.
There are some truly fantastic ideas in this book, all centered around one core idea: As you go through your day as a leader, are you above the line or below the line? The first two-thirds of this book dive deep into this management philosophy in way that really resonated with me. That last third went in a “power of positive thinking” direction that didn’t land with me as well.
Et Al.
These books are fine and entertaining books to read if you have the time, but they didn’t make a big impact on me or my management style.
Getting to Yes is a classic for negotiators and those who regularly have to ngeotiate, like managers. I found the ideas useful to help me reframe negotiations around a shared goal. I would have rather read this book as a long blog post or whitepaper.
This book was a very fun read, but I can’t say I really learned anything. Ostensibly, it’s a guide to staying creative in the face of corporate domination. I found it to be more of a manager’s memoir, and in that light it’s fabulous.
Allison Green runs a very popular blog by the same name. This book is effectively a copy of the best posts from that blog, with some extra footnotes and thoughts. If you read her blog and are hungry for more, this book is for you.
management
reading
February 18, 2020
Maker <-> Puzzler
Every engineer I’ve met falls somewhere on this spectrum:

One side is Maker, the people who like engineering because they like building things. They often get joy and satisfaction from seeing a thing they built out in the world and used by people. Makers tend to flock to product-focused companies.
One side is Puzzler. A Puzzler gets their joy and satisfaction from overcoming difficult problems. They might feel an electric sense when all the pieces come together, and when the universe feels theirs to command. Puzzlers tend to flock to companies with deep pockets of thorny technical problems.
This specturm comes from the answers to this question: “What do you like about engineering?” I’ve asked this question to dozens, maybe hundreds, of engineers, and the answers I’ve received gravitate towards either “I like to make things” or “I like solving puzzles.” That “gravitate” here is an important word, as is the fact that I’m calling this a spectrum, not a binary.
Every engineer I’ve met is closer to one pole than another, but I’ve never met anyone who is entirely one or the other. Beyond that, how much an engineer leans towards Maker or Puzzler can change over the course of their careers, because of the company they’ve joined, or even from project to project.
I know about myself that I lean heavily towards Maker. I get deep satisfaction from building systems that others use. I still get the electric thrill from solving a thorny technical problem, but my deep well of satisfaction comes from having built something and continuing to improve it.
Where you fall on this spectrum says nothing about your quality as an engineer. Excellent engineers come at every spot on the line. What it tells you is where you’re likely to draw the most satisfaction, and how you’re likely to go find new projects. If you know you lean Maker, a project that involves a lot of research and technical spelunking might exhaust you. If you lean Puzzler, a project that provides value to the user by cloning an existing pattern might leave you feeling unsatisfied.
For technical leaders, this is another criteria by which to evaluate your next hire. I strive for balance in my teams, a healthy blend of people who focus on building and getting things done alongside those who delight in technical puzzle deep-dives. I think about this spectrum and my current team make-up when I’m crafting a job posting and developing the interview panel for a role.
Where do you fall on the spectrum? Where do you think your teammates fall? What aspects of the Maker <-> Puzzler spectrum might need balancing on your team?
engineering
culture
February 5, 2020
Minimalism’s Natural Habitat
I’ve been thinking about minimalism wrong for a few years now, and it took my first trip to Japan for me to realize it. If you had asked me before my trip, before November of 2019, I would have said that simplicity was the point of minimalism. This sounds like a tautology, because my logic was flawed — I thought simplicity for the sake of simplicity was part of minimalism’s ultimate goal.
There are elements to modern Japanese design that are breath-taking in their simplicity. I’m thinking here of the single perfectly pruned flower in a vase, or the whorls of sand around a stone in a garden, or the striking architecture of a temple gate leading off a city street. I use “breath-taking” because it conjures a feeling of surprise, and that’s part of what I mean. I was surprised by some of the simple beauty that I saw, but the nature of surprise means that what I’m seeing was different than what I expected.
What I came to expect as I wandered Tokyo was not minimalism, but a sensory assault. Tokyo is a city that wants you, the visitor, to buy things, and buy lots of them. Encouraging you to buy requires advertisements. The only ads in Tokyo that are truly minimal are for perfume, and most of those appear to be placed by Western companies. Minimalism is highly present in Tokyo, but in my experience the minimal spaces were the spaces designed as an escape from the life outside. Our hotel room was sparely furnished, and those furnishings were simple. After a day in Tokyo that minimal space, which would have felt like a cloister cell in California, was a welcome relief for our senses. I was surprised by the minimalism in Japan constantly — because it was so different from what my mind became trained to expect.
Minimalism surprises, and minimalism highlights. The element of surprise gets all our senses focused on what the artist is trying to highlight. The simple design of Japanese restaurants focuses attention on the food the chef is preparing. The simple architecture of a home highlights the color and beauty of formal Japanese dress. The crowd and noise and signage of the streets highlights the peace of the temple.
Before Tokyo, I thought about Minimalism wrong because I wasn’t using the simplicity to surprise and highlight. I was advocating for simplicity for the sake of simplicity, with no clear subject to focus on. Minimalism’s natural habitat is in crowd, so that through it’s calmness it can point out what matters most.
minimalism
Japan
design
February 3, 2020
Tech salaries are risk premiums
This blog post was supposed to come out two years ago in response to, I think, this article. Better late than never?
After literally years of people telling me I should read Matt Levine’s Money Stuff, I finally started reading Matt Levine’s Money Stuff. One takeaway from this is that I am susceptible to social pressure if I respect the people applying the pressure highly enough. The more interesting takeaway is the conversation I had with Asheesh Laroia immediately after reading a particular edition of Money Stuff.
Asheesh: “risk premium” is a powerful concept, and I really love that Matt Levine gets that.
Me: All tech salaries are risk premiums in both directions.
Asheesh: o_0 I need like a 3 sentence version of that.
Here’s the much-more-than-3 sentence version that started in my head and ended up as a collaboration between Asheesh and I.
Let’s say you work in tech. The average tech company wants to pay you the minimum they can. This is not unique to tech companies, all companies want to do this, but the example here is tech. They pay you more as a risk premium to keep you from leaving, which can be a substantial risk to the company. You, average tech worker, know in your head the absolute minimum salary you’ll take, but aim far higher than that in job search and negotiation as a partial risk premium against getting fired, going broke, and the cut you’re taking from not working at AppAmaGooFaceSoft.
That “not working at AppAmaGooFaceSoft” is a pretty important bit here. The risk you and your potential employer are guarding against is modulated by your actual ability to work at AppAmaGooFaceSoft, which probably neither you nor the company you’re trying to work for have evaluated well. At the very least, that possibility is opaque to your potential employer. This is the kind of low-knowledge, high-risk situation well-suited to risk premiums.
Here’s where it gets interesting: AppAmaGooFaceSoft could decrease average tech salaries by promising to interview everyone within some timeframe of you applying, effectively calling your bluff to the person across the table from you. If AppAmaGooFaceSoft says they’ll interview everyone who applies and get back to them in a 48 hour window, with a 48 hour exploding offer, then everyone would know if you were bluffing with your pretend invisible AppAmaGooFaceSoft offer for more than a week.
Taking this further, imagine AppAmaGooFaceSoft enacting a hiring freeze from May to September. All of recruiting decides to take the Summer off, and no one gets in the door. During those months, if you’re job shopping, it means you have no credible likelihood that AppAmaGooFaceSoft is someone a company should be competing against, and therefore you have less negotiating power than you do during the months AppAmaGooFaceSoft is hiring.
Let’s keep going! If AppAmaGooFaceSoft ever stops hiring, if one day the heads of recruiting at those companies say “Nope, that’s it, we’re done, full house over here” then the ripples in tech salaries will be felt across the whole industry. Salaries will be driven down, because working at AppAmaGooFaceSoft is no longer a bargaining chip. It might cause a tech salary “crash”, where salaries drop way closer to the skilled worker median.
Of course, this only works if all of AppAmaGooFaceSoft do this simultaneously. If Facebook stops hiring, Google will pick up the slack. If Amazon stops hiring, Microsoft will happily absorb many of those workers.
There’s an interesting corollary for you, the person not applying to AppAmaGooFaceSoft: You want those tech mega corps to succeed, and keep driving salaries up, even if you don’t work for any of them, because they’re helping to lift your salary at Random Startup, Inc.
Here’s where we reach our very strange conclusion. If we take the above as true, then every family member you convince to buy an iPhone or use Gmail or subscribe to Amazon Prime is contributing some small percentage to your salary increases at Random Startup, Inc. Which is a fascinating, if deeply disturbing and perverse, incentive.
startups
salaries
AppAmaGooFaceSoft
February 1, 2020
Never just one thing
I think there’s a secret to the most recent run of Mickey Mouse. The most recent Mickey Mouse television series, which ended a multi-decade era where new Mickey content was absent from American television, began airing in 2013. Each season is a set of one-off shorts starring Mickey, Minnie, Goofy, and Donald, with occasional cameos from Pluto, Pete, Daisy, Chip, and Dale. If these names are unfamiliar to you, you are definitely forgiven. Up until this most recent run of Micky Mouse, these characters had faded from the Disney Pantheon and mostly appeared in the parks. They have been given new life by this series.
This series is remarkable. Not only is it re-invigorating these characters in pop culture — with a new art style and all the copyright benefits that entails — but every season features multiple episdoes that are utterly targeted at a non-American audience. Episode 3 of the first season, Croissant de Triomphe, is set in Paris and performed entirely in French. The new run of Mickey Mouse has taken its cast to France, Tokyo, Beijing, Venice, Brazil, Mumbai, the Netherlands, Pamplona, London, Mexico, Russia, Turkey, Hawaii, Egypt, Seoul, Rio de Janeiro, the Serengeti, and Thailand. In most of these episodes, the cast is performing in the native language of the setting. The episode in Thailand, Our Floating Dreams, became such a phenonenon that clips from it started being used for political memes in Thailand.
This series is doing at least two things with every season:
- Revitalizing a Disney property in a way that feels charming and modern.
- Authentically connecting Mickey Mouse to an international audience.
I’ve thought a lot about not doing anything for one reason as I’ve been growing as a leader, first at Patreon, then with Galaxy Brain, and now with Trim. “Never just one thing” is one of the unofficial mottoes of Galaxy Brain, so much so that my co-founder Liam and I say it to each other often. What’s interesting to me is that I had been thinking about this motto as something you only need to do when you’re starting out or scaling up. In my mind, I implicitly thought that if you reached a certain scale your organization had more slack and didn’t have to be as focused on optimization.
I thought that until I watched the documentary series The Imagineering Story, and started watching the new Mickey Mouse. The Imagineering Story chronicles the rise and fall and rise of Disney Imagineering, the workshop behind the Disney Parks internationally. There was a real concern that at the end of Michael Eisner’s reign as CEO of The Walt Disney Company that Disney Imagineering would be shut down completely. What they couldn’t know was that Bob Iger would have three foci when he came on as CEO, three foci of which Disney Imagineering and Disney Animation Studios would play a major part:
- Generating the best creative content possible.
- Fostering innovation and utilizing the latest technology.
- Expanding into new markets around the world.
The Walt Disney Company is massive, and one of the oldest contiguous companies on Earth. To hear the CEO of that company call out a multiple-focus approach, and then to see it in action with the new Mickey Mouse series, drove home something that I now think is true of all successful organizations of any scale:
Never do anything for just one reason.
Never just one thing.
As a post-script, this isn’t a new idea, and is in many ways a return to what Walt originally designed for the Walt Disney Company. To my mind, this is more evidence that the idea was always solid, and that large organizations forget it at their peril.
growth
companies
Disney