For someone to learn computer technical skills faster. You need to Stay Relevant, Master In-Demand Technologies and Boost Your Productivity with More Efficient Learning.
For software developers anywhere in the world, learning is a journey, not a destination. You will always be able to get better—if you choose to.
I’ve spent plenty of time developing my technical skills the wrong way.This is something I have learnt after so many years of experience.
However, I’ve also learned how to develop technical skills at faster speed and to teach others at the same time. I have taught technical courses in different universities and colleges here in Kenya. After all, I have created over 10 highly technical developer training courses in this Learnerscoach platform for over a period of about three years.
Initially, I used to think that the best way to learn a technical skill was to take a big reference book and read it cover-to-cover. Back then, I read too many 500+ page programming books to count and didn’t benefit much from the exercise; although my eyes might have strained from reading a lot of books of that size.
I would not wish or want you to make the same mistakes I did, and if you already have, I want to show you a better way.
Understanding How to Learn Quickly
Before we get into the specifics about learning computer technical skills, I think it’s worth taking a second to talk about learning anything quickly and teaching yourself in general.
As I mentioned, I spent a large amount of time both learning and teaching various technologies. I learned whole programming languages in a matter of weeks and then turned around and taught courses on them.
During that process, I developed a reliable system for learning just about anything I needed to learn. This wasn’t so much a conscious effort as it was a necessity. I was trying to learn at such a rapid rate that I had to come up with efficient ways of doing things, and naturally, patterns of learning developed which helped me to become faster and faster.
Getting The Basics
The basic idea is pretty simple.
Essentially, you want to first get a good idea of what you are learning and what the scope of it is. You need to get enough information about your subject to understand the big picture and narrow the subject down to a small enough scope that you can actually tackle it and wrap your head around it in a realistic amount of time.
Then, you need a goal. You need to establish what it is you are trying to learn and why and, most importantly, what metric you will use to know that you’ve learned it. Far too many people set out to learn something but have no way to measure whether they have succeeded or not.
Equipped with that starting point, you can start to gather some resources for learning. I recommend not just reading one book cover-to-cover but to instead gather multiple resources, which may include books, blogs, podcasts, magazines, video courses and tutorials, expert opinions, etc.
Then, you are going to use some of those resources to create an actual plan for learning. You are basically going to figure out in what order to learn everything you need to know about your topic.
Then, you dive in. From your learning plan, start with each module you are going to learn about your subject. For each module, learn enough to get started, play around for a bit, and then go back and answer any questions you had while playing around.
You are basically going to focus on learning by doing, which we’ll talk about later. The key here is to not to learn too much up front. Instead, utilize natural curiosity to drive your learning as you play around on your own. Then, go back and actually read the text or consume the content about your topic, with questions in your head and some experience which will naturally guide you to seek out what is actually important.
A big problem we face when learning by consuming a bunch of material is that we don’t actually know what is important. By playing around first and forming your own questions, you solve that problem and what you learn actually sticks.
Finally, you take what you learned and you teach it to someone else.
It doesn’t really matter the format and it doesn’t matter who you teach it to. You could talk to your dog or the squirrels in your yard if you like. Doesn’t really matter. What matters is that you somehow reorganize the thoughts in your head in a way that communicates them to the outside world.
This is the place where learning changes from knowledge to understanding. And that’s it.
What we have here is a basic formula you can apply to just about anything you want to learn quickly.
Now, let’s talk more specifically about learning and developing technical skills.
Learn by Doing
I believe we all learn best by doing, but when it comes to technical skills, this is paramount. It is just not possible to learn most technical skills by simply reading a book or even watching a video tutorial.
You may get an idea of what is possible using a particular technology, programming language, or tool, but until you’ve actually used it yourself, or solved problems with it, you are only going to have a surface level understanding.
This might be obvious for programming languages, but can you really learn how to use source control from just reading about the syntax?
If you’ve never made the mistake of merging a file into the wrong branch or checking out the wrong version of the source code, and you’ve never actually used a version history to figure out where a bug got introduced, you aren’t really going to know how to use source control—you’ll just think you do.
How to Learn by Doing
At the risk of repeating some information that might seem obvious, I’m going to tell you about how to actually learn by doing—consider this as a reminder for something you already know.
Whenever you are going to try and learn a technical skill, start by figuring out what it is going to help you do.
If you don’t have an immediate need for the skill, you might even question whether you need to learn it at all. A large amount of time is wasted by learning technical skills we are never actually going to use in the real world. Believe me, I’m so guilty of doing this that it’s not even funny.It pains to say the least.
You’ll have a much easier time learning something if you have an immediate application for it—a real reason to learn it.
I guarantee you will be learning like you’ve never learned before if you are being instructed on how to skydive right before you fly up into the sky and jump from a plane.
But what if you don’t have a pressing need? What if you are learning a technical skill because you want to be able to get a job where you’ll need to use it? In that case you need to manufacture a reason to use that skill. Create a goal.
An Example of Learning by Doing
Let’s look at a real example.
Suppose you wanted to learn about relational databases and how to use them. You could just try and read about a database and run some queries against it to play around with—and that might be somewhat effective.
What if instead your goal involved creating a database to store a collection of movies you owned?
What if your goal was to query this database, insert new movies, delete movies, update the titles, etc?
What if you wanted to create a simple application to let you access the database and do all this?
Now, you have a purpose and a way to learn by doing. Now, you have something to do.
How do you approach learning about relational databases?
You crack open that book or you watch that video tutorial, looking for specific information you need to know to solve your actual problems.
Then, you actually create and use a database and not just as an exercise. You have a real goal. Think about how much more information you’ll retain when you work and learn in this way.
And won’t it also be so much more fun?
How I Teach Technical Skills
As I mentioned earlier, I have taught quite a few technical skills in a pretty large variety of technologies in my day.
Therefore, I thought you would benefit from seeing how I teach technical skills to make them easier to learn. That way, you can just apply this concept when teaching them to yourself. Make sense?
When I teach technical skills, I want to give my learners the biggest bang for their money, and I don’t want to bore them with a bunch of stuff they don’t really need to know or could learn on their own when they actually need to learn it.
Instead, I focus on teaching what will be immediately valuable and giving students the resources they need to practice what I call “just in time learning” when they need to go deeper on a topic.
There are three main things I try to teach someone when I am teaching a technical skill:
- The Big Picture: what can you do with the technology? This is at a very surface level. I’m not showing them or you how to do everything in a technology; I’m just giving you a quick tour and overview of all the points of interest on a map.
For a programming language, for instance, I might talk a bit about the history of the language and what it is mostly used for.
How to get started. This is often the most difficult part of learning a technology—and it’s the precursor to “doing”—so I try to make this as painless as possible. I want to show a student how to download whatever they need to download, get it installed, create their first project, and compile their code.
You need to know 20% to be the most effective. Finally, I try to teach students 20% of the information concerning the technology that they’ll use 80% or more of the time. The key to learning a technical skill is figuring out what the 20% is.
What 20% can you learn that will be used in 80% of the work you do using that technical skill?
This is where it is really going to be critical to be doing rather than just reading.