Tag: Think Big

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.

Out Of Sight, Out Of Mind

Out Of Sight, Out Of Mind

Today I came across this statement from Alfred North Whitehead, and instantly loved it as an extension of my previous post on abstractions.

“Civilization advances by extending the number of important operations which we can perform without thinking about them.”

That to me is the essence of abstractions. Not that one needn’t ever be required to dig down into the implementation details, but that the layer on top of those details enables them to be ignored to an increasing degree.

Incidentally, this is the second Alfred North Whitehead reference I’ve come across recently, the first being a mention of his book Science and the Modern World in one of my favorite podcasts. Something tells me I need to dive deeper.

It’s Been Awhile

It’s Been Awhile

Howdy friend. It’s been quiet here for some time now, but as is typical around a new year, I’m renewing my efforts to stay active on this blog (especially since I’ve mostly stopped using social media). This is in no small part to me now working for AWS Professional Services as a Senior Consultant in the public sector, a role for which improving my writing will be particularly valuable.

My silence should not be interpreted as inactivity, because a heck of a lot has gone down since I last posted:

  • Got promoted to the Director of Engineering for a 20+ person team (this actually happened in late 2017 but I’ve never mentioned it here)
  • Led that team through a painful acquisition process that required reducing the team by about a third
  • Experienced the joy of having a paycheck delayed by two full weeks during the holiday spending season
  • I celebrated my 40th birthday with a trip to Germany and Ireland
  • Was laid off when my employer ran out of money, without warning and with no final paycheck (about this much more could be said, but going to keep it short for now)
  • Dipped my toes into independent consulting for a few months while searching for a new job
  • Was hired by Amazon as a Senior SDE to work on their Last Mile team (the folks that get packages from delivery stations to your doorstep)
  • Transferred to AWS as I mentioned above

Pretty bonkers 18 months, but things are starting to settle down, and I’m eagerly anticipating the new normal of 2020. More to come!

An Apple A Day

An Apple A Day

Anyone want to speculate on how many .DS_Store files and other MacOS cruft have been inadvertently uploaded to Google Drive, Dropbox, etc? Every time I see these things it’s a reminder that when designing a system, one should never assume it’s always going to be used within whatever comfortable little ecosystem the engineer envisions for it.

The Bible Of Software Engineering

The Bible Of Software Engineering

One of my all-time favorite passages on software development.

The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

Yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.

Frederick P. Brooks, The Mythical Man-Month

Thinking In Future Tense

Thinking In Future Tense

Last night I was reading an article on characteristics of a good startup, and this nugget jumped out at me (it was originally said by Marc Benioff):

People overestimate what you can do in a year and they underestimate what you can do in a decade.

Software folks tend to be impatient for success, perhaps fueled by seeing the lucky few like Mark Zuckerberg who achieve near-instant greatness. The temptation of moving around to chase pay increases is also ever-present. And it’s really easy to get tired of a particular project at about the 80% complete mark and leave it unfinished (that’s worth a post all its own).

However, great products and great companies almost always take time to develop. And deep satisfaction awaits the person who, through years of toils, takes an idea to completion or builds a fantastic engineering culture. When I was (finally) looking for a change after 12 years at one place, why did I turn down offers from the typical dream companies? Because they’re essentially solved problems, and the chance to make a long-term transformation is minimal.

My current workplace is far from perfect. Without a doubt it’s been more challenging than I expected since I started 3 years ago. But I’m learning to be patient. There’s no guarantee of success, but if it comes, I know it’ll be more satisfying than if it had come quickly.

It reminds me of a story I heard from Andrew Peterson of the designers of Central Park. Told briefly, the folks who planted those first trees knew they would never even see the fruits of their labor, since a generation had to pass before their landscapes could mature. But what a result it was! That kind of patience inspired a great song and it inspires me as well.

Sidenote: the title of this post comes from a book I snatched from the free table outside the library at Judson Baptist Church in Nashville. I highly recommended it (the book, not the church).

Hello world!

Hello world!

“The making of things is in my heart from my own making by Thee.” – J.R.R. Tolkien

Hi, I’m Jud. It’s been several years since I’ve blogged consistently, but having been inspired by John Sonmez’s Soft Skills, I’ve decided to get back in the game.

The blog title comes from the story of the creation of the dwarves by Aulë in Tolkien’s The Silmarillion. I love the idea that as God’s image bearers we are to called to be sub-creators in the universe He has made. Though we often fall short of His ideals, somehow He still graciously accepts our work.

Specifically I see my calling in the area of software craftsmanship, and thus I expect topics here to hew fairly close to the world of programming, though I’m not promising there won’t be a few rabbit trails from time to time. Hopefully what I write here will be useful to some, or at least mildly entertaining.

And with that, time’s up for today. Tomorrow expect my first “real” post, on why I love Python.