You will be redirected in 30 seconds or close now.

ColdFusion Authors: Yakov Fain, Jeremy Geelan, Maureen O'Gara, Nancy Y. Nee, Tad Anderson

Related Topics: ColdFusion

ColdFusion: Article

In Praise of Simple Tools

In Praise of Simple Tools

My first impressions of going to a professional baseball game are still vivid.

I was 11 years old and I went to see the greatest team in the world - the New York Yankees - play in Yankee Stadium.

I grew up listening to my brothers tell tales of watching Mickey Mantle, the head of the Yankee pantheon, and of the unfortunate Roger Maris, who, though great, never won the hearts of Yankee fans. Unfortunately, my life as a fan began during a hiatus between periods of Yankee dominance. Still, these were the New York Yankees, this was Yankee Stadium, and I was a huge fan.

Recollections are odd things. You remember bits and snatches: the smell of new-mown grass, the patterns in the playing field made by careful manicuring, the cry of vendors barking, "Programs...get your programs here...can't tell the players without your programs!" But I knew all the players' names and numbers, knew their stats, and knew where they'd grown up. (This was before players were transferred annually, so an investment in knowing your team made sense: you'd see these same players year after year.) I had no need for a program.

Today, though, I'd have to pore over the program to make any sense of the players. The baseball world has changed faster than my ability to keep up. In apparent obedience to some lunar cycle, players change teams with dizzying regularity. Who wouldn't need a program?

Of course, such a rate of change appears absolutely stodgy in the world I now work in, where technology changes so rapidly that virtually any book is out of date by the time it's published. The latest technology to appear is Web services.

Web services, we're told, will change everything. Unfortunately, we were told this about last week's favored technology. In fact, the phrase "This will change everything" has become a cliche, even a joke, wryly used to mean the exact opposite. What about Web services? Are they doomed to be just the latest in a succession of great ideas that flashed onto the scene and then were not so much rejected as forgotten in the hoopla of the next great thing's publicity?

Unfortunately, it's impossible to predict with any accuracy the fate of Web services. Certainly their goals are noble enough. Wouldn't we all benefit from sharing of information and collaboration of work? But these goals aren't new. They've had predecessors - CORBA being perhaps the best known - and they have failed.

The reasons for failure or success are never as simple as the reasons usually given. Years ago the writer of the Biblical book of Ecclesiastes reflected on this: "I returned and saw under the sun, that the race is not to the swift, nor the battle to the strong, neither yet bread to the wise, nor yet riches to men of understanding, nor yet favour to men of skill; but time and chance happeneth to them all."

There are powerful, if little discussed, counterforces that are working against Web services. More than one promising technology has withered from lack of interest because the politics of the situation undermined it. The idea of you sharing with me is more appealing than its necessary converse, and whether the dreaded "not invented here" syndrome will defeat Web services is anyone's guess. Soothsaying in all aspects of life is bad business.

If Web services do succeed, I think they will do so because they take a very different approach than that of previous attempts to solve the same problem. Web services have the startling, unusual virtue of simplicity. It's startling because so many technologies plunge into complexity without ever looking back. Why? Why this love of complexity? Despite numerous failures where complex solutions are attempted, our industry seems drawn to complexity like a moth to the flame - and often with the same results.

The movers and shakers of technology love gadgets. I suspect most of us do - complicated gadgets. They're fun and they engage our attention. We're told that this newest tool or method or model or technology will solve problems that were too tough for simpler means. The new product's abilities are touted as far superior to marginally older, simpler tools.

Yet after a time a pattern emerges: a technology is introduced...we scramble to learn it...hopefully we master it. Or we at least try. The truth is, we're probably a bit behind the curve, still struggling to recover from several product cycles back when the latest, greatest technology demanded our attention. But who can argue that newer is better? That more complex is better? Surely we don't wish to be Luddites, opposing promising new technologies...

But the promoters of the new technology are often the ones who, just a short time ago, were touting the benefits of what they now wish us to set aside, leaving us on a path of faster and faster change. Is change always for the better? What's really going on?

The first, most obvious, answer is profit. If I sell you product A and you like it, find it useful, and master it, that's good for you. But enough about you; what about me? How can I stave off my competition, to say nothing of meeting Wall Street analysts' famously short profit expectations, by having sold you a product? I need to sell you a new one to keep the cash flowing. In order to sell it, it needs more features, more capabilities, and, of course, it must be 100% buzzword compliant.

So I introduce - hopefully to great fanfare - product B. Product A, which replaced an older, now forgotten product, is passé product B is what all the most fashionable developers are using. I don't use the word fashionable, of course. I prefer words like competitive or cutting edge or a breakthrough in technology. We're all used to this cycle. We accept it. Sometimes we embrace it. And we almost always accept the idea that the more complex a technology is, the better it is. It's a notion that has surprisingly little evidence to support it.

New technologies have learning curves associated with them. The more complicated, the longer the learning curve. The time required to learn a new technology takes time away from actually producing useful items with it, a calculation we're seldom encouraged to make.

That may explain why people want to sell a newer, more complicated technology every week. Why do we so often accept their questionable proposition? I think there are at least four reasons that lead us to accept added complexity with only the flimsiest of justifications.

First is the misplaced notion that we're failures if we want to get off the technological merry-go-round. If we perceive that we are "real developers" only in proportion to our ability to play this high-tech version of "Chicken," we will forever be at the mercy of vendors' desires to sell us newer versions of their wares. Our significance as developers lies in our ability to fashion solutions to clients' real-world problems. We are developers, not mere technology consumers.

Second is simple boredom. The more complicated things are, the more there is to learn, to do. A new technology can be just the antidote to more of the same. Actually, I'm quite sympathetic to this. Few of us want to do the same thing over and over, but a better solution is to go deeper into the craft of programming, to learn how to make code simpler and cleaner, rather than acquiring a new tool to play with.

Third may be the misperception that simple tools won't help us achieve the rich, complex work we want to do. This myth isn't unique to technology. Years ago George Orwell lamented the trend to set aside simple, English words in areas of business, academia, and government in favor for more complex words and phrases, often Latin in origin.

Commenting on the example from Ecclesiastes I quoted above, Orwell says that the majestic cadences and simple prose of the original translation would today be rendered thus: "Objective considerations of contemporary phenomena compel the conclusion that success or failure in competitive activities exhibits no tendency to be commensurate with innate capacity, but that a considerable element of the unpredictable must invariably be taken into account."

Such a confusion of complexity and sophistication is a stage of un-derstanding many of us go through and a few get stuck in. Years before personal computers came on the scene, I was a cabinetmaker. I worked alongside craftsmen who were highly accomplished and who had a bevy of tools and machines to help them work their wonders. I wanted to be just like them. They took a rough piece of wood and fed it through a (power) surface planer to make it smooth. They produced a wonderfully straight edge by using a (power) jointer, then turned that wood to a (power) table saw to cut it to the dimensions they needed.

But the owner of the shop was a crusty Cape Codder who had some very peculiar notions. For the first year of my apprenticeship I wasn't allowed to use a power tool, to say nothing of the wondrous machines the shop was filled with. When I needed to fashion a piece of wood, I took a rough piece of wood and a hand plane.

If you've never tried this, I can only assure you that it is a very difficult task. After hours of assaulting the wood and thinking that I - finally - had the knack of it, I'd find that I had planed one end of the wood thinner than the other. Or it was a different thickness across its width. If I was working with a piece of hard wood - oak, say, or cherry - the plane blade dulled quickly and had to be sharpened often.

What I was learning, though I had no idea of it at the time, was that a tool, properly used, was an extension of my hands. Over time I developed the ability to sharpen and hone a plane to the point where I could shave with it. I learned how to read the grain in a piece of wood to see how to best work it. Later, when I "graduated" to using power tools and machines, I marveled at the wisdom of my boss, who was willing to invest so much to teach me the meaning of craftsmanship. I found that often the best tool for the job was a simple hand tool.

I also noted that people who began with complicated tools often never developed real mastery of their craft. They were so busy fiddling with new router bits or shaper blades (the woodworking world, too, has its share of "kewl" stuff) that they never developed a sense for the work itself. Their knowledge began and ended with what the tool could do, and their work was less the product of their creativity than of the limitations of the tool. They had fallen for the fallacy that simple tools were good only for simple work. The scope of their solutions to problems was limited to what the tool could do, not what they could do.

When I moved to the high-tech world, I was surprised to find that many technology workers were also defined by their tools and technology. I was marvelously lucky to have someone who insisted that I learn the craft of woodworking so that I could use my tools and not be defined by their bounds.

I was equally fortunate to begin my programming career working with experienced developers who believed that programming is not primarily a matter of arrays and data types. It is more fundamental. Programming lets us build self-consistent worlds of our own fashioning. It is an act of great creativity. Viewed thus, programming can be a source of deep satisfaction and enjoyment. We have a rich path to follow, one that is defined by our selves and not our tools.

More Stories By Hal Helms

Hal Helms is a well-known speaker/writer/strategist on software development issues. He holds training sessions on Java, ColdFusion, and software development processes. He authors a popular monthly newsletter series. For more information, contact him at hal (at) halhelms.com or see his website, www.halhelms.com.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

IoT & Smart Cities Stories
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.