2019 in review.

December 26, 2019. Filed under career 20 blog 14

This has been a really special year for me personally, enough so that even though I won’t get into full detail about the two things (one professional, one personal) I’m most excited about (more in a month or two), writing a year-in-review still fills me with gratitude.

Previously: 2018, 2017

Goals for 2019

I never posted my goals for 2019, but I wrote them up in a personal note, and I’ll start by reflecting on them a bit. A year ago when I set these goals, I was feeling a bit stretched by the volume of projects I was working on, so they were meant to be achievable while also working a consuming job.

My goals were (1) publishing An Elegant Puzzle, (2) creating a small, but real, business on top of Stripe to build deeper ongoing familiarity, (3) speak at least two conferences, (4) finally finish reading Structure and Interpretation of Computer Programs which I’d been postponing for over a decade, and (5) be a deliberate mentor to 2-4 people.

I’ll go into more detail on most of the ones that went well below – An Elegant Puzzle was published, I spoke at four conferences, I read SICP – but also interesting to briefly dig into the two that didn’t work out: creating a small business and being a deliberate mentor.

Starting a new business is still something I’d like to do, but the format of setting up something that requires ongoing maintenance and support is a bit structurally challenging for me. There is so much stuff I want to do that I find concrete projects – things that start and end – work much better for me, and a business is something of the opposite. Maybe I could find a way to kickoff a business and hand it off to a partner?

Being a deliberate mentor has been a definitional challenge for me, mostly because the implied mentor relationship doesn’t resonate with me very well. There are more than four folks earlier in their management career that I keep up with and hope to help, but those relationships aren’t particularly different than keeping up with folks who have been in industry as long as me or much longer – all seem a bit more like friends than mentors, mentees or such. What is mentorship? We need a better word here.


This was a good year for writing. I wrote 65 blog posts (-10 YoY from 75 in 2018), contributed Do engineering managers need to be technical? to Increment, contributed Good Process is Evolved, Not Designed to 97 Things Every Engineering Manager Should Know, and published my first book, An Elegant Puzzle. (I also worked with First Round Review on How to Size and Assess Teams From an Eng Leader at Stripe, Uber and Digg, which was an amazing experience, but I did not write the article itself.)

The writing that I’m most proud of is certainly An Elegant Puzzle. As of December 20th, it’s up to 54 ratings on Amazing with a score of 4.5, and has sold 16,541 copies (7k in Q2, 6k in Q3, 3k in Q4). More numbers in the five month review, more reflection in What I learned writing a book, and a dozen podcasts and such in the An Elegant Puzzle press and reviews tracker. When I reflect on my professional accomplishments of this decade, I suspect this will be the one I remember most fondly.

I’m also grateful for these opportunities to write in different formats! Writing in Increment and 97 Things gave me a chance to rethink how I wanted to write. For the Increment piece in particular, I focused much more on the language itself, trying to write something more lyrical. I suspect I’m a few years from trying to write another book, but I hope I get a few chances in 2020 to write in a non-blog medium.

My favorite pieces I wrote this year were: Privilege’s upward-facing window, Reclaim unreasonable software, A forty year career, Founding Monocle Studios, Forecasting synthetic metrics, Why limiting work-in-progress works, Magnitudes of exploration, and How to invest in technical infrastructure. They’re a nice split of experiments in format and lessons that have taken me a decade-plus to learn.

The top pieces by page views were: Introduction to architecting systems for scale (65k, +40k YoY from 25k in 2018), A forty year career (16k), How to invest in technical infrastructure (12k), and Why limiting work-in-progress works (11k). More commentary on analytics in the next section.


While what I value most about writing is how it helps me process and learn from my experiences, it’s a very special feeling to hear that your writing has helped someone. The challenge is that before your writing can help someone, your writing has to be read, which means spending time on distribution.

