One Hundred Blogs

One Hundred Blogs

My last blog post was the hundredth one I have published. I started this blog in March of 2014 and it has been one of the best things I’ve ever done. It feels necessary to reflect on the first one hundred essays.[1] This is what I wrote when I started this blog almost thirteen years ago:

Welcome to my blog. My intentions are to write about software development, including the temperament and character of individuals, teams, and organizations. I hope to post something new once or twice a month. I don’t expect to become a prolific writer, or become the next Joel on Software. Rather, my motivations are as follows. I want somewhere that I can record my thoughts. I like how my thoughts often come together better when I take the time to write them down and think them over. I also tend to remember things in broad strokes, rather than in the details, so having somewhere to record the details appeals to me. Finally, I want an outlet where I can share some of my thoughts and some of my work with a few people. Beyond that, I have no expectations. We’ll see how it goes.

Motivations

Sometimes I have written a blog to share something with a small number of people,[2] but I have always written for myself, first and foremost. I like writing to learn new things, test ideas, and refine ideas. The flow state of writing is an enjoyable activity. I use my blog as a journal to capture ideas and things I have worked on. It is always interesting to look back on essays years later, reminders of what I was thinking or experiencing at the time, or ideas in their infancy that have since played out in expected or unexpected ways. While I don’t always intend to write long-form, most of my essays end up being reasonably long and most are a big investment of time.[3]

I have never tracked the traffic my blog gets because I never wanted this to influence my writing. Every so often I stumble on a topic that appeals to others. I have some visibility into this through what is shared on social media or referenced by others.[4] At least four times I have been on the front page of Hacker News which brings a whole different level of attention, sometimes too much attention.[5] While I don’t write for attention, it is rewarding when I see my work referenced, or someone reaches out or stops me in person to say they have found value in something I have written.[6]

Anonymity

Most of the software I have worked on throughout my career has either been proprietary or platforms that support services.[7] In 2014, I interviewed with both an established database team at a large cloud provider and for what would have been the second employee for a nascent startup focused on real-time data streaming and connectivity for the enterprise. In both cases, the interviewers couldn’t relate to my experience. I had worked on critical infrastructure like time-series databases, event-based OT systems, platforms for streaming data, and interfaces to industrial hardware for over fifteen years, long before these technologies became more mainstream. But this work was only known in the process industries and essentially not at all in the database, cloud computing, or open-source software communities.[8] I also had first-hand experience working directly with customers through frontline technical support and field service, and supporting new sales, which gave me valuable perspectives into the demanding needs of software in OT environments. I’m not saying I should have been offered these jobs—they might not have been the right fit for me or the teams I was interviewing with—but it was frustrating that we couldn’t find common ground on which to relate.[9]

For anyone who works at a large company, or in an industry where the challenges are less well known or not in the public domain, you tend to be quite anonymous. One of my original motivations for starting my blog was to be a little less anonymous and make it easier to shape my career opportunities by having a place people could gain some appreciation for my work and perspectives. I couldn’t directly write about what I was working on, but I could write about my experiences. I made a conscious choice to research and learn new technologies largely on my own time, rather than doing so at work. It is easy to get caught up in the day-to-day at work and not even make the time, but even if I did find time to learn something new, write about it, and share it, my employer would own this output and it wouldn’t be available to me outside of work. My writing on WebAssembly[10] and memory safety in Rust[11] are two examples of subjects that were not directly related to my day-to-day work at the time—they were just me learning outside of work—but both later influenced my work and the work of my colleagues.[12]

Opportunity

My writing has opened many opportunities. My essay on Quality Views led to an invitation to speak at QCon in London, England in 2017. That opportunity led to meeting people I admire and still keep in touch with. It also led to other speaking opportunities in the United States, Canada, England, Germany, Spain, Hungary, Austria, Australia, and the Netherlands. My writing has led to invitations to write for magazines,[13] review books,[14] review journal submissions,[15] and join industry working groups.[16] A number of my articles have been cited in books and academic work.[17] One of the opportunities I have enjoyed the most, because of the people I have met and the ideas they have helped shape, is attending the biennial International Workshop on High Performance Transaction Systems (HPTS) in Asilomar, California.[18] I doubt any of these opportunities would have presented themselves without the essays that planted the seeds and gave people a view into how I think, something that goes far beyond the usual resume or LinkedIn profile.[19]

