The latest technology

In an industry where it seems like every week we're welcoming in a new framework or package manager (which isn't a bad thing), it's worth publishing a friendly reminder; you don't have to use every new piece of technology.

Disclaimer

Of course, you should use whatever works for you. Depending on where you're at in your career, you may have a known toolset which you're comfortable with or you may be learning exactly what that toolset consists of for the first time.

Experimentation is key to finding the right mix of tools that enables you to deliver your best work.

Hone your tools

We spend a lot of our time learning new tools and ways of doing things, this is one of the things I love about programming, there is never a single way to achieve something. With that said, there is value in taking the time to learn a tool fully.

Why go through all that trouble learning a tool to throw it away for another one in the same space? Sure, we should be evaluating better options all the time, ensuring we're not missing a genuine improvement on existing technology, but we should be cautious not to jump straight into production with something that hasn't had the time to mature and evolve.

I'm certainly not saying that all new projects are unstable, there are plenty that launched with a stable feature set, but we should evaluate these carefully to ensure they're a good fit before ditching existing tools.

New technology isn't always better

When we've worked on a software project for a while, we can become fatigued by the tools we use. It's normal to crave new and interesting tools. Sometimes it's because we just want to learn something new, or really despise some of the quirks of something we're already using. We should be continually exploring better ways to do things, but these need to be conscious decisions based off our requirements, not just because we want a change of scenery.

An often overlooked point is that older software is usually more battle tested than "modern" equivalents.

The learning curve vs your existing knowledge

If you work somewhere that understands how important it is to give developers the time and space to explore new ideas and ways of working, you'll hopefully have the luxury of time during and in-between projects to advance your learning. We should be aware of the tax involved with learning new technologies (that tax being time). We need to know when we're procrastinating vs when we're genuinely adding value and improving our knowledge and experience. Is the risk of learning a new tool (in terms of time invested) worth the reward at the end, or is there a better use of your time?

Explore, learn, improve, repeat. The career of a programmer means you'll never stop learning, invest your time wisely, and most importantly have fun whilst doing it!

Accepting work from February 2019.Hire me