In 2019, 40% of traffic was direct (from RSS and links shared in applications that don’t preserve referrers), 22% via search, 21% via referrals (other folks’ blog posts, link aggregators like Reddit), 16% via social (Twitter, LinkedIn), and 1% came from email (email lists, including my own).

In total, I had 383k pageviews (+173k pageviews YoY from 210k in 2018), with an average of 2:16m (-0:07m YoY from 2:23 in 2018) time on site. Of the top six pieces, five were written in 2019. The one exception is my perennial top piece, Introduction to architecting systems for scale, which was written in 2011 and whose traffic is driven by search and referrals from online education sites.

It’s hard to get a good sense of RSS subscribers, although some RSS crawlers expose the number of subscribers in their HTTP referrer info. Based on those, I’d estimate somewhere between 600 and infinity RSS subscribers.

Twitter grew to 8k followers (+4.4k YoY from 3.6K), driven primarily by An Elegant Puzzle, as well as some tweet storms and such. LinkedIn grew to 8.9k connections or followers (+1.5k YoY), again largely driven by cold-sourcing as opposed to organic growth through content sharing.

I started a mailing list early in 2019 which sends out a weekly collection of my writing, and I think it’s going pretty well as an RSS replacement for folks that don’t use RSS (I do have an RSS feed). 56% of subscribers often open my email, and 21% rarely open. (What do “often” and “rarely” mean? I haven’t the faintest.) I’m up to 1,318 subscribers, adding 116 in the last month. I’m not really in-love with Mailchimp’s pricing, and I can imagine I might end up switching at some point.

Overall, I’m pretty happy with distribution metrics this year. I’m still afflicted with the constant tension between wanting to write for learning versus writing for reach. There are fairly obvious things I should do in order to drive distribution (be more opinionated, write sharper titles, write broader content, focus more on content quality) that would make writing less effective for me as a learning mechanism, and I’m still working my way through that tradeoff.


In 2018, I did my first conference and podcast speaking, speaking on three podcasts and one conference (QCon SF about migrations). In 2019, I gave two talks. The first I gave at SFELC about designing organizational process, and the second about Investing in technical infrastructure I gave at SRECon EMEA, QCon SF, Velocity, Uber’s Production Engineering meetup, and a handful of company offsites. I also participated in thirteen podcasts, mostly to generate press for An Elegant Puzzle.

A few months ago I read Subbu Allamaraju’s On Public Speaking, and that piece resonated with me a great deal in terms of my goals for this year: getting comfortable speaking in public is a matter of deliberate practice and repetition. At this point, I’m far from the best public speaker, but I feel comfortable speaking and think I’m reasonable effective.

I don’t plan to do as much speaking going forward, as it can take up a fair amount of time and I feel like the time is better invested into writing or resting, but I’d like to continue writing and presenting roughly one talk each year. For that talk, I’d like to pick an area to really focus on improving, and keep investing into the details of effective public speaking.

If I do write a 2020 talk, my current idea is that it might expand on the ideas from A forty year career and You only learn from you reflect.


Learning is a big part of what motivates me, and this year I did a fair amount of reading (and a lot more fiction reading that I won’t include here), and a handful of learning experiments.

I wrote up notes on Escaping the Build Trap, Building Evolutionary Architectures, Handbook of Relational Database Design, and a collection of notes on Soul of a New Machine, The Messy Middle, It Doesn’t Have to be Crazy at Work, and Company of One. Some other books I read but didn’t write notes for: Secrets of Sand Hill Road, Technology Strategy Patterns, Super Pumped, The Lean Product Playbook, Essentialism, Late Bloomers, Angel: How to Invest in Technology Startups, The Two-Income Trap (this was excellent), Silk Road, Swipe to Unlock. I co-led a reading circle on Accelerate at as well, which generated a bunch of good discussion.

For experiment-led learning, some of the projects I did were creating a Slack App on GCP, hosting the “systems” library as a Cloud Function, and using Binder to host Jupyer notebook. In retrospect, I would have liked to have done a few more of these.