The opportunity to present the Tesla Virtual Power Plant with Percy Link in 2020 will always be a highlight of my career.[20] It is the only time I have presented publicly about what I work on and that talk being at the intersection of connected devices, IoT, OT, distributed systems, edge computing, cloud computing, functional programming, actor-model programming, and stream processing piqued the interest of so many people. But equally important was that these technologies were being applied in innovative ways to solve the important and inspiring challenge of transitioning the world to renewable energy—people love the application of innovative technology to real-world, meaningful problems. After watching that talk, many people find my blog and get a glimpse into my work and the culture of the teams I have established.[21] This was a catalyst for working with so many amazing people in the years since—not so much effective recruiting, as the means of connecting people who felt the pull to work together.

Where Next?

AI is changing our work so much and so rapidly, and we are only at the beginning. It is hard to believe, but for most of us, it hasn’t even been a year since the beginning of this radical change. A number of my essays over the past year have focused on the experiences of adapting to AI, including five essays in my Adapting to AI series.[22] My last essay, the hundredth essay on this blog, I Don’t Want to Read What You Didn’t Write, on the good and bad of writing with AI, was likely my most widely read essay ever.

I don’t anticipate AI changing how or why I write. To me, writing is thinking—a process of unfolding—and that can’t be replaced by AI.[23] I do find AI valuable as a proofreader and I feel more confident posting essays that haven’t been reviewed by others.[24] Most of my essays are me learning new things or testing ideas, and it is vulnerable to share that on the Internet, especially if people assume I’m an expert, rather than someone just trying to figure things out. AI makes some research, fact checking, and prototyping faster and easier, and this does make writing some essays a bit easier.

I’m not sure what the next one hundred essays will hold. I will almost certainly keep writing about technology and psychology and how they both relate to engineering, software, people, teams, and organizations. There are some things I want to say but I haven’t quite found the words yet, and a few notes or an early draft sit as reminders. There are other things I’d like to write about, like working for a famous company in a new industry, or observations on team and organizational dynamics, that will be better written in the freedom of retirement. The thought of some day collecting and expanding on some of my writing in a book also appeals to me.

