Welcome!

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
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...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
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 ...
DXWorldEXPO LLC, the producer of the world's most influential technology conferences and trade shows has announced the 22nd International CloudEXPO | DXWorldEXPO "Early Bird Registration" is now open. Register for Full Conference "Gold Pass" ▸ Here (Expo Hall ▸ Here)
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and sh...
What are the new priorities for the connected business? First: businesses need to think differently about the types of connections they will need to make – these span well beyond the traditional app to app into more modern forms of integration including SaaS integrations, mobile integrations, APIs, device integration and Big Data integration. It’s important these are unified together vs. doing them all piecemeal. Second, these types of connections need to be simple to design, adapt and configure...