Why I Love Coding

I love coding. Ever since I bought my first computer (a VIC-20), I’ve been fascinated by computer programming. For many years I never thought of why I enjoyed it so much – I just knew I did.

But that changed when I read The Mythical Man-Month by Fred Brooks. Most people associate that book with Brooks’s law: adding people to a late project makes it later. But for me, that is not the best part of the book. The best part is one page at the end of chapter one, entitled The Joys of the Craft.

There, Fred Brooks quite eloquently put into words what I love about coding.

1. The sheer joy of making things. Programming is fundamentally about creating  solutions to problems. At the end of the day, you have created something that didn’t exist that morning, and that is in and of itself satisfying.

2. The pleasure of making things that are useful to other people. One of most satisfying aspects of the job as a programmer is seeing code you wrote deployed in a live system and used by actual people, especially if it improves their lives in some way.

3. The fascination of fashioning complex puzzle-like objects of interlocking moving parts, and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. Very well put. Not only do programs have complex structure and dependencies, there is also the dynamics of the interaction between the parts as the program executes. The ultimate puzzle indeed!

4. The joy of always learning, which springs from the nonrepeating nature of the task. While constructing the program you constantly expand your understanding of both the problem and the solution. In addition, there is almost no limit to what you can learn to improve your craft – languages, algorithms, methodology, tools, frameworks.

5. The delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of imagination. Easily my favorite  in the list – insightful and wonderfully formulated. And he goes on to note that “yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself“. Yeah!

To these five excellent points from Fred Brooks I would add:

6. The expressiveness of code. It sounds counter-intuitive, given the strict specification of a programming language, and the relatively few constructs it contains (compared to a natural language like English), but there is almost an infinite number of ways to write a program to solve a given (non-trivial) problem. First and foremost, you as a coder name classes, methods and variables. But you also decide the algorithm, the partitioning of the logic, and finally the layout. All these factors combine to give the programmer great freedom in expressing the solution in code.

There – six reasons why I love coding!

22 responses to “Why I Love Coding

  1. Love this! Thanks for sharing your thoughts on why you love coding, posts like these are exactly what is needed to get more people interested in learning e-skills. Mind if I reblog?

  2. Great post. I learned to love coding on my TI-994A (Not the best machine in the world but you have to use what you have). The memory of loading simple programs from cassette tapes still actually makes me smile.

    I was sure I was going to be a programmer back then, but something happened that separated me from it only to come back almost 30 years later to make a new start.

    I would emphasize #4 – the joy of always learning. I’ve often thought that learning a computer language, just like any other language, gives you a new perspective to think about the world from. I especially like the way that coding seems to make the impossible possible.

  3. I think that this, along with a lot of your other posts, would be well-received by our audience of advanced devs at DZone.com. Let me know if you’re interested in working with us to promote your content among out readers.

  4. Pingback: ترجمة مقالة “لماذا أحب البرمجة” Why I Love Coding « مدونة أبو إياس

  5. Awesome post. Yeah, programming is real fun. It’s an art that needs a lot of practice.

  6. I really like your post. Thanks for sharing your experience!

  7. Reblogged this on TechNullogy and commented:
    Good read. I’d have to say that the power and flexibility of “creation” are what I love about programming.

  8. Pingback: 是什么造就了一个优秀的程序员? | 月松博客月松博客

  9. Pingback: 5 причин выбрать карьеру разработчика ПО | Java

  10. Pingback: Почему я люблю писать код | Java

  11. Pingback: Course Review: Computational Investing Part 1 offered by Georgia Tech on Coursera | MOOC Report

  12. Pingback: What Makes a Good Programmer? | Raytech

  13. Pingback: Programming blogs that don't suck - Methodical Programmer

  14. Pingback: HelloWord! | Future #Coder101

  15. Wonderfully put together, thank you!

  16. Thank you for this post 🙂 My first computer was a small 8 bit Sinclair Spectrum 48k clone called Timex 2048. A great personal computer which I still own and it is still operational (and a holiday exhibit in our home ;-)) Hope my kids would catch the programming bug, it is so great 🙂

  17. Pingback: The Inherent Conflict Between Bohemian and Militaristic Time Management – Erik the <Coder>

Leave a comment