A work colleague died this week. I can’t use his real name here, out of respect for his family’s privacy, but I’ll call him Francis. I don’t know how old he was, or what he died of, but it was sudden, and way too soon.
I first met Francis (over Zoom) during the pandemic, in 2021, when we launched a major web development project together for my employer. Even though he worked for one of our vendors and not directly for my organization, I considered him a close teammate for most of that year.
Francis and I shared the same code base, called Project Enya. Every day he would work in his home and I would work in mine. He was responsible for that stuff over there and I had to handle this stuff over here. Sometimes our code crossed paths, and then we had to get on Slack or Zoom and figure things out together.
If you don’t know, coders use a program called Git to keep track of every change they make to the code base. On any given day you can see each change you made, line by line—or the changes that another developer made—by looking at the Git log. That log lists what we call Git commits.
I can’t show you Francis’s commits, but here are some of mine from that time, to give you a sense of the daily work:
When you work on web pages, people ask you to change the tiniest details, and the biggest ones, sometimes in the same meeting: Can we get a hair more space between the country list and the state list? How about if we show the list of Canadian provinces to people who are in Canada? Can we find out which users are in Canada? Maybe we should send them off to a Canadians-only page? Can we take donations in Canadian dollars? Maybe we need an entirely separate web site for Canada …
Well, Francis would respond to things like “Can we show Canadian provinces to Canadians?” with something like “Yes, I already did that on another project. I’ll have it ready by the end of the day.” If it was doable, Francis had already done it somewhere else.
Our time zones were 3 hours apart, so each morning, I would look at Francis’s commits from the previous day and marvel at his conciseness and ingenuity. “You can do a Sass mix-in like that?! I didn’t know you could control the size that way …” “Wait, how does the state persist without a cookie? I need to Google what he did there …” Francis knew what he was doing, he seemed to have no fear of unusual challenges, and he was fast.
Francis was also precise. I’m a big fan of people who are sticklers for details, and he was one of those. He did not throw a glut of code at a problem and grind away until it mostly worked. He started with only the most important words—that is, essential code—and added what was necessary, and nothing more.
In our six years working together, I don’t think I ever got a good look at Francis’s face. I never met him in person. On our calls he usually had his camera off. But his voice was calming. He had a way of half-laughing at the predicament we sometimes found ourselves in: inventing new ways of doing obscure things that we’d never tried before, and that we couldn’t copy from somewhere else. Our code would power the web pages that processed millions of dollars of donations each year. But with Francis, it sort of felt like we were solving shared jigsaw puzzles each day. He clearly enjoyed his work, and he never let outrageous expectations get him down.
Francis was generous with praise too. I’m a self-taught programmer, and let’s say my code can be weird. I never learned the right way to do most things, but my way usually works—or I obsessively revise it until it does. Many times, Francis told me he liked my solution, and that made me smile.
Francis and I worked together only sporadically after our big thing launched in 2021. I came to rely on him now and then to help me figure out the best approach to something challenging. He was an authority I could count on. We would have calls and it felt like we were old friends, who’d seen a few things together and knew how to get things done.
I had been reluctant to work on this project with Francis. Or with anyone, really. I had created this code base in an earlier context, and it was my baby. My whole career, I’ve mostly worked by myself, keeping tight control over all the code. My projects were generally small enough for one person to handle. Whatever solutions I came up with were mine and mine alone, and that’s the way I liked it. Code loner.
Thousands of lines of Francis’s code live on in our Project Enya code base, even though he’s gone now. I came across one of his components yesterday and it struck me that he’ll never revise another function or tweak another style rule, ever again. At some point before he died, he made his final commit in a code base, and that will have to stand.