Updated: 3/28/2021

Length: 13 minutes

How I Usually Learn New Tech

Alt text

Photo by Lucas Benjamin

I mentioned in a previous post how important it is to keep learning to both deepen and broaden your skillset as a programmer. In that same post, I made it extra clear that we have to choose what we want to learn wisely. But as it turns out, there's at least one solid method of learning new technology.

Getting paid to do it, duh.

Literally, companies pay you to learn how to build stuff. And either you or somebody you know (your boss, colleague, etc.) will choose what to build that stuff with. So you can do the following:

  1. Choose or influence the decision to use the tech you want to learn, or

  2. Find a company using a technology you don't already know about but really really want to get ridiculously good at, and then go work for them

I am by no means a senior developer, but in my relatively short career, I have with luck and wherewithall done both. I can assure you, no matter your seniority, that you can do the same.

Choose Your Tech

Choosing our technologies has major repercussions for businesses and colleagues. It should neither be taken lightly nor alone, if possible.

That said, sometimes choosing the tech stack is trivial. For example, if you are in a major tech hub and the decision you need to make it what frontend framework you want to use. You have certain criteria that rule out all but the big 3: Angular, React, or Vue. After weighing the options, you and the team conclude that using any of them would work equally. What would you choose?

All things being equal, I would choose the framework that I am least familiar with, just to scratch that itch, to widen my skill set.

Others might choose to use the tech they are most comfortable with. That is also a sound decision, and is a sure way to deepen our skill set.

You have to make the decision for yourself whether either widening or deepening is more important for your career and personal growth.

Find the Company Using the Tech

This is how I learned (am learning) Vue.js. I found a company that ticked all the boxes, INCLUDING the box that scratches my itch for learning something new, and that made things even better.

Of course, it helps that I already know Angular and React. Javascript is javascript. (right?). And this is key in learning new...well, anything, really. We can leverage our past experience to learn new things if they are similar in the right ways.

Leveraging

Given that we can learn new things through using what we've learned in the past, we have to be careful and tread lightly. Sometimes we can bring patterns with us that don't serve our purpose in learning something new.

Take, for example, learning regular Javascript coming from a C# background. C# is an object-oriented (OO) language, so it uses OO conventions, such as private variables, inheritance, etc.

Javascript can implement to some extent the features of OO languages using class syntax. But it is not an OO language. Developers who are used to coding in OO languages can get by just fine using the same patterns they're used to, but there will be tricky parts that don't behave as they normally would.

If you're learning Javascript coming from an OO language, immerse yourself in the "Javascript" way of doing things, meaning using prototypical inheritance and function programming patterns. Everything is a function, so work with that -- not against that.

Like in learning any language, natural or otherwise, it is best to IMMERSE yourself completely in the culture of the language to learn it as it was meant to be used. Let go of the past and embrace what's in front of you.

You cannot fill a glass that's already full, as the saying goes.

Summary

So go out there and learn new things. Seek out opportunities to deepen and widen your skills, but don't do it with half an ass. Don't bring baggage that will weigh you down. When you learn something, learn it right using the conventions.