DEV Community

Cover image for The Craft of Programming: Five Inspiring Benefits
Jose Maria Iriarte
Jose Maria Iriarte

Posted on

The Craft of Programming: Five Inspiring Benefits

Coming into programming from the social sciences has allowed me to appreciate certain aspects of the profession, aspects that those designing and crafting code for some time might overlook or take for granted. Whether you are a fledgling or seasoned code craftsman – or craftswoman if you will, these are five benefits I have come to value, five things that inspire me – and might inspire you - to become an expert programmer.

1. Those Aha! Moments

You've been working on replacing unnecessary lines of code for the most efficient alternative provided by your framework of choice – only finding how to extend the instructions you found in the online documentation might very well be... well, anyone's guess...

After many unsuccessful bids, you add the missing part and... Aha! It Works.

Filling the code gap with that Aha! moment might be deceiving. Is it a matter of sheer luck?

Sure, luck, chance, even accidents can help us to solve problems - but even accounting for these factors, what is fundamental is the work done by your mind, silently rehearsing logical structures and bringing in foreign logic from other languages or systems into your current problem - to solve it. Implied in those Aha! moments of discovery and realization, are qualities you develop and forge as a programmer that transcend luck: wit and perseverance, logic and creativity, and a good deal of immersive problem solving.

2. The Beauty of Logic

The foundations of aesthetics - symmetry, order, logic - can be learned by almost anyone, and are essential to the craft of programming. And for reasons that are inherent to human nature, and nature in general, these qualities are good; they are things to aspire to as human beings.

Programming, including developing control structures, implementing design patterns and devising algorithms as they come to play in our software or application designs require that these traits be present in our code. So within our craft lies great beauty, since symmetry and order are the foundations of beauty, and logic - a dynamic expression of symmetry and order - is the bedrock of programming.

3. Work Others can Use

The social sciences and humanities allow you to practice thinking and debating solutions to pressing problems. Yet, hardly any of the ideas that are produced are ever implemented in the real world due to the exigencies of politics. Especially in the name of research - time and resources are spent on developing solutions that few will read about, improve - let alone practice.

The skills you develop as a programmer or analyst programmer however, allow you to solve tangible needs, needs that save -and generate- money, and allow machines to execute actions that have a direct effect on the lives of virtually anyone who comes into contact with the technology you developed.

In other words, you produce something that affects the lives of many, and by the nature of the business of programming, something that has potential for scalability. Writing code that works is a meaningful endeavor: In terms money, time and effort, its impact on the lives of thousands of people can be exceptional.

4. Becoming a Master Craftsman

If you are a fledgling programmer, you've heard the story: first learn HTML, then some CSS. Then learn to administer a CMS, add in a little PHP and Javascript to complicate things. But before you know it, you are working as part of a team with version control systems and frameworks, absorbing things at twice the speed and with twice the complexity of early HTML markup and stylesheets.

Becoming good at anything requires that you invest time, money, effort. But as with investments that accrue interest at exponential rates, so does your knowledge increase exponentially in the field of programming: What was impossible yesterday is easy today, today's dream skill is a tool under your belt in the proximate future.

And as is with anything you do with love, the better you become at it, the easier it is; and the easier it is, the easier it is to love it. It's a virtuous circle.

5. You're in Demand

It goes without saying that if you are a programmer living virtually anywhere in the world, you're in demand. If you are reasonably good at what you do, and have an updated skill set, you are bound to receive periodic emails from recruiters within your area inquiring about the possibility of meeting with you for an interview.

The value of this lies in the increased leverage you have, vis-a-vis other professionals, to go where you want and in your own terms. There are of course limitations to this, but the fact remains: With choice comes greater freedom; with freedom, greater leverage; with leverage, improved prospects of enjoying what you do.

Original Article Published on LinkedIn Blog in 2014

Of course none of these benefits truly matter if you don't love what you are doing: No man is really happy, nor can he be fulfilled doing something he is not passionate about. And it makes little difference that he's making good money, has become a master craftsman or acknowledges the beauty of the work he is doing, if he is not inspired by his work.

Yet at the same time, it's easy to be inspired by the craft of programming: Discovering that missing puzzle piece in the script, appreciating the beauty of tangible solutions that impact the lives of people daily, and ripping the benefits of developing your mind while helping others are all perks that have meaning and profound implications for us and the world around us.

In a profession that may be passed off as overly technical – the stereotypical playing field of narrow minded nerds, keeping an integral perspective of the meaning, impact and benefits of programming will help attract new talent to the field and force those of us already engaged in the craft to rethink the boundaries of who we are and what we want to make of this profession.

Top comments (0)