One of the challenges that we – as programmers – are constantly faced with is learning a new programming language or whatever the latest and greatest technologies that are available (and using the term ‘greatest’ is just for the sake of the cliché phrase).

Then again, a lot of us get into this field for that exact reason, don’t we? I mean, we enjoy learning new technologies, applying them within the context of programming and problem solving, and then doing it again.

But after even just a few years in the business, it can get a little exhausting. This doesn’t mean it’s any less rewarding, but it does mean that when something else comes along – especially from the likes of larger players like Facebook, Twitter, or a similar company – other people are going to want to use them in their projects because the other company uses them and then we’re tasked with learning them.

For what it’s worth, I don’t consider it a bad thing, but it does contribute to the amount of time that goes into a project. This particular idea is something that’s better suited for a business-related post so I digress, for now.

But there’s another side to this:

A segment of the programming culture claims that we should be keeping our skills sharp by learning something new each year or so in order to make sure that we’re still relevant, to make sure that we’re still able to keep up with those coming up behind us, and generally able to keep up with the direction the web and/or software is headed.

And I don’t necessarily disagree with this, but if you’re in a position where you’re raising a family, or you’re in a position where you’re a little bit older and have obligations and responsibilities outside of your work such that you can’t spend as much time at a computer as you used to do (and I know that feel!), then this comes off as a very intimidating and frustrating demand on our time.

So why do we do it to ourselves?

Learning a New Programming Language

First, I do think it’s important to be aware of emerging technologies and what they are used for, but during my time trying to take a deep dive in WordPress, I’ve seen, say, AngularJS on the rise and then I’ve seen AngularJS 2.0 come out and completely ignore backwards compatibility.

This means that anyone who wants to upgrade to Angular 2.0 will need to rewrite their projects or simply maintain and outdated codebase.

AngularJS

This has happened in the span of five years or so.

So what if I had opted to take a deep dive into Angular and then begin building projects with it to have this particular event happen? What do I do with my old client projects? Do I then make sure I stay on top of the game with Angular 2.0?

This isn’t meant to be me picking on Angular – I think it’s a really neat technology (and I really like JavaScript), and some of the same things could be said about n-number of other languages.

What About in WordPress?

Ah, WordPress. When it comes to WordPress, we love to complain about the fact that we have a dated codebase that we maintain for the sake of backwards compatibility and then we also complain about some bleeding edge features that use some of the more recent, cooler client-side technologies.

If there was ever a development community that couldn’t make up it’s mind, we may be it.


Or, wait, maybe I want it that way.


But that’s okay and that’s not the point that I’m trying to make, either.

Anyway, yes, I find this to be true even in WordPress. We love to talk all about backwards compatibility (and we should, because it’s important), yet we also push to support newer versions of PHP (which we’re getting there), but that doesn’t mean that we can’t take advantage of newer versions of PHP in our own projects.

By that, I mean if you’re working on a project for someone and you have control over the environment, then go ahead and use the latest version of PHP and all of the features that come with it.

Go Deep Rather Than Wide

Another thing that we’re often told is that we should be going deep rather than wide. This means that we should be learning as much as we can about a given technology or set of technologies such that we can become experts in that particular field.

I’m sure you’ve heard all of the statistics and research about how long it takes to become an expert in something.

Everyone's an expert.

I’ve been involved with WordPress since college and I’m far from what I’d consider to be an expert. There are people in this particular field of the industry who are much more accomplished, far wiser, and have years of experience up on me. They’re where I’d like to be in a few years.

But how can we become an expert in anything if we’re also being told that we need to learn something new each year? It’s not as easy and “just investing time” into it – what if I also want to become an expert in playing the guitar, or learning a new trade, or something else offline?

How do I pursue something new outside of programming all of the time while also pursuing something in programming all of the time?

The Tension and The Terror

The pressure that the industry can put on a person to be an expert in everything that comes out can be daunting. I believe that it creates a sense of tension that if we’re not keeping up with whatever was released just last week, then we’re irrelevant.

And for those who build things for the web, this can be a little terrifying.


The feels of programming.

The feels of programming.


Honestly speaking, I think it’s overhyped, I think it’s unrealistic, and I think it’s something that we need to honestly check ourselves on before we get too far. We’re all in a different position in our lives and what one may be able to do is not what someone else is capable of doing.

Yes, there was once a time in my life where I was able to spend nearly every waking moment at a computer. I can’t do that anymore – I don’t even really want to do that anymore.

I mean, sure, I want to to learn and build cool stuff as much as the next person, but I also want to hang out with my family, continue to pursue music, exercise, dig deeper into other interests, and so on.

Finding That Balance

How do we find the balance between what we’re told we should be doing versus what it is that we want to be doing?

I don’t know how you work and I don’t pretend to prescribe the way I work to be good for anyone but myself, but the thing that I’ve tried to do above all else is simply keep my awareness up.

That is, I try to following along with blogs and people on Twitter who are talking about emerging technologies, read articles on it, bookmark things that may seem useful in the future, and simply make sure that I’m aware of what can be done and what is available should I ever need to use them.

But at the end of the day, I continue to stay focused on a core set of technologies in order to help continue maturing my existing skill set, building my business, and aiming to help other programmers who have similar interests.

Category:
Articles

Join the conversation! 4 Comments

  1. Without doubt the “go deep, not wide” philosophy is self-serving (it enables us to stay in our comfort zone) but it also makes the most sense from both an output quality and quantity perspective: you do the best and most work with familiar tools.

    But you’ll never completely suppress the feeling that you’re missing out, falling behind, doing things the wrong/less efficient way, or whatever. But that’s just human nature and applies in all professions. It’s just that in tech industries the emerging technologies are loud, bright and shiny things that demand you pay attention.

    Even within the WordPress ecosystem we have the same issue: how about that REST API? Then you’ve really gotta get good with javascript or a JS framework. And all of this to do what you’ve already been doing with WP templates and function calls. There has to be a big benefit to jumping that way.

    And we all have to decide if the jump is worth it.

  2. I’m finishing my college degree next year, but I’ve been doing this stuff ( Development, SEO etc ) for 15 years ( I got lucky I started when I was 12 :D ).

    I have to tell you, I’m already tired; the only thing that I’m doing right now is that I’m trying to break out on my own ( don’t want to work for a company ) so that I could spend more time with my future wife and my family.

    How strange that it hit me so early on haha.

    • > How strange that it hit me so early on haha.

      Definitely – a lot of people who I know that are self-employed got the itch early on.

      Don’t discount the experience that working for a large company may do for your career early on, though! There’s *a lot* of stuff you can learn spending a few years in a place like that that you may not learn, otherwise.

      I’m not saying that’s what you should or shouldn’t do. Just sharing how my experience has gone ;).

Leave a Reply