Author: Jud

Technologist interested in building both systems and organizations that are secure, scaleable, cost-effective, and most of all, good for humanity.
Like All Good Things

Like All Good Things

The Morning Paper is wrapping things up, as explained in its final post. A treasure trove of computer science deep dives, it will be missed. But I can certainly relate to the desire to move on, especially when a global pandemic has brought life’s various priorities into sharper focus.

Luckily for all of us there is a rich back catalog of posts that could keep one busy for months. Do check them out. Need a place to start? Here’s my absolute favorite: Applying the Universal Scalability Law to organizations.

It’s A Small World

It’s A Small World

Several weeks ago I recorded a half-hour talk for our big annual kickoff meeting. It turned out to be quite the production, with ring lights and lav mics and a team of people helping me set up and run the recording. Not to mention the time that went into prepping the content and having it peer reviewed and copy edited.

There was a moment amidst the mayhem when I wondered if it was worth it, especially considering all my other responsibilities. I briefly thought about calling it off altogether. But it’s an honor to be selected in the first place, so perseverance was appropriate.

Turns out it has been a singularly rewarding experience hearing positive feedback on the session. Not just from my own team, but from people all around the world. Twelve countries at last count (in order by timezone):

  • Myanmar
  • India
  • United Arab Emirates
  • Israel
  • Sweden
  • Italy
  • Switzerland
  • Germany
  • France
  • England
  • Brazil
  • United States

I happily responded to every email and Slack message, even had a couple quick video chats about it. Pretty darn cool.

Ketchup

Ketchup

I’ve written a couple of posts in the past that provide an outline of my career progression. Today’s update is in that vein, as I’ve taken on a new role as a technical manager, getting back into people management after a few years off from it.

I was chatting yesterday with one of my new team members, and he asked me a pointed question. Paraphrased, “Given your technical background, why would you choose to be a manager?”

On my résumé, I describe myself as having

a keen interest in architecting systems that are secure, scaleable, and cost-effective, and then building the organizations best suited to implement them

And therein I think lies the reason. I’m a builder at heart, to which this blog’s domain name testifies. And building great solutions requires building great organizations, and it’s that latter team construction which is a manager’s primary responsibility. So I think it makes sense that the builder mentality can carry over to people, even if the technologies involved differ.

Here’s a great upcoming year!

A Rose By Any Other Name

A Rose By Any Other Name

In all my time thinking about how naming is hard, I’ve never come across a concise set of practical suggestions for choosing variable names in software. Until now. I’ve used the A/HC/LC Pattern my whole career, but never had a term for it. Honestly it could use a better name (naming is hard!) but the concept is solid.

There isn’t a single piece of advice in the above that I disagree with, and a few I absolutely love (my goodness do I hate context duplication in namespaced variables).

The Lies We Tell Ourselves

The Lies We Tell Ourselves

I’ve written before about the importance of writing documentation. Like anything else it’s a skill that takes both training and practice. The latter only takes time, but there’s not a lot of material out there on the former. Therefore it made me happy to discover Write The Docs, a global community of people who care about documentation.

The recommendations in their Beginner’s Guide To Writing Documentation I found quite helpful. And loved this quote, which is only tangentially related to docs:

Fear is what happens when you’re doing something important. If you are doing work that isn’t scary, it isn’t improving you or the world.

The article argues that writing documentation for yourself and others is one way to alleviate fear, and I agree. So go forth and write!

Put A Bow On It

Put A Bow On It

I spent a bunch of time over the holiday cleaning up some Python tools I’ve written, and packaging them up for easy distribution via an internal PyPI repository.

The endless list of things to learn never ceases to amaze me, in this case I got to play with tox for matrix testing/packaging, and twine for publishing. Also got a lot better at writing setup.py files and integrating quality tools like flake8 and safety.

Here’s a couple helpful write-ups that I found when researching best practices for Python packaging:

Packaging a Python library
Python packaging pitfalls

In the course of the above, I also found it necessary to inquire about modifying an open-source tool for measuring code coverage. Turns out it was easy enough to make the modification and submit a PR to the maintainer. If you’ve never contributed to an open-source project, I highly recommend it!