In late January I have the chance to start a new role at a new company, which will make 2019 my last year at Stripe. More to say about the new role after I start – not much to say yet other than gushing how excited I am about the folks I’ll be working with and the mission I’ll be contributing towards – so I’ll just briefly mention some things I’m proud of from my bit over three and a half years at Stripe.

Got to work with many truly lovely folks, who I’ve learned so much from. Learned a tremendous amount from Stripe's remarkable leadership team: thank you. Got to play a small part in many folks building their careers and experience. Got to steer an organization filled with amazing leaders doing amazing work as it grew from something small to something mighty. Got to help form a true first team of engineering managers who genuinely cared about each other and were willing to inconvenience themselves and their teams on behalf of the broader team’s needs: thanks to Amanda, Brian, David, Davin, Erin, Kelley, Scott and Uma.

Got to play the very smallest part in the founding of Increment, working with Susan Fowler, Sid Orlando and Molly McArdle, and culminating in contributing a piece to the latest issue. Got to work with Katie to implement a process for considering internal candidates for senior roles. Got iterate on a process for selecting leads for rare opportunities. Worked with Qi and David on defining our approach to technical investment, a variation of which is written up in Magnitudes of exploration. Worked with Brianna, Tyler, Sasha and Shaun to bring An Elegant Puzzle onto the page.

There are literally dozens of other Stripes I ought to call out here who have changed my life for the better: thank you. There are also dozens of other projects we worked on that I'm proud of, but these are some good highlights.

Stripe didn’t only teach me a remarkable amount as it evolved, nor did it only expose me to such amazing folks, it’s also provided a remarkable brand and platform for my writing and speaking. Folks who have read and appreciated my work over the past four years have unavoidably been influenced by their opinion of Stripe. They’ve perceived my writing as better, and me as more of an authority, through the lens of my affiliation. WIthout the benefits of Stripe’s platform, I’m certain my writing would be impacting far fewer people, and I’m grateful to take that platform with me, both literally through my book on Stripe Press and through the reach and credibility.

In the spirit of a forty year career, I’m trying to act with the mindset that my career is just starting out. In that spirit, I hope I’ll accomplish far more in the future than I have thus far, but at this moment, my time at Stripe is certainly the defining epoch of my work: I learned the most, grew the fastest, accomplished things I never imagined, and I cherish the folks I got to work with.

Goals for 2020

Given I’ll be starting a new role at a new company towards the end of January, I’m wary to set too many goals for next year. As such, instead of setting 2020 goals, I’ll instead set some goals for the next decade.

In the next decade I’d like to:

  • Do more learning experiments each year. Trying new technology. Try new software. Experiment!
  • Write roughly one new talk each year, and present it somewhere. For each talk, identify some aspect of speaking that I want to improve on, and focus on improving in that area.
  • Write at least four good blog posts each year. I’ve been writing much faster than that (depending on the definition of good, of course!), but I don’t think my recent pace is sustainable long-term, more of an outlier. (Wrote 15 pieces in 2017, 13 in 2016, 1 in 2015, 4 in 2014, 0 in 2013, 11 in 2012, and so on.)
  • 3-5 folks who I’ve managed or “mentored” move into VPE or CTO roles at 100+ person or $1B+ companies.
  • Become an official advisor for 1-3 startups.
  • Invest very small amounts of money in 3-5 startups.
  • Become a board member of a small company, startup or non-profit.
  • Write a book about infrastructure engineering.
  • Write another book about engineering or engineering management.
  • Start a small but real business that I can run with a small amount of ongoing time investment.

Certainly I’ll have quite a few professional goals at work, but those are sufficiently specific and confidential that they don’t fit well into a public list. I also have some goals in my personal life, but I tend to document that side of my life exclusively through stories.

Hope all of y’all had a wonderful year, and would love to hear your reflections and your goals.