Jonathan Walters Loves Clean Code and Hemingway

We welcome Jonathan Walters as a software developer with Revelry. He came highly recommended by one of our great clients, Scandy. One of the things I noticed right away about Jonathan is his passion for clear expression in both code and the English language. Below, you’ll learn a bit about how these things tie together for him. I think you’ll find it very interesting.

Jonathan, you came highly recommended to us, but what was it about Revelry that made you decide to become a part of the team?

I learned of Revelry through its CTO, Joel Wietelmann, whom I knew from New Orleans’s HackNight. I can recall when Revelry Labs made its debut. I had always known Joel to be one of the best programmers around, but then, with Revelry, in its burgeoning success, I knew there had to be something special to the company. Its expansion testified to the prowess of its engineers and tenacity of its leadership.

D’aaww, we’re blushing. We’re glad you’re here. You’ve been able to work on a handful of projects so far. Which is your programming language of choice?

Professionally, I work as a full stack JavaScript, specializing in React and React Native. More than any particular language, I like programming in the functional paradigm. I find functional code the easiest to reason about, and to this end, I continually strive to improve myself as a functional programmer.

We use several tools (many we built in-house) here at Revelry. Which of your daily work tools is your favorite?

I recently migrated to using Visual Studio Code, and so far, I am really enjoying it.

What’s the thing about technology that really interests you? 

It may be ubiquitous, but I’m really keen on functional programming.

love functions. I love them the way an author loves words or a classical composer notes. I love terse little functions that are air tight and powerful — I love them in and of themselves. And then, not unlike your author, your classical composer — more than the medium, I love composing functions, so as to bear new creations equally perfect and more powerful.

My deep appreciation for everything functional stems from a persistent want for challenge and self-improvement. I am certain there always must be a better way for writing code, and that the way we are going about it now is inherently imperfect.

When learning how to program, for instance, I was blown away by forloops. Latent in them was so much potential. I found them spectacular, at least until I learned how to use mapfilter, and reduce, in which case, I’m not sure I’ll ever use a for loop again.

When it comes to line editing, the same questions surface. For any given block of code, can we achieve the same result in a manner:

  • That is more intuitive or easier to reason about?
  • That is functionally pure, or, in the least, minimal in its side effects?
  • That requires fewer lines of code, but never too clever?

So, you are really into words and their composition?

At university, I studied English Literature, and of its relevance, I might posit this:

One can learn a lot about clean code by reading Hemingway or the KJV. Such texts make frequent use of parataxis, in which clauses or phrases are placed alongside one another, yet absent words indicating coordination or subordination.

Indulge me, and I will make the case for a comparable concept in programming known as decoupling or loose coupling, whereby each of the components in a system “has, or makes use of, little or no knowledge of the definitions of other separate components.”

Yet, somehow, you made the switch from literature to programming. How did that happen?

My love for programming originates from an ardent desire to learn. How could I not but choose some path in computer science? I crave challenges.

The Revelry team believes in being excellent to each other and shipping great software.

We uphold our core values by encouraging each other to improve every day.

We invite you to learn more about our Lean Agile Processes and Tools, and
the services we offer such as Innovation Sprints and Custom Software.

Connect with us on LinkedIn or Follow us on Twitter!