The Programmer and the Pulpit
Tags: paradigms, bestpractice
Published: 2017-05-07 21:23:11

---
title: The Programmer and the Pulpit
published: true
description: A short story about chasing perfection.
tags: Paradigms, Best Practice
---
Soft organ music filled the room, nearly overtaken by the buzz of the murmuring crowd. If one strained the ear, it might catch whispers of the new paradigm, or best practice, that might be the day’s sermon. Soon, though, the murmurs faded to silence. The room filled with only the steady tap of footsteps approaching the pulpit. An impassioned sermon began.

I was captivated. Of course! Why should I ever have to use object oriented programming? How could I have been so naïve? The one, very… very, particular example he gave just worked so well. And his unit test! Oh my, his unit test… So, clean and easy. The mocking was so easy as well, nothing like the mess I had to deal with in my recent OOP nonsense! This new paradigm was a game changer!

As the sermon came to a close, the congregation stood. Discussion filled the room. As I exited, I caught wind of my fellow attendees singing the praise of this exciting new answer to everything. We all shuffled through the doors, an energy among us. Great things would be done with this new knowledge!

I sat in my car, swung the door closed, and headed home. It wasn’t a mile before I hit traffic. How could this happen? I was on a mission! I began to daydream: home, in my office, destroying the OOP my silly professors swore by in my current project. 

Then, I realized... I’d no OOP to destroy once I reached my destination. I had already torn that to shreds after _last week’s_ sermon about functional programming… Or was it the sermon on Procedural programming? It didn’t matter, because I’d just realized how difficult the unit test mocking would be from today’s sermon for many aspects of my current features. Now, rather than mocking the functions I’ve rewritten from methods, I’d have to mock three different interfaces… Oh, and I have to re-abstract out everything I currently have, and not to mention having to redo the front end to the new Absolute Best framework from last month’s Guest Programmer...
 
I regained presence as I neared the driveway. I collected my things and rushed to my office. I set to work. Hours in I remembered I was months behind my self-set deadlines. This filled me with envy of a certain co-worker's astonishing ability to ship code. How did he manage to stay so productive? 

Ted... Ted wasn’t at the sermon. Actually, I rarely ever see Ted attending… did Ted even know about the Latest, Greatest Paradigm that The Programmer had covered? Curious, I checked some of his recent work; the newest update during the sermon. 
When I combed through his code, I couldn’t believe my eyes. He was using the Third Greatest Front End Framework! Why didn’t he change to the First from last month… wasn’t he aware that TGFEF wasn’t utilizing Immutability, or a virtual DOM? Not only this, but I found functional programming practices mixed with OOP. What was this madness?

At this point, something clicked. A sense of peace seemed to wash over me. I think, at this moment, I finally realized why Ted was so… *10x*. When I first saw his stitchings of paradigms and practices I thought him a Dr. Frankenstein. But now, I know this was wrong. His ability to fluidly utilize these different things, _when appropriate_, was breathtaking. Upon closer inspection, it become clear he knew these paradigms much better than The Programmer. Not because he could _preach_ about them, rather that he could use them seamlessly... *pragmatically*.
 
I took note of the great parts of my functional rewrite, and ideas from The Programmers sermon. And started work anew.

`git revert OOP-commit`