Month: December 2022

Whoever Will Lose Their Life

Whoever Will Lose Their Life

Last month, my post on layoffs got 113 views in one day. I suppose that’s what passes as “going viral” around these parts. While I certainly wouldn’t mind more readers, I’m okay with my current reach.

How does that square with the principle of thinking big? The common way of considering scale is quantity; it’s certainly the easiest to measure. But one can have an outsized impact in quality without needing large numbers. Think of it like big in depth vs big in breadth. When it comes to technology I embrace breadth, but when it comes to impact, I value depth quite a bit more. And sometimes to get that result requires thinking small.

On my desk is the following photograph by Eric Peters. It captures my objective well.

Speaking of things on my desk, perhaps I’ll document my setup in a future post. That could be fun.

Welcome Robot Overlords

Welcome Robot Overlords

Maybe I don’t actually need to learn a new programming language?

Naturally, I’ll have more to say on this soon. But I figured I’d also ask ChatGPT its opinion on the question:

It depends on what you want to do with programming. If you are just starting out with programming and don’t have any specific goals in mind, you may want to start with a general-purpose programming language like Python or Java. These languages are widely used and have a large community of users, so you can find a lot of resources to help you learn and get started.

If you have specific goals in mind, such as building web applications or mobile apps, you may need to learn a language that is more specialized for those purposes. For example, if you want to build web applications, you may want to learn HTML, CSS, and JavaScript. If you want to build mobile apps, you may want to learn a language like Swift (for iOS) or Java (for Android).

In general, it’s a good idea to start with a general-purpose language and then learn additional languages as needed to achieve your goals. This will give you a strong foundation in programming concepts that you can apply to any language you learn in the future.

That’s pretty solid advice for a newbie, but I’m far from that. Perhaps the human touch is still needed?

We’re All Coders Now

We’re All Coders Now

I work in the intersection of technology and government. Which is why stumbling on Catala was such a delight. “Deriving faithful-by-construction algorithms from legislative texts” you say? Uh yeah, pretty sure my customers could benefit from that kind of rigor.

And could it count for my currently unmet resolution if I can pick up the basics before year-end? I get to decide the answer to that, and the answer is yes. Time to get reading.

Eyes On The Prize

Eyes On The Prize

“Only those who will risk going too far can possibly find out how far one can go.”

T. S. Eliot

Yesterday I finished To Flourish or Destruct, and with that I’ve completed year one of my meta-resolution: reading 43 books, the same number as my age.

I’ve also successfully written on this blog at least once every month, another of my resolutions. This is my 31st post, so I’ll finish the year no worse than averaging 2.5 posts a month, a pace I’m happy with.

However, I haven’t ended up learning a new programming language this year, my other resolution. And that’s okay. Not because ChatGPT stands to replace coders soon (spoiler: it won’t), but because while goals should be SMART, they needn’t all be actually achieved. The goal of resolutions is not absolute completion, but inspiring yourself to accomplish something. To move the needle positively for your life. To take a step towards become a fully flourishing human person, as Christian Smith would say in the book I just read (echoing Aristotle 2300 years before him).

While each goal in and of itself should be achievable (the A in SMART), in aggregate they should be aspirational. When discussing goal setting with my team, I want them to define enough goals for themselves that it’s likely there’s one or two they won’t complete. Otherwise they’re not thinking big enough.

Livin’ On A Prayer

Livin’ On A Prayer

Today marks a unique milestone. It’s exactly halfway between the day I started my professional career as a software developer (June 4, 2001) and the same date the year I turn 65 (June 4, 2044), ostensibly about the time I retire (though who knows, I’m a bit of a workaholic).

Richard Rohr, the Franciscan priest and writer, speaks of “the two halves of life” in his book Falling Upward. Indeed, midpoints are a common moment to reflect on how far one has come, and how far one has left to go. I’m no exception to that. I’ve been blessed to have been in the tech industry for over 20 years. Done some fun work. Some interesting work. And I hope, some work that’s used technology to improve people’s lives while having a positive influence on those around me along the way.

It’s a common refrain that technology in its myriad forms has ruined humanity, whether it be social media and cell phones in 2022, the printing press back in the 15th century, or even agriculture in ages past. Maybe I prefer to see the bright side in things, because I believe that despite our faults in wielding it, the evidence shows that technology has unlocked human potential and made lives better in innumerable ways. I wouldn’t wish any of it away, and moving forward it still can, should, and must be used for the betterment of us all.

This will require us to remain vigilant and disciplined, ask tough questions, and apply our knowledge well, but I believe that it’s possible to do so. I’ve tried my best these first twenty-one and a half years. Here’s to twenty-one and a half more!