Menu

Introducing “Listen to More”

Things have been a bit quiet on the blog, and there are a couple of reasons for that. The first is that I’m still ramping up in my new role at Cloudflare, and like all new roles that takes a ton of energy and life force! It’s been really good though, and I am enjoying building out the Data product team.

But the second reason is that most of my non-work, tinkering time have gone not into writing, but into making a new music side project site, now called Listen To More. So I wanted to talk about it a little bit.

About 18 months ago I wrote about the first iteration of this idea in Building a music mini-site with data from Last.fm, Discogs, and YouTube. The site evolved quite a bit from that initial post, up to the point where it got quite bloated and slow. In addition to that, it was built on Netlify, and as a Cloudflare employee, that was obviously not cool… I wanted an excuse to play with Cloudflare products anyway, so I decided to rewrite the whole thing.

Initially I planned for it to be a simpler version of the original site, but it ended up being so much fun that it is now essentially an ever-expanding artist and album database. For a bit of the nerdy detail, it’s a Next.js site hosted on Cloudflare Pages. I use Workers to manage all the API calls efficiently, and Workers KV for fast and reliable caching. I say this not just because I work there: these products are incredible. One of the reasons I’ve spent so much time on the site is that it is so easy and fun to create with these products.

So now that the site is in a pretty good place (of course, as with all side projects, it will never be done), I thought I’d share it a bit more broadly. So, give Listen To More a spin! Click around, search for stuff, enjoy. And if you run into issues (I am sure there are many bugs), I’d be forever grateful if you’d submit an Issue on GitHub.

Replacing my Right Hand with AI

I like Erik’s thoughts about AI and coding in Replacing my Right Hand with AI:

I do think that AI will lower the bar for anyone to be able to create software, just like anyone can use Excel to do their own personal accounting. This is a good thing!

And:

Human engineers won’t go away. We’ll still be needed to drive high-level prioritization, understand the overall architecture and scope of the problem, and review the AI’s work, especially as systems get bigger. But we’ll spend much more of our time thinking about what to build, and much less on the repetitive “how” of building it.

On the Product side of this argument, there is Paweł Huryn’s Will We Lose Our Jobs to AI? Cutting Through the Hype. Short answer: no! But he makes some points about how we should adapt that I agree with, especially these two:

  • Educate yourself in AI: You should understand concepts like fine-tuning and AI agents, but there’s no need to obsess over them. YouTube videos are perfectly fine unless you want to tie your career more closely to AI.
  • Get interested in the business side of the product: How do your organization’s Sales, Success, and Support teams work? How exactly does your company make money? How do you acquire customers? What are the key acquisition, retention, and revenue metrics? How do these metrics differ depending on the customer segment? How have they changed over time? Who are your competitors? What’s unique about your strategy?

In short, use AI for the things that it is good at, and get better at the things that it’s not good at.

Quick Review: Service Model by Adrian Tchaikovsky

I recently finished the book Service Model by Adrian Tchaikovsky, and thoroughly enjoyed it. There’s a little bit of a lull around the 60%–80% mark, but overall it’s a solid 4.5 stars for me. Mostly because the main character is a robot who isn’t sure if he has become self-aware or just imagining things, and he certainly isn’t sure if he even wants that. It is a wonderful premise (albeit clearly inspired by the Murderbot series), and Uncharles is probably my favorite robot character in a novel in a long time. The dude is just incredibly relatable—here are some things he says or thinks in the book:

I wish to report an error in the way that everything works.

The world, as I have witnessed it, is a place lacking in efficiency, rationality, and cleanliness. I am driven to find a place in it nonetheless.

He sat down because, having decided that there was absolutely no reason to do anything ever again, he would cause less damage to himself and his surroundings when he eventually toppled over from a seated position, rather than from standing.

I do not feel I have greatly profited from seeing the world.

I suggest that ‘kind and ordered’ is a better goal. It is possible that the world was once both kind and ordered. It is possible that it may be so again. Perhaps you will make it so.

I, for one, would like to sign up for helping to make this a “kind and ordered” world.

Anyway, it’s a wonderfully funny and delightfully poignant sci-fi story that is about robots but actually really about humans. What’s not to like.

Service Model

San Francisco’s Nocturnal Taxi Ballet

I loved the story of the honking Waymos when it came out, and I’m glad it got the classic “but what does it all mean!?” treatment from The Atlantic:

Watching the Waymos circle the lot under the cover of darkness—and occasionally getting stuck in an endless loop—scratches a childish itch, akin to the fantasy of watching one’s toys come alive at night. In one video, the cars, bathed in taillight red and trying to exit, give off an aggressive vibe. In others, they seem clumsy. What do robots do when we can’t see them? Tung’s webcam answers the question. The stream makes it easy to spin up fictionalized, anthropomorphized yarns about the cars, because it feels like we’ve caught them in a private moment.

This whole story reminds me of scene from I, Robot where Will Smith’s character discovers a bunch of decommissioned robots in a junkyard just… standing around doing nothing. Well, until they don’t… But no spoilers.

I Robot Container Scene

Trust as a bottleneck to growing teams quickly

I am a big believer in “moving at the speed of trust” with teams. You cannot shortcut the work to build strong relationships—and I’m afraid there is no roadmap or deadline for that. Sometimes it’s easy, sometimes it takes longer. But don’t skip this work. Move at the speed of trust.

Ben Kuhn shares some good tips around this in Trust as a bottleneck to growing teams quickly. I particularly like these two:

  • Overcommunicate status. This helps in two ways: first, it gives stakeholders more confidence that if something goes off the rails they’ll know quickly. And second, it gives them more data and helps them build a higher-fidelity model of how you operate.
  • Proactively own up when something isn’t going well. Arguably a special case of overcommunicating, but one that’s especially important to get right: if you can be relied on to ask for help when you need it, it’s a lot less risky for people to “try you out” on stuff at the edge of what they trust you on.

