Author's note: This was originally posted on Medium. I have adjusted the timestamp on this post to reflect when it was published on that platform. Since this is the home of my writing, I've decided to permanently move it here.
Recently I attended a new Meetup group focused on a budding new web framework.
This particular framework is interesting, and shows lots of promise. It piqued my interest enough that I shifted my schedule around to drive an hour to join others interested in this new technology and introduce myself. Before the meeting started, I mingled with others who asked the inevitable question: "So what do you do?"
The answer has been the same for some time now: I work in municipal government, and mainly with Drupal.
As the meeting progressed, I got to see some examples of the new framework, how it's being used by the group's members, and got to thinking about how I might use it for my own projects. One of the presenters showed a content management system he had built, which had a handy feature: in-place editing.
"To talk without thinking is to shoot without aiming."
- English proverb
I was impressed at this framework's particular implementation of in-place editing, and commented that Drupal has something similar but its implementation feels a little bloated, and certainly not as fast as the one I was seeing in this presentation.
"That's because Drupal sucks," the presenter said.
Now, I would certainly agree that there are things in Drupal that are easier to do with other tools. I would agree that this in-place editing feature seemed better than Drupal's. I would agree that Drupal has entered interesting times where developers in the ranks are a little divided aboutwhere things are going.
But as I drove home, I couldn't help to think to myself, "Maybe you should get off your high horse."
Tell me if you've heard this before
Here's a list of things that suck (allegedly).
The list goes on and on and on and …
So here's the deal: what works for me, might not be the best for you, whatever it is. And the great thing is, THAT'S OK. Governments, news organizations, and educational institutions have adopted Drupal, by and large, because it works for them. Ford owners buy their vehicles because it works for them. Dunkin' Donuts drinkers (myself included) enjoy their coffee because it works for them.
So, to just flippantly say something sucks just because it doesn't work for you is a wee bit immature.
I won't be so bold as to say I've never said that something sucks. I will say, thankfully, that as I mature I'm finding it's a big world filled with lots of opportunity, and I need to find what works for me and roll with it. And for that matter, you should do likewise.
Words have incredible power.
If I had a different mindset, I could certainly see myself thinking, "I don't think I'll go back to that group," seeing as the first time I visited the thing that puts food on my table and clothes on my family's backs was flippantly disregarded. But, I'm a big boy. I can take a lot of what you throw at me. But someone else might not be as resilient.
But that brings me to my final point.
Learn the fine art of thinking before speaking
We have a saying around the office: "I can't fix 'it sucks.'"
Criticism is fine, as long as it is useful. But criticizing for criticism's sake? I don't see the value in it. Perhaps before we speak, we should take Jason Fried's advice and give it five minutes.
If you want to critique, offer ways things could be better. It could provide a fantastic opportunity to learn something for all parties involved. Through dialogue, rather than complaining, you might just gain insight that you couldn't have gotten otherwise.
Does that mean I don't think there's a time and place for disdain or disagreement? Oh my, not at all. But critiquing without discovery isn't fruitful, and could end up doing more harm than you thought.
And frankly, that sucks.