Software Engineering in WordPress and Musings on the Deep Life

The Latest and Greatest Technology in Programming

A couple of weeks ago, Basecamp (previously 37signals) wrote a great blog post part in which the topic of legacy applications as well as using latest and greatest technology were discussed.

In programming, there is often an obsession with using the latest and greatest technology. Programmers view the use of edge technology as its own badge of honor, and are quick to throw away legacy applications.

I’ve talked about this in previous posts before – it’s why I’m a fan of going deep rather than wide when it comes to working with certain languages and tools – but it doesn’t mean I don’t struggle with the desire to pick up something new every now and then.

Long Live The Latest and Greatest

Sometimes, I think we convince ourselves of one of the following things:

  • We should go deep in a set of tools and languages so we can become an expert in a field.
  • We need to keep up with the latest and greatest technology so we can bring the most value into whatever job we’re doing.

Or maybe we convince ourselves of both at the same time. We’re really good doing things like that, aren’t we?

Latest and Greatest

I don’t think they’re necessarily mutually exclusive, though. I mean, there are definitely JavaScript technologies I could learn and bring into my WordPress development just like many of us did with LESS or Sass years ago.

But if I aim to learn something like Swift along side what I’m already doing, I have to take into the consideration the ramifications it may have on my current career. That is, if I want to be the best I can possibly be at providing WordPress-based solutions for other people, does it make sense to learn a new language?

The usual argument for things like this is:

“Yes! It helps you think in others ways outside of the terms with which you’ve traditionally worked.”

Over the course of my career and working with several languages though, it seems to be many of the same programming principles apply regardless of the language.

In fact, I’d say the language becomes the easiest thing to learn – the syntax, the keywords, and so on – but applying solid software development practices to solve problems transcends whatever tools and languages we opt to use, don’t they? Or maybe not?

Ultimately, my point is developers are often like moths attracted to a light in the dark when a new piece of technology is released. I know I used to be that way and, to be honest, I still fight those urges. Sometimes I win, sometimes I don’t.

But I also know what’s a stake for me is far greater than it was at one point. Aside from finding myself continually learning more about the craft of development through building solutions for others, I’m also sitting at the intersection of really loving my job.

Can I build an iPhone application? No. Would I like to know how? Maybe. Would it serve a purpose other than simply knowing how to do so? Not at this point in my career. Maybe eventually, though.

So yeah, the struggle is real: I’d love to continue to be able to learn new languages and work with new devices and things like that. But I also really enjoy what I do and the things with which I get to work.

And when it comes to advancing my career in terms of solving problems, I’d rather be able to have a wide array of ways to approach a problem with a given set of tools than a narrow set of ways to solve a problem with a variety of tools.

10 Comments

  1. Eugene

    We need to learn how to learn in our constantly changing world)

    • Tom

      We need to learn how to learn in our constantly changing world)

      Definitely! I wouldn’t advocate not learning, but I’d advocate trying to stay focused deep within a field rather than bouncing around basically having a level of awareness of what’s out there, but not having a deep knowledge of what’s out there.

  2. Scott

    Thank you. I need a mantra like balance staying focused within my field with being aware of new technologies.

    • Tom

      You got it, Scott. It’s hard to stick to something when so many things are vying for our attention :).

  3. Sunil

    Glad someone else wrestles with this.

    I’m constantly having new demands placed on my time and focus by offers of the shiny new thing. There is often some emotional pain involved in accepting the opportunity cost involved in economising ones time and focus.

    Even within the WordPress world there are so many fields: marketing, ecommerce, developing with the ReST API, contributing to core… so many possible fields to engage in. All while focusing on our own businesses as well.

    Oh yeah… and there’s like, family and real life and stuff too.

    • Tom

      And the older you get, the busier it gets. That’s why I think it’s better to get this on lock when you’re younger rather than before you’re too late :).

  4. Andrew Fielden

    I think that this is an ‘it depends’ situation.

    Many years ago I learned programming as part of my maths degree using UCSD Pascal https://en.wikipedia.org/wiki/UCSD_Pascal, if you follow the link you can see how long ago that was.

    When I finished I had the opportunity to pick this up using Turbo Pascal that was a real ground breaking piece of kit in those days and so I went down this road, this morphed into Delphi and the Borland, the company who produced it were doing very well. I was well deep in this world and did OK.

    Unfortunately it was a dead end technology, not because it was a poor one but I guess effectively it was superseded. Which is the ‘it depends’ bit.

    Certainly drink deep and long from the well you are at however be careful that the well is not about to run dry.

    • Tom

      This is a good example. And you’re right, especially with this:

      Certainly drink deep and long from the well you are at however be careful that the well is not about to run dry.

      Agree completely.

  5. Joe

    This has been a constant struggle since graduating a few years ago. Ruby/Rails, Sinatra, PHP, MEAN, Meteor, JavaScript, Bootstrap/Foundation, Node, Grunt/Gulp, WordPress, SASS, Git, Docker/Vagrant. I have spent many hours and sometimes months diving into these various topics. I finally decided to focus and build using WP while narrowing my learning.

    • Tom

      This, in my experience, is a feeling that never goes away. Eventually, I think it’s possible to branch out into new technologies and things like that, but it takes years after going deep in a set of other technologies before being able to do that.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2023 Tom McFarlin

Theme by Anders NorenUp ↑