And speaking of communication… Also see Arne Kittler’s Part 4: Clear Communication, part of a series on “Clarity for Product Managers”:

Lengthy texts dilute your message or even discourage your counterparts to deal with them in the first place. Focus on the main points you want to make and provide the context that’s necessary to understand them as quickly as possible. When asking for information or a decision, be clear about what’s unclear.

How we got here (it’s not a “root cause”, it’s the system)

Lorin Hochstein shares a characteristically solid systems-thinking take in CrowdStrike: how did we get here?:

Systems reach the current state that they’re in because, in the past, people within the system made rational decisions based on the information they had at the time, and the constraints that they were operating under. The only way to understand how incidents happen is to try and reconstruct the path that the system took to get here, and that means trying to as best as you can to recreate the context that people were operating under when they made those decisions.

The “no root cause” concept is something I’ve been thinking about a lot as I’m working on a particularly complex project at work. Somehow we constantly forget that things usually are the way they are not because of a single “mistake”, but because of a the culmination of a bunch of legitimate reasons.

Systems get the way they are because of decisions made in good faith based on the data available at the time. And the worst thing you can do as a new person coming in to improve things is to hunt for a single “root cause” to fix. That’s just not how software (or people!) work. So take the time to understand Chesterson’s fence. Go ahead and draw boxes and arrows until no one disagrees any more about how the system works. And then figure out which parts can be improved, and in which order.


PS. Also see How Complex Systems Fail:

Because overt failure requires multiple faults, there is no isolated ‘cause’ of an accident. There are multiple contributors to accidents. Each of these is necessarily insufficient in itself to create an accident. Only jointly are these causes sufficient to create an accident. Indeed, it is the linking of these causes together that creates the circumstances required for the accident. Thus, no isolation of the ‘root cause’ of an accident is possible. The evaluations based on such reasoning as ‘root cause’ do not reflect a technical understanding of the nature of failure but rather the social, cultural need to blame specific, localized forces or events for outcomes.

High-reaching informality and the difference a good manager makes

Neil Perkin tackles some important leadership points in High-reaching informality (emphasis mine):

Overly formal environments are more likely to be low in psychological safety, and less likely to encourage people to speak up, contribute their ideas, and challenge assumptions or norms. Informality helps to break down barriers, reduces the toxicity and influence of internal politics, helps a team to get the best ideas and to be adaptive in delivery to arrive at better outcomes. […]

It’s useful to think of psychological safety as the bringing together of mutual trust and respect, and also comfort with dissent. Overly or inappropriately formal environments reduce trust down to a transactional relationship: I asked you to do this, so did you do it? Whilst dependability is important, trust is also built on competence, confidence, integrity, and empathy.

This relates to something that’s been on my mind quite a bit over the past few weeks: the question of what it means to be “boss”. The “transactional relationship” that Neil describes above is one I will always avoid with all my heart with my teams.

I was lucky early in my career. When I first joined eBay I had a fantastic manager. He was empathetic and people-first, and yet strongly business-driven. He coached me, corrected me, taught me how to speak the language of business, challenged me… but above all, it felt like he was on my side. I had someone in my corner, someone rooting for me, someone to help me navigate a gigantic organization while I really felt like I had no idea what I was doing. He didn’t react negatively to bad news or frustrated questions, he simply said, “tell me more about that.” I will be forever grateful to Christian for the way he set me up for long-term career success.

20 years later I know just how lucky I was. From my conversations with teams and candidates over the past year or so it has become clear to me that very few people have the privilege of working with a good manager early in their career—someone who is supportive yet determined for us to do the best work of our lives, together. This seems particularly acute in the middle management layer1, where organizations spend very little time on training new leaders. From The Strengths, Weaknesses and Blind Spots of Managers:

Worldwide, the cost of poor management and lost productivity from not engaged or actively disengaged employees is $8.8 trillion, or 9% of global GDP. Changing how people are managed is perhaps the easiest way to boost productivity within organizations.

Yet, the majority of managers receive little feedback on how effectively they manage their team. Less than half of U.S. employees (42%) report having the opportunity to formally provide feedback to their manager, and fewer than one in four (24%) have formally rated their manager’s performance.

I’m not sure what the solution is, but I do think this is an important problem to call out and watch out for. Do you have transactional leaders in your company, or relational ones? The transactional leaders might initially appear to be more effective, but everything I’ve learned up to this point in my career has shown me that those benefits are short-lived, and almost always end up with disengaged, resentful team members. As leaders we are not here to tell people what to do. We are here to provide strategic direction and context, and coach our people—as part of the same team—on how to make the business and themselves successful for the long haul.

PS. If you’re looking for a book that covers these topics really well, give Good Authority: How to Become the Leader Your Team Is Waiting for by Jonathan Raymond a go.

  1. See Director means something for a devastating take on this ↩︎

Grow down

I love this reflection about personal resilience from Mandy Brown:

That is, we grow not only up—not only skyward—but down, into the roots, back to that from which we came and to which we will, one day, return. We become, in time, more rooted and resilient, more capable of surviving the storm, less easily shaken away from ourselves by idle wind or rain. When I think about growing down instead of up, I think about becoming centered, about knowing what work is ours to do (and, critically, what work is not), about a slow, steady power rather than a rash and inconstant one. After all, as anyone who’s ever lived among city trees can tell you, neither brick nor concrete nor iron can stop a root as it seeks out water. We should be as steady in our search for that which nurtures our own lives.

More

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. ...
  7. 199