How to learn how to learn

Notes and observations on how to learn things faster and more effectively

As developers and software engineers, we are destined to face a common destiny: we need to learn for the rest of our lives.

10 to 15 years ago, you must understand Java and JSP, Servlet and Tomcat to be among the top of the industry. Maybe by then you learned about Objective-C and all the knowledge about Cocoa Touch, because mobile applications are a new trend, and, honestly, it's really exciting! Now, everything has to do with React and modern JavaScript-JavaScript from 3 years ago is no longer JavaScript-it's old JavaScript. As a system developer, C++ then Go, then Rust? What about Haskell and Elixir?

Significant changes occur in trends and the job market every few years.

I like to study. Knowing that there are some new things that we can apply in this industry, as a programmer, everything you learn will become a tool in your tool library and provide a huge help to your career .

In this article, I want to discuss things to do to learn faster and more effectively.

Procrastination

Procrastination is your enemy. It can take many forms, such as watching Netflix or just browsing Reddit. It can also take the following forms: shallow work, unimportant small tasks, none of which is really worth doing. Except that they make you feel productive, while keeping you away from the real deal: learning new things.

How can you overcome procrastination? You need to be trained. One way, so just start like this. For example, one way for writers to force themselves to write is to concentrate on writing 200 words a day. Once you start writing and reach the end of those 200 words, you may move on now. You focus on the process, the system, not the result. You can also write 200 la-foot words until you enter the "area", and then write 5,000 words at the "company" magazine level.

Management distraction

We need any help that can overcome the procrastination. One thing I want to do is to use a macOS app called SelfControl and a Chrome extension called Block Site. I will block all social media that is not related to work and all news sites I visit. I need to use an iPad or mobile phone to watch.

Manage your time

Another method is to block time. The Pomodoro technique is very helpful in this regard: it is just a way to work for 25 minutes and rest for 5 minutes. You can adjust the time according to your own preferences, but the main advantage is that you can set a working time and rest time for yourself. However, I cannot stand the fixed nature of this technology. I refused to do any rigid work around my work, but I did something similar. I only write when I am inspired. If I am not inspired, I would not sit at my desk.

Divide and conquer

I live by studying and then by teaching. For example, next month, I will delve into GraphQL and conduct related courses. This is great for me because I am always learning new things. Of course, there is no shortage of things to learn. For those who take one of my courses, this is also a great benefit: I start from their starting point, so I don’t fall into the trap that experts fall into, just make assumptions and create some resources for the wrong audience. can. I like.

However, this presents a challenge: how can I learn fast enough? I work in blocks. I chose a topic, took a few courses, read as many books as possible, and then tried to come up with the entire list of arguments. That will become the index of e-books. Then, I started writing each block independently. I have printed a list and every day I choose 1, 2 or more topics that I want to learn and write about. Following the mood will make things easier. In addition, if I don’t want to do this one day, I will skip this day and return to a fresh place tomorrow, ready to start rolling.

Dividing a big theme into multiple parts is more user-friendly and manageable. If I have to process 1 block every day, then at the end of the month, my workload will be very large. Each of them is part of the big picture, and what I want to do is to visualize the big picture. Each part is a blog post, and I understand the big picture by creating an e-book.

I really encourage anyone to adopt my method and try to explain what they have learned right away. If you are new to this topic, don’t worry, you always have your own opinions on this topic.

Learn from books

Another topic worth discussing is reading. I have many booksmiss youreading. My books app is full of great books that I have never read. I read a lot of books, a lot of great books. Many times, I will be inspired by a book, but after a month or so, I forgot what I had read there. How do you remember what you learned?

This is my technique. Whether reading with a Kindle or iPad, or holding an actual book in my hand, I will highlight all the main concepts and things I want to remember.

However, the underlying content I want to remember is not enough.

After reading the book, I will only read the highlighted content to re-read it, and at the same time, I will summarize the book. Privately, but I also started posting this content, like I didDeep workbook.

Not only did I affirm these concepts in my mind, but I did write them (a great help). Now that I have reference materials, I can look back and see what I learned from the book.

Or maybe I just want to write what I learned from a chapter or paragraph and expand it with my perspective. That's also great.

Use what i learned

When learning a programming language or framework, the best way is to use it to create projects. Auxiliary projects are particularly useful for this, because you don't need to fully grasp the design patterns for enterprises, but you can learn as you want. You can scale the architecture 100% without just learning a few things. Paralyzed. Interesting projects are also great. I like to work on platforms that make entertainment the first class, for exampleglitch.

You can also make games or publish mini products on Product Hunt like many people do. This is a great way to give you adrenaline and push the necessary effort to redouble your efforts and perfect something so that people can see and use it instead of sitting on the hard drive for three days that is completely useless or forgotten hard disk.

rest

Taking a break is very important. Definitely moreHumanitySpend 1 hour a day for 2 weeks instead of 12 hours a day. Every night, your brain has a chance to think about what you have learned. I find that is better. Maybe you can alternate 1 hour of reading time with 1 hour of podcast listening or hands-on projects.

Also, when you are stuck on something, do not spend 3 hours on it. Take a walk. take a short nap. Run outside. Do other things and come back. I cannot count the number of times I wake up the next day after preparing the solution.

Or the famous solution is waiting for you in the shower, or when you are walking your dog in the woods. It’s amazing how many times your ideas don’t show up when you work.


More experimental tutorials: