Staying Current as a Developer

After the collapse of my last startup I took a sort of gap year where I taught full stack development. I always knew that the less you code the faster the industry passes you by. I figured one year wouldn’t hurt. Now I’m working again for a technology company and I can see how fast things have changed in just a year.

When I first joined the teaching staff at General Assembly there were parts of the curriculum that were out of date. For example, I asked that we replace the section on Backbone with React. There were a few more things but in general you could tell the curriculum was written by people who were out of the game for a bit and for the most part my fellow instructors were okay with making the changes. One was even excited to start teaching some of the latest and greatest in tech. We thought we were teaching not only the fundamentals but giving our students a head start. It turns out the industry was moving faster than we could teach it and it just wasn’t practical to keep completely up to date. So fine, we were just behind the curve but not by much. But what happens when a senior developer, one of the instructors, leaves and goes out into that working world he’d been teaching his students about? He gets surprised by just how much has changed.

I learned Node back when it was a baby. Before the Node/io breakup and make up. I was an early adopter and by the time I got to teaching it I was a total pro. Then I took that gap year. In that time ES6 had gone from a draft to something to you could use here and there to the default setting for all JavaScript development. Transpilers encouraged us to use every last feature and they would take care of dumbing it down for older browsers. But even older browsers weren’t a thing we were worrying about anymore. Now if you’re not on IE11 on Windows or a self-updating browser on any other platform you don’t matter.

How to stay current

In my new role as a JavaScript engineer (as far as my career goes I’m a senior software engineering but this is my official title for now at this company) I’m seeing things I’ve never seen before. Part of it is the warm up period. That period of time where you get to know your company and the code base you’re working with tick. Another part of it is me simply being unfamiliar with parts of the ES6 spec and using Redux with React.

Five or so years and two companies ago, when Angular was the hottest thing on the block, I was asked to help out a different team build an Angular app. At that time I was a complete single page app newbie. I barely knew jQuery and JavaScript was an ugly language I tried to avoid. But I had tickets to close and so I was forced to learn. That’s been my entire career – jumping into a situation blind and coming out the other side a pro.

The way I tackled that issue was to build an Angular app as a side project. That side project went further than basic Angular, added in Cordova/Phonegap and turned into the multi-hundred dollar making MoonWeather. I took on a technology that, at first, made my head spin and then mastered it.

It doesn’t stop with the latest version

With any new language, stack, technique, or technology you don’t sit back and bask in your mastery of it. You have to be aware that while you’re mastering one thing, the next new hot thing is right on your heels. So watch out. Be judicious in what you sink your time into. You need to ask yourself

  • Will this be maintainable in 3 years
  • Are there developers who know the technology?
  • Will those developers be in demand when you need them?
  • Can you pivot and/or mix your chosen stack with others (like in a micro service situation)

You’ll never keep up (but that’s okay)

You’ll never keep up. You’ll always be a step behind what’s the latest and greatest. There’s always going to be a team out there that’s using technology that’s intimidating to you. That’s alright though. You just need to remember two things.

  1. You’ll likely know something they don’t know
  2. If you’re a professional then you should feel lucky if you get to work with people who know more than you.

Surround yourself with people smarter than you. They’ll make you better in every way. I maxed out in my previous roles. For a while I was the smartest guy in the room. I love being the smartest guy in the room but eventually I want to find out what I don’t know and that means surrounding yourself with people smarter than you, more experienced than you, and learning from them. You only become better by practicing humility and keep yourself open to criticism. Your ego has no place in the learning process.

You can be the best for a time but then you need to let yourself become the student, find out what it is you don’t know, accept it, master it, rinse, and repeat. Take up a side project and master that skill you’re not comfortable with yet. Find the next one to master and follow the steps. The key is to never stop moving forward. Momentum is the single greatest asset you have as a developer. Do not slow down for anything

Do these things and you’ll stay current.

Thoughts

« DNS for beginners or How do I connect a domain to my website? Take over any domain in 2 easy steps »

Comments