Something Different

Something Different

All the time spent indoors during the pandemic quarantine has afforded unique opportunities for creativity. Last night we played some D&D as a family, and to get in the right mindset, I wrote a backstory for my character. Thought I’d post it here for posterity. Enjoy!

I never knew my parents; no one did. I was left in the dead of night on the portico of the Second Temple of The Mother, naked and shivering. Reverend Shaeltiel brought me in, and quickly became like a father. As I grew, it became clear I was more than human. Not just because of my lanky frame and luxuriously long and straight hair. The reverend had never seen anyone with my thirst for knowledge. By my sixth year-day I’d memorized the entire Sacred Codex, and by my tenth there were no more books in the temple library I hadn’t read at least twice. Still I craved more.

It first happened during a thunderstorm. I laid awake, reciting an ancient poem to myself in a failing attempt to soothe my anxieties. Simultaneous with a flash of lighting outside my window, I felt a prickling sensation on my hands, and behold! Little arcs of electricity bounced between my fingers. I caught my breath, and the sparkling stopped. I would get no sleep that night.

Early the next morning I went to Reverend Shaeltiel and explained what happened. He sighed, and brought me to his study. Only behind the heavy doors did he tell me that he’d long feared for this day, for my prodigious intellect had tapped into forces older than any beings on earth: the elemental forces. He explained that with further study and practice, I could master these forces. How did he know this, I asked. Because he too could command them. It was a skill forbidden by the church, however, and in his zeal for faith he’d resisted its practice. With time, he said I could do the same, but first I had to learn control.

For months we trained together, always in secret. I brought forth light from darkness and summoned great bolts of fire from my hands. From a hidden chamber in his study, Reverend Shaeltiel provided massive tomes containing even greater possible feats where even the great storms could be tamed and focused. My knowledge grew, and my power grew with it.

In retrospect, it was inevitable that I’d be exposed, for there are to be no secrets in the Faith of the Five, and this was a small temple, in an even smaller village. I’d been practicing a thunderclap incantation, and how I might combine it with an amplifying focuser. Little did I know the resulting shockwave would explode from my chambers, shattering the stained glass in the adjoining sanctuary and echoing across the valley. Reverend Shaeltiel came running, his eyes met mine, and together we came to the same conclusion: it was time for me to choose: either embrace the rules of the faith and rein in my burgeoning abilities, or find my fortunes elsewhere. I chose to go.

That evening I left the temple, and now I quest for further knowledge and how I can bring the power I wield to defend truth and justice, and to show to myself and the templars of the Faith of the Five, that they needn’t fear the ancient elemental forces. They are but tools for a greater purpose, a purpose only the future can reveal.

No Silver Bullets

No Silver Bullets

I thoroughly enjoyed the advice given in Scaling with common sense, probably because I’ve violated each of those principles at various times in my career, and are (hopefully) wiser for doing so.

But the real gem was a link to the following sketch:

I’ve been in that meeting, both as the speaker, and as the listener. Whenever I hear someone say “just move to microservices” like it’s some kind of magic spell that instantly fixes all problems, I want to go full-on Andy Bernard and punch a hole in the wall.

No True King

No True King

Recently I’ve revisited thoughts I’ve had about what it means to be a senior engineer. One summary I came across that I liked was making the move from “delivering” to “leading”.

And another I gleaned from an email Eric Raymond sent to Linus Torvalds regarding the latter’s over-reliance on his own genius. While not sent in the context of senior-level engineering, I think it’s still informative of an attitude adjustment that must be made when taking on the mantle of leadership:

The bill always comes due — the scale of the problems always increases to a point where your native talent alone doesn’t cut it any more. The smarter you are, the longer it takes to hit that crunch point — and the harder the adjustment when you finally do.

There will come a time when your raw talent is not enough. What happens then will depend on how much discipline about coding and release practices and fastidiousness about clean design you developed before you needed it, back when your talent was sufficient to let you get away without.

I would add “ability to delegate and elevate the work of those around you” to that last paragraph. It’s hyperbole to say that every line of code written by an engineering leader represents a failure, but I coach up-and-coming senior folks to think that way nonetheless.