Writing Paralysis

Since the start of 2015, I’ve learned more & solved more problems than I have in the past 3 years.

Sure, I have the benefit of forgetting all of the cruft over the past three years, but the coded products are a testament to years of maintaining the status quo compared to months of growth.

And I’ve been meaning to write about every single accomplishment, particularly because the community at large is still dealing with the same problems I had.

Too Many Topics

What follows is a sample of the seemingly-simple, yet deceptively complex or time-consuming to implementing , issues I’ve dealt with this year:

  • Isomorphic Javascript, primarily to ensure that the state the happens on the client is correctly mirrored and validated on the server. A year ago, this is exactly what we did whether we used Angular, Node, or PHP.

  • Async Rendering with React, because data-dependencies aren’t truly known until all components render. All alternatives to this I’ve seen recommended encourage “fat controllers”, and years of MVC makes this an anti-pattern for me.

  • Isomorphic Forms. Through much trial-and-error, I’ve learned that forms should not be treated as a model, but an optional, declarative representation of one.

  • Benefits of using Classes, which is consistently politicized & demonized by outspoken members of the Javascript community, but has served my needs well.

  • Understanding Redux, which should be simple, but instead has a muddled & confusing API only worsened by overwrought documentation.

  • **Server-side Webpack. **I begrudgingly switched from Browserify to Webpack, which *felt as backwards as going from Gulp to Grunt *because my client-side code started leveraging Webpack’s unique features.

This list is purely off-the-cuff, too.

I have no problem rattling on about what I did or why. I just don’t have the energy to defend my pragmatism once I push Publish.

Too Many Detractors

All of these solutions get shopped around both co-workers and peers alike with excellent criticisms & questions, largely because there’s mutual respect between both parties.

Remove that layer of respect, and the majority of feedback skews negative, particularly on Twitter or Hacker News. The fact that the author is intimately familiar with the problem is ignored so that the commentator can win an argument that’s not happening.

Devil’s Advocate

Despite all of this, I’m my own worst critic, but I’ve largely come to terms with my own criticisms.

Every problem is met with dozens of viable possibilities, but something has to ship.

At the end of the year, I’m fulfilled having something working out the door rather than arguing theory relentlessly, searching for an ideal that will be thrown away in the near future anyway.

This was largely an exercise to prove to myself that I can write, and what my core blockers are.

Certainly there’s no need to write, as I’d rather talk tech over a latte than battle opinions on an ephemeral blogpost.

But, if a topic strikes me just right (e.g. my recent changes in how I perceive religion & death, React, or the somewhere in-between), I may actually hit Publish and trudge through the emails long enough to hit Delete and get back to being happy.