Like many of you, I use Pocket to file the articles I want to read or bookmark for future reference. Sometimes, I get around to reading them; other times, I never actually come back to them. The latter is a perpetual problem I have to get a handle on, but I digress.
For the most part, I try to stick to a single topic of WordPress-related development on this blog. But there are times where I see things tangentially related as it comes to our industry (or even just our part of the industry).
Regarding Pocket, the whole reason I bring this up is that I was just spending time in my account preparing to declare bankruptcy in my set of articles. The goal was to clear out everything that was in there (isn’t that what bankruptcy is?), but I found some other articles that I still want to have available to read and to archive for reference.
But in deleting all of the articles that I found, I couldn’t help but notice a pattern of disappointing article titles and subject matter.
The State of Web Development
I’m not linking to the articles because I’m not particularly fond of sharing something that I think could be potentially more damaging that helpful within the context of our industry (in particular for those who are just breaking into it).
Some of these articles included things like:
- The Sad State of Web Development
- Don’t Read The Comments
- Programming Sucks
- Learn To Ship Faster By Embracing Ridiculousness
- We Don’t Need No Education
And these are just the ones that have come off the top of my head. I want to be clear because this is usually the point at which people jump into the comments and start lambasting the author (well, me) for offending the articles above.
But before you go off and do that, please note:
- I am not attacking the personality, quality, or integrity of anyone who wrote the articles above,
- I’m not saying the articles don’t have merit,
- I’m not saying they aren’t written from a place that aims to make things better.
I recognize these types of articles are written out of a point of frustration from people who care about what they do. I also think it presents a bit of an unbalanced perspective.
And that’s okay. Don’t get me wrong. I’m all for open-minded conversation but at the expense of what?
All that to say is I’m not trying to present a one-sided view of things. I realize things are challenging regarding software in our industry. But I want to present an alternative perspective.
Are We All Jaded?
Before I do that, though, I want to mention this:
I don’t have a word grave enough to describe the societal aspects of the industry at this moment in time, but that’s not the point of this post.
As you can see from some of the topics of above, programmers appear to be entirely jaded – even unhappy – with the general state of things right now.
The upside to this is that I think it shows that people genuinely care what’s happening. If you were emotionally numb or simply indifferent to the state of things, then I’d question how much you enjoy your work.
So the fact that people are willing to air their grievances is a good thing. But it’s so out of balance: There are more people simply complaining about the situation than offering what can be fixed or even offering a possible alternative perspective.
We’re More in Control Than We Think
Perhaps the natural question this raises is what can we do to improve developer happiness in our field?
First, I can’t address all of the problems that exist in the software development field. It’s wider than it’s even been before and I’m active in but one small slice of the industry.
Secondly, though I think there are some principles that transcend a given segment of the industry, there are things that are specific to what one does. To that end, some of the things below are likely going to be specific to what I do (though I’ll do what I can to keep it as general as possible).
1. Technology Moves Fast
Early in my career, I had a seriously bad case of what is now known as FOMO. I felt that if I couldn’t keep up, I’d be irrelevant by the end of the year.
But I’ve been in the industry professionally (if you include internships) for over ten years at this point. I’m still here; I’m still making a living, and I love what I’m doing. And yes, I’m still learning, and I love meeting others and learning from others who are further down the road from me.
The chance of you being able to become an expert in everything that’s out there is slim-to-none. Stop trying to win that race (as if it’s a race, anyway). There are always going to be people more accomplished than you; you’re always going to be more accomplished than someone else.
Above all else, we’re always going to be working on different things than one another, and so there’s no win in comparison.
Instead, why not share what it is that we’re learning and how we’re getting things done?
2. Your Stack Is Not My Stack
In WordPress alone, there are a handful of options that we have for setting up our development environments and deploying our work.
Each of them has their advantages and their disadvantages all of which are contingent upon the type of projects you’re working on, how your team is organized, and how you deploy code.
Letting someone else tell you whether or not your tools are “out-of-date” or your process is flat-out wrong deserves no attention from you.
This isn’t to say that your process couldn’t stand to be improved (maybe it could, maybe it couldn’t), but having someone make a sweeping generalization about what you’re doing when they don’t have the full picture is misguided, at best.
Instead, talk with someone or find a mentor who can provide a much stronger evaluation of your process and your tools and have them point out what’s great, what’s not, and how to fix it.
3. Maximize Your Productivity
- I believe that the way you maximize your productivity is by maximizing your happiness.
- To maximize your happiness at work, you need to use tools that you enjoy.
- To use tools that you enjoy, you’ve got to evaluate what helps you complete your work, and that helps you do good work.
Don’t miss the last point:
It’s not enough to get work done, but I assume you care about doing good work.
I define that as adhering to best practices, making sure that you’re optimizing images, assets, and so on, and that you’re minifying and packing resources for what you release, too.
4. You’re in Control
Despite what some articles (not necessarily those above) or other people’s tweets would have you believe, you do have control over just how productive and/or happy you’re able to do be.
I know, for example, there are some fantastic tools like Grunt and Gulp. There are also other tools like JSHint, minification tools, Webpack, and so on. I think all of these are worth evaluating and determining if you like them.
I’ve done the same, but I continue to come back to tools like CodeKit. And yes, I’ve received my fair share of criticism for it. But that’s okay. I’m productive, I’m happy, my clients are happy, and the maintenance for any given project is straightforward and easy enough.
Would I say this is the best possible solution for everyone? No. But the point I’m trying to make is that you have the ability to determine just productive and happy you are with a set of tools.
Yes, there’s a lot that’s painful when it comes to web development. But do something about it. Find the things that mitigate the pain, that make your work something you enjoy doing, keep up with trends, determine if it’s worth pursuing, and move forward from there.
There Is Always More
Obviously, everything that I’ve written is nothing more than my perspective as to how I view things. I get that a lot of things suck and that many of us just want better for ourselves, our peers, and our industry.
But out of all of the things that we have available and out of all of the challenges that we have to face from the perspective of available tools and so on, I think that there’s something to be said for being in control of the set of tools that we use.
Rather than lament the state of the industry, why not look at it as an opportunity to put together our ideal set of resources?
I’m sure there are many more suggestions or alternatives than what I’ve listed here, but this is what I’ve found to be helpful for me.
But I’m curious: What things would you change or add?