How To Learn New Technologies Quickly

Thank you! You've successfully on your way to become a 10X developer.
Oops! Something went wrong while submitting the form.
How To Learn New Technologies Quickly
harley Ferguson
8/13/2022
/
Experience

A career in software development is not an option for you if you don't enjoy learning new things.

That's just a fact. Technology changes at such a rapid pace and as the pioneers of the software driving technology forward, it's part of the job description for us to keep up to date with the latest and greatest tools, frameworks and languages we have at our disposal.

This can be very daunting even if you do have a growth mindset. Constantly needing to learn new things can be draining. That's why I've designed a framework to help myself and others quickly gain a deep understanding about something new that we're needing or wanting to learn.

Let’s dive in.

Understand the high level

Before we go all the way into the deep end of our new interest, we should first find the answers to these 3 questions:

  • What is it's purpose?
  • When is it used?
  • How does it work?

A sentence for each will do. You don't need to go into specific detail but you need to obtain a basic understanding of the answer to each of those questions. It will give you a conversational understanding of the technology which we can then build on from there.

Example:

Say you're wanting to learn React (the frontend JavaScript framework)

  • What is it's purpose? - To build user interfaces
  • When is it used? - When wanting to build a single-page-application for the web
  • How does it work? - Using JSX (a syntax extension for JavaScript), React is able to render components to the DOM to build user interfaces

We've now answered some high level questions to help frame the technology and give us a basic understanding of what it does, when to use and how it works.

Draw similarities

The easiest way to learn something new is to compare it to something that you already know.

The more you develop your skills and knowledge as a developer, the easier this will get because you'll have built up a library of knowledge.

The goal here is to leverage your existing knowledge to help make sense of and digest the new pieces of information that you're consuming.

Example:

React is similar to Angular or Vue in that it's a frontend framework that uses JavaScript.

React applications are built using components that form a tree, much like the widget tree in Flutter.

React commonly used Redux for state management, much like NgRX in Angular.

Leveraging my existing knowledge of other frameworks, I'm able to quickly come to terms with the React ecosystem because I'm drawing similarities instead of trying to learn everything from scratch.

Understand the theory

There is always going to be theory behind a technology. It was built for a reason and with the intent to solve a particular problem.

The goal of this phase is to break down what that problem was and better understand how this technology is used to solve it.

Example:

React wants to make building web applications easier by allowing developers to more easily break down their applications into encapsulated components that are each responsible for their own state. These components are then easily structured together, like LEGO blocks, to build the full application. React wants developers to write code declaratively to make writing code more predictable and easier to debug. React wants to enable developers to build applications that update more efficiently and render only when data changes occur.

Through some light-weight research, we've found the core problems that the creators of React identified and the overarching theory of why React was built. This allows us to better understand the practical aspect of the technology.

Build the practical

With light, comes dark. With theory, comes practical.

Now we need to put our knowledge to the test and actually make use of the technology.

Whatever it is - a language, tool, framework, plugin - go take what you've learned and try to build something simple with it. Use this time to reinforce your knowledge and build the foundational understanding. From there, you can start diving deeper into the nuances of the technology because you've ensured that you have a good understanding from the get-go.

Example:

Go build a simple Hello World React application.

Explain like I'm 5

Now you need to attempt to explain what you've learned.

If you're at this point, you would have already:

  • Gained a high level understanding
  • Drawn similarities
  • Researched the theory behind the technology
  • Built something using the technology

What you need to do now it to attempt to impart your knowledge to someone else. The goal here is to be able to explain something that is most likely very complex in a way that is simple enough for a 5 year old to understand.

This can range from explaining it to a non-technical friend who knows nothing about software to giving a tech talk in your company. It all depends on your confidence level and your scenario.

The reason for this is because software development is a very collaborative career. You're going to work with a lot of people and, most likely, need to explain concepts at some point.

Use this time to improve your communication skills but also, most importantly for learning something new, identify your knowledge gaps.

Fill the gaps

The first time you explain what you've learned something strange will happen.

You'll notice that you struggle to articulate certain aspects or can't quite find the words. You know what the technology does and how to use it but those parts that you're unable to explain are gaps in your knowledge. Those are things you need to dive deeper in and really understand.

The best teachers are not the ones who use all the correct technical terms but rather the teacher who can explain something as complex as the redux data flow pattern and have it make complete sense to someone who has never written a line of code.

Go through everything again. Relearn. Fill the in the gaps. Give it another go.

Remember: you only know something really well when you're able to explain it to a 5 year old.

See you again next week.

Whenever you’re ready, there are 3 ways I can help you:

  1. Join my community on LinkedIn and engage with me directly (1,800+ followers)
  2. Set up a 1:1 coaching session with me (25+ students) [Booked out 2-3 weeks]
  3. Reach out to Origen Software for us to solve your problems (for founders and start-ups)