When I started this blog, I didn’t know where it would go. The first one hundred essays have been a wonderful and rewarding journey. Here is to the next hundred being more of the same.


  1. It is also an excuse to capture a bunch of footnotes. ↩︎

  2. Engineering Management: Three Books and Three Videos was an essay I wanted to write for a while. I ended up writing it for someone interviewing on my team who was curious to learn more about how I thought about managing engineers. It was a welcome forcing function to finally write the essay and sharing the essay developed a nice connection with this person. Version Too and What Are Left-Hanging Releases and Why Should You Embrace Them? were essays I wrote to explain humour to teammates. ↩︎

  3. My estimate is an average of about 50 hours an essay, including research, writing, and editing. Writing is a slow process for me. A lot of my writing happens on weekend mornings with coffee or weekend afternoons outside on the patio. A lot of writing has also taken place in coffee shops and pubs, or in airplanes, trains, and parks while traveling. ↩︎

  4. Some of my first technical blogs to receive attention were the ones on Akka, especially Akka Streams, like Akka Streams: A Motivating Example and Patterns for Streaming Measurement Data with Akka Streams. ↩︎

  5. The four articles, in order of publication, are: Observations on Observability from 2019, Why Am I Excited About WebAssembly? in 2022, Predicting the Future of Distributed Systems in 2024, and I Don’t Want to Read What You Didn’t Write in 2026. ↩︎

  6. Three less popular articles that I keep returning to are The Iceberg Secret Is Just the Tip of the Iceberg, The Importance of Agency, and Engineering as Sketch Comedy. ↩︎

  7. The first software I worked on was proprietary database software that customers installed from a compact disc. ↩︎

  8. In the opposite experience, I met someone this year who used to run a small controls and OT integration company. I told him where I used to work. We immediately stopped trying to explain our experiences—we knew we understood each other’s work intimately—and we got right to the new work we were collaborating on. ↩︎

  9. Over the past decade, it has been interesting to watch these two teams relearn the lessons that were well known in the OT community since at least the 1990s, including product investments that failed because they didn’t fit the needs of the market. ↩︎

  10. In my essay WebAssembly at the IoT Edge: A Motivating Example, I imagined how using WebAssembly code as configuration might allow for safely updating some kinds of executable code outside of firmware to speed up iteration. I talked about this idea at S4 in 2023: WebAssembly at the IoT Edge. Someone reached out to me a couple years after to say they tried out this idea with a British healthcare technology company and it worked well. This was a regulated industry and using WebAssembly for some of the functionality allowed them to update those behaviours through configuration without a firmware update and a burdensome revalidation. ↩︎

  11. I wrote a series of essays on memory safety in Rust entitled Making Unsafe Rust a Little Safer: Tools for Verifying Unsafe Code, Including Libraries in C and C++, Model Checking Safe and Unsafe Code, Find Memory Errors in Production with GWP-ASan. I also spoke about these ideas at S4 in 2025—It’s Not As Simple As “Use A Memory Safe Language”, a talk that is one of the more popular in the history of S4—and at J on the Beach later that year—Rust Is Not as Safe as You Think It Is: Improving Safety and Reliability in Rust. ↩︎

  12. A word of caution to anyone considering this: make sure you keep a clean separation between your personal and professional work, protect intellectual property, don’t use any of your employer’s tools to do your personal work, and be aware of all conditions in your employment contract. I am glad I started my blog before working at a big company because I think it would have been harder to navigate if it wasn’t already established. ↩︎

  13. I wrote the article Concordance in Microservices in the DZone Migrating to Microservices Trend Report. It was fun to write for a publication and work with an editor, but I doubt this essay was widely read. In hindsight, I wish I just published that essay on my blog so it was accessible. ↩︎

  14. I reviewed the O’Reilly book Practical Process Automation by Bernd Ruecker. ↩︎

  15. I reviewed papers for a special edition of the IEEE Computer Society. ↩︎

  16. I am a member of Edge Monsters, a working group focused on edge computing. I have learned a lot from the people I have met through this organization. ↩︎

  17. A list of citations from Google Scholar is here. Both Predicting the Future of Distributed Systems and Shared-Nothing Architectures for Server Replication and Synchronization are cited in the second edition of Designing Data-Intensive Applications by Martin Kleppmann and Chris Riccomini. ↩︎

  18. Attending HPTS requires a position paper. I have attended three times and each time I shared my position paper on my blog: Our Transition to Renewable Energy: Motivating the Most Challenging Problems in Distributed Computing and IoT, then Object Storage and In-Process Databases are Changing Distributed Systems, and finally Operational Benefits of Databases Built on Object Storage. ↩︎

  19. I post my blogs on LinkedIn but I disable comments since, at least in the past, curating comments there was such a terrible experience. I also post my blogs on Twitter, now X. In 2021 I wrote an essay about my love-hate relationship with Twitter: Twitter: A Love-Hate Relationship. ↩︎

  20. We gave this presentation right before the world was disrupted by the COVID-19 pandemic in 2020. I wrote an essay at the onset of the pandemic entitled SARS-CoV-2 and the Future of Work. Because of the impact the pandemic had on the lives of pretty much everyone in the world, I didn’t feel like writing and I took a break from writing for six months. I did more reading than writing during the pandemic, including reading an important trilogy on depression recommended by a friend and mentor of mine. I also read four of my favourite books, some for the first time and some for the second time: Designing Data-Intensive Applications by Martin Kleppmann, The Master and His Emissary by Iain McGilchrist, Shame and Pride: Affect, Sex and the Birth of the Self by Donald Nathanson, and The Sun Also Rises by Ernest Hemingway. When I returned to writing, I started with the only poem I ever published on this blog: Love. ↩︎

  21. Two of my more personal articles are Cancer: A Twenty-Year Reflection and What Makes an Internship Successful?. You can see the personality of the teams I work with through articles like On Being a Team Lead: Welcome to Our Team, Reflections on Being a Team Lead, Understanding Our Core Values: An Exercise for Individuals and Teams, Reflecting on Our Core Values, and Engineering Management: Three Books and Three Videos. ↩︎

  22. The essays in this series are: Reflections on Productivity, Adapting Organizations, Write Things Down, What Is Software Engineering?, and Leadership. ↩︎

  23. More than once, I have had people show me AI referencing my blog as an authoritative source. For example, referencing my articles on what can go wrong with Kubernetes liveness and readiness probes: How to Avoid Shooting Yourself in the Foot, How to Avoid Shooting Yourself in the Other Foot, Looking for More Feet, and Getting Your Feet Under You. ↩︎

  24. My wife and my mom have been the proofreaders for many of my blog articles (but with AI they are chopped liver). A number of my colleagues have reviewed articles and provided input. I’m grateful for all the discussions that sparked ideas that led to blogs. ↩︎