In the 1967, Paul Newman classic, Cool Hand Luke, there's a scene where the men of the chain gang are given the task of paving a long, two-lane highway in the blistering sun of the deep south. The task is presented as nothing but back-breaking labor, something the men always do slowly, so as to conserve their energy. Lucas has other ideas, though. As a messianic figure, his role in the lives of the other prisoners is to help them rise above their mundane experience and their labored suffering. He inspires them to "treat their shovels like they were spoons". In spite of the punishing heat, their speed and efficiency shocks the guards, who can barely keep up with the men. They were whipped into a frenzy by Luke's goading, then, a few hours ahead of schedule, they ran out of road. The job was complete. The normally sadistic guards had no choice but to allow the men to enjoy a few cold ones together; shirtless, covered in grease, but with nothing to do. For one brief, shining moment, they feel like free men.
The moral of the story is this: there's no excuse for boredom and tedium. Change your perspective on what's expected of you, learn to frame it differently, and you can transform a task - even one as cruel as tarring a road on a summer day in Mississippi. It seems easy and even desirable.
I have discovered that this principle can be applied to any task. Driving, for instance, can feel a lot like aviation. Having gotten a private pilot's license many years ago, I really fell in love with navigation. A typical flight plan is broken up into segments - waypoints defined by navigational beacons all over the world. You tune one of your nav radios into the published frequency of the next waypoint and fly the needle until you get there, then tune into the next one, much like taking highways to reach a destination. To get to a nearby township I visit frequently requires me to take 4 highways - one headed south, one headed west, another headed south, and another headed west. I imagine each interchange that allows me to change highways as a navigational beacon, where I will change course, always narrowing in on my destination.
The same holds true for software development. Let's be honest, some programming tasks are exciting. To me, anything involving a brand new solution is exciting. It means I get to build something from the ground up, the right way. Then, there are the "fix my cryptic error message" kind of tasks, in which I'd sooner trade places with Luke or one of his men rather than dig into an unknown problem, with an unknown solution. So, how does one make a task like this interesting?
Think about this, take a moment to appreciate just how lucky you are to be able to look at code and understand what it's doing. I have had friends and family glance over my shoulder and catch a glimpse of what's on an editor screen and they have gasped audibly and asked something like, "My God, how do you know what all that means?"
Now, do I imagine myself throwing a flash bomb onto the floor and in a masterful voice, declare from a cloud of smoke, that the code and I are one? No. I have given several friends permission to shoot me if I ever do anything that cringey. Although, it is fun to view yourself as an old wizard - one of the fortunate few who can still read and comprehend the Elvish that is a modern programming language.
To illustrate my point, I'd like to describe a career defining moment that happened several years ago. I was working on a management system for an ASR (Automated Storage and Retrieval) project for a pet food company. The system was used to send and retrieve pallets of dog food in a warehouse. My task on this project, among other things, was to read the contents of a pallet of dog food as it passed the decision point on a complex conveyor system and decide where in the warehouse to place it. There were very strict rules governing the location selection and there were some 7,000-odd locations to choose from. I knew what was going to be sent up and I had worked out on paper the exact location that should be chosen by my process. A friend and I donned our hard hats and set up our laptops deep in the bowels of the warehouse and waited for the pallet to arrive. Already, this felt like a scene right out of a sci-fi film. The pallet of dog food rolled our way. On my screen was a display which would show us the exact location chosen for the dog food. Suddenly, it felt like being a part of the first lunar landing and I was the guy who designed the descent engine. I was sweating bullets as I waited to hear from the lander that they had touched down safely in the Sea Of Tranquility. Would they have enough fuel? Is the engine stable enough?
My screen flashed and displayed a location: 0554L.
I didn't need to cross-reference my notes, I knew the location by heart, and that was it. The Eagle had landed, the boys were safe on the surface of the moon. It was my proudest moment as a software developer.
Luckily, getting the boys back home was someone else's task.
- Written by Mike Krysl
Looking for Midwest-Based Developers for Your Business?
Open up new opportunities, grow revenue and improve user experience with Aviron Software. Based in St. Louis with USA programmers & QA specialists, Aviron can help your business whether on web, mobile apps or desktop software development. Get in touch via hello@avironsoftware.com or contact us.
Do you prefer to text? Send a text over to (314) 541-3446 to setup a time to discuss growing your business through software.