Configuration is the Real Magic

I talk about writing software being like magic. It’s how I view the craft in a lot of ways–using arcane words and phrases combined with strange tools to conjure amazing things out of a series of 1’s and 0’s on a circuit board. But when I describe my ultimate career goal as “being a wizard” I mean something, or someone, very specific.

I’m not talking David Copperfield or Penn and Teller. They are very skilled magicians, not wizards. That sort of magic is based on memorizing an illusion, of doing a thing in a certain way because of the reaction you know you’ll elicit. One does a very specific thing, or specific set of things, in a well organized way, over and over and while it gets more polished with practice, it will always be the same.

The words “programming is magic” conjure up Gandalf for me, from the Lord of the Rings universe. For the majority of those adventures, it wasn’t actually magic that made Gandalf the go-to guy–it was never “Gandalf has a spell for that.” What made Gandalf the truly formidable foe and an invaluable ally was the fact he knew things. He understood the old lore, the behavior of people and animals, how the elements of the world fit together and how they could either help or hinder a particular goal.

Gandalf knew the configuration of Middle Earth. Maybe not the *exact* configuration for every situation, but he knew what was missing, or what was the blocker. His magic was always a tool to divine knowledge or to force something into place, to adjust the configuration of a situation. Never magic for the sake of magic, happening in isolation.

“Gandalf knew the configuration of Middle Earth.”

Just like the veteran programmer on the team who always seems able to spot the problem

Continue reading “Configuration is the Real Magic”

M*A*S*H and Single Responsibility

If you haven’t heard of the TV show M*A*S*H, it’s based on an equally excellent movie by the same name. It has exactly nothing to do with coding, software development, business, or anything else you might think is germane to this blog. Except that I watch a lot of it (may have even gotten a Hulu subscription JUST to take advantage of their recent acquisition of the show). Like most art you consume a boatload of it will eventually worm its way into the rest of your life.

Most recently, I had to use a Charles Winchester quote to remind myself of the Single Responsibility Principle.

“I do one thing at a time. I do it very well. And then I move on.”

— Major Charles Emerson Winchester, III

You see where this is going, right?

Continue reading “M*A*S*H and Single Responsibility”

It’s Not the Code

I saw an article recently from Code Like a Girl with a headline “Don’t Teach Your Kids to Be Coders.” It’s an excellent piece, and like most people smarter than me Dr. Johnson managed to put words to a feeling that had bothered me in all my classes at CSCC–the code is a tool, not a result.

I pick up skills very well. I’ve been praised (as an adult even) as a quick study. If I can identify a benefit to knowing how to do a thing, especially an immediate benefit, I will learn to do the thing. Most importantly, do it well enough to count. The jobs I’ve excelled at have had simply-defined goals–that type of goals allows me to determine the tasks necessary, and then start practicing the skills.

Continue reading “It’s Not the Code”

Blog at WordPress.com.

Up ↑