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
Every organization is facing their own Digital Transformation as they attempt to stay ahead of the competition, or worse, just keep up. Each new opportunity, whether embracing machine learning, IoT, or a cloud migration, seems to bring new development, deployment, and management models. The results are more diverse and federated computing models than any time in our history.
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Japan DX Pavilion at @CloudEXPO Silicon Valley
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...
The graph represents a network of 1,329 Twitter users whose recent tweets contained "#DevOps", or who were replied to or mentioned in those tweets, taken from a data set limited to a maximum of 18,000 tweets. The network was obtained from Twitter on Thursday, 10 January 2019 at 23:50 UTC. The tweets in the network were tweeted over the 7-hour, 6-minute period from Thursday, 10 January 2019 at 16:29 UTC to Thursday, 10 January 2019 at 23:36 UTC. Additional tweets that were mentioned in this...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Where many organizations get into trouble, however, is that they try to have a broad and deep knowledge in each of these areas. This is a huge blow to an organization's productivity. By automating or outsourcing some of these pieces, such as databases, infrastructure, and networks, your team can instead focus on development, testing, and deployment. Further, organizations that focus their attention on these areas can eventually move to a test-driven development structure that condenses several l...
The term "digital transformation" (DX) is being used by everyone for just about any company initiative that involves technology, the web, ecommerce, software, or even customer experience. While the term has certainly turned into a buzzword with a lot of hype, the transition to a more connected, digital world is real and comes with real challenges. In his opening keynote, Four Essentials To Become DX Hero Status Now, Jonathan Hoppe, Co-Founder and CTO of Total Uptime Technologies, shared that ...
Over the course of two days, in addition to insightful conversations and presentations delving into the industry's current pressing challenges, there was considerable buzz about digital transformation and how it is enabling global enterprises to accelerate business growth. Blockchain has been a term that people hear but don't quite understand. The most common myths about blockchain include the assumption that it is private, or that there is only one blockchain, and the idea that blockchain is...
Never mind that we might not know what the future holds for cryptocurrencies and how much values will fluctuate or even how the process of mining a coin could cost as much as the value of the coin itself - cryptocurrency mining is a hot industry and shows no signs of slowing down. However, energy consumption to mine cryptocurrency is one of the biggest issues facing this industry. Burning huge amounts of electricity isn't incidental to cryptocurrency, it's basically embedded in the core of "mini...