in JavaScript

6 Strategies to Keeping up with Web Development

JavaScript, CSS and HTML have evolved and are facing constant change. New frameworks, tools and services appear every month. Unfortunately, many web developers fear to lose the connection to web development that they used to have.

Some might even fear not being able to find a new job because they’ve never used Angular or don’t know anything about Webpack.

I experienced the same thing 3 years ago when everything I used to write was server side rendered with a sprinkle of CoffeeScript in a comfortable Rails environment.

“But, how can I keep up with all the new technology popping up?”

There is no direct answer, as there are a handful of ideas to what you can do to set yourself in a better position.

Let’s dive deeper.

a) Learn vanilla JavaScript

This is a big one. If you’re a developer for a little while longer you might have spent days or weeks learning YUI or MooTools. Are those still relevant today? No?

A little more contemporary example is the switch from Angular to Angular 2. They are very different from each other. Believe me or not but I know people that don’t know JavaScript outside of Angular. They have just learned Angular and have come pretty far. It must have been shocking for them to find out that everything they’ve built on is becoming obsolete now.

family-guy-javascript

A valid comparison is: Many people have learned using Rails and never got used to Ruby. They are Rails pros, but struggle every time they want to do something that is out of their rails scope.

Vanilla JavaScript as in “without a frameworks or library”. No Angular, no jQuery. You’ll sure add frameworks and libraries later.
Knowing JavaScript well sets you up in the long term and gives you confidence to not be outpaced when things change.

You don’t need to do everything with vanilla JavaScript. But try asking yourself questions from time to time. Be curious about it.

“How would I do this without a framework?”

“Why do I need Angular for this little sideproject?”

Link: PlainJS

b) Try learning in isolation

What do I mean by that? There is a difference between learning ReactJS vs ReactJS +ES6 + Webpack + Flux/Redux + React Native.

If you let yourself get overwhelmed by trying to learn everything at the same time, then you risk losing the momentum. Your motivation will go with it. Chances are you’ve already experienced that.

Try using JSFiddle or Codepen instead and include build JavaScript libraries from a CDN like JSDelivr.

Ask yourself: “How can I find out about the root of this issue in the next 30 minutes?”

c) Prefer reading over watching videos

Why? You are limited by the speed of the video. Reading is much faster!

Video isn’t searchable. Therefore if you quickly want to skim over a topic you are forced to do it way slower than you would be able to with copy. If you are looking for a particular issue then have to manually seek it until you find it. If you ever find it. Text is searchable. That’s powerful!

I don’t say never watch videos though. Just remember that reading will be more efficient.

d) Learn on the go

Have a few podcasts in your pocket while traveling or talking a walk. I do this regularly.
If you don’t listen to podcasts yet, you should at least give it a try a few times. It’s a different way of learning though. It’s good to learn about concepts or the differences about frameworks.
It’s higher level. They won’t spell out code 😉

Here is a sample list of podcasts I follow.

e) Don’t hesitate to ask questions

Go out and network! There will be the time when you get stuck. Don’t let yourself be dragged down by that. Ask your question and see if you get help.

Also try giving back. This is a good way how to learn as well.

Stackoverflow

I know it’s obvious 🙂
Still wanted to mention it so it’s not left out.

Link: https://stackoverflow.com

Gitter

Gitter let’s you create a chat room based on a github repository. There are many people on those chat rooms. I’m active in the VueJS room.

Link: https://gitter.im/home/explore

f) My framework bet

If you feel like you should give a new JavaScript framework a try, I would say go for VueJS first. I say this because I’m convinced that it will pay off in the long run.

For the ReactJS nerds out there, please note that Facebook can terminate your ReactJS license if you use it to compete with Facebook in any way. Check it out yourself.

  • Mostly functional paradigm.
  • It’s very easy to learn.
  • You’ll get results fast.
  • It’s a clean way to write code.
  • Debugging it is super easy with the Chrome devtools plugin.
  • Once you get the hang of it, you’ll be able to do very advanced apps.

Conclusion

There is only so much you can learn. Make sure to use that time wisely. Try to find a good balance. Don’t do frameworks only or vanilla only. But remember that concepts are always long term while frameworks might be.

Imagine you’re in a racing car. What’s a technique that works with every car? Drifting!
It doesn’t matter which car you’re in once you master the technique. That’s a long term concept. It will still work in 15 years.

Stay up to date with JavaScript.

Subscribe to get my latest articles by email.

Powered by ConvertKit
  • Christina Grandrath

    Nice tipps. Although, I don’t see text and video as opposites. They have very different “applications”. find as an introduction videos are much easier to digest. When you actually want to do stuff or find specific information or build a link list as reference (I love pinboard for this) than text is much better.

    There is one thing missing in your list: Learn how to write tests. Even better: learn how to do TDD.

    • Hey Christina,

      I see it the same way. Plus they can complement each other.
      My statement is more general I guess. It doesn’t take into account that every person is individual. Some prefer video, some tutorials, some books.
      But my point is that reading and searching through text is faster then watching video.

      Thx for mentioning TDD. I don’t have an opinion about that, yet. But I will look into it.
      It could also be overwhelming in the beginning.

      • Christina Grandrath

        I think most people make the mistake of not looking at testing (and TDD) early on. Writing tests should be part of learning any programming language, although most tutorials (for JS) just skip this part or don’t even mention testing at all.

        I started learning (vanilla) javascript about 15 months ago and looked into testing after a few weeks. At this point it is unlikely to work on some big projects. You probably do coding challenges that maybe don’t even involve manipulating the DOM at all (meaning no unavoidable side effects which are harder to test).
        This is the perfect place to figure out how unit test works. You don’t even need any framework or testrunner to understand what an assertion is. It is also a great place to start practicing TDD because the most complicated and overwhelming part of TDD in the beginnung is getting into the right mindset.

        It is probably a lot harder to learn how to write tests if you started with Angular before learning vanilla JS. But if you do learn vanilla JS at some point get into testing right way, if only to make writing tests a habit.

        I wrote an article (in german) about TDD for beginners: https://grndrth.github.io/Test-Driven-Development-mit-JavaScript/

        • Lucky me. I’m German =)
          Will read it soon.

          • Christina Grandrath

            Ich habs mir gedacht 😉

  • Thank you for mentioning Developer On Fire. I love making the show and I’m glad it’s a part of your strategy. I agree that podcasts are a great way to make the most of your time.

    If you feel like engaging with the Developer On Fire community, including me and many past guests, you can find links to the group on the site. I’m sure you’d be a nice addition to our conversations. If you have suggestions for the show, I’d love to hear them.

    • Hey thx for stopping by! I make listening to podcasts part of my routine.
      I usually go for a walk outside while listening to them so I get to get up once in a while.

      I’ll ping you if anything pops into my head =)