Contents

How to learn a new programming language fast

How to learn a new programming language fast

Summary

  • The truth is that becoming a master learner is a practice.

Trick in Learning

  • Practice and Pressure.

How to Internalize the most important concepts.

  • Gifted person is always keeping sensitive to anything presented.
  1. Checking what the type learner you are:visual learner,auditory learner,reading/writing learner,or kinesthetic learner.

Visual learner

If you are a visual learner, you love visualizing ideas and concepts. You can create mind maps of the concepts. I am a visual learner. I often use a whiteboard to diagram all the components of the concepts in my programming books. I also diagram all of the components of the systems I am building. Once I do it once, it’s easier for me to imprint the image into memory.

Tools for learning: YouTube videos, lists-oriented training, diagrams, mind maps Exercises for remembering: create mind maps, make modules, create Visio diagrams

Auditory learner

If you are an auditory learner, then you are likely to learn by listening to someone talk about the subject.

Tools for learning: audiobooks, podcasts, TED videos, classroom instruction Exercises for remembering: teaching the concepts to someone else, coding with a buddy and teaching each other.

Reading/writing learner

If you are a reading/writing learner, then you are likely to learn from reading programming books and taking notes.

Tools for learning: programming books, making list, taking notes Exercises for remembering: writing a blog about concepts learned, creating question/answer lists

Kinesthetic learner

If you are a Kinesthetic learner, then you learn best by doing. You like to engage in learning that involves physically acting out what you have learned.

Tools for learning: programming projects, study groups, coding competitions Exercises for remembering: tracing through mind maps, coding with Visio block diagrams, engaging in different coding projects with a buddy

  1. How to practice the concepts you’ve internalized

For you to remember it for the lang haul,you must practice these concepts over and over again. Here are resources where you can practice concepts that you have learned:

  1. Practice working on projects

Once you’ve had the practice you need to master concepts,then you are ready to work on projects.

  • Create one project per language that showcases all the important concepts of the language.
  • Code interviews are the best practice around

Technical interviews can be grueling. The way to master these interviews is really to look at it as practice for the big leagues. You can prepare for it by using some interview-preparation sources, such as Cracking the Coding Interview, LeetCode (practice coding with an online judge, Gainlo (mock interviews with professionals), Glassdoor (practice past interview questions), and GeeksforGeeks (look at the solved questions).

Conclusion

Now you know becoming a master learner is a practice. By internalizing concepts, anyone can become a master learner of programming languages fast. Like a gifted person, if you heighten your sensitivity around the subjects you learn by immersing yourself in a learning medium (e.g., audio, visual, words, etc.), you will learn faster than ever before.

After you’ve learned the concepts, you can practice the concepts through projects, code interviews, and coding competitions. In no time, you will be hired as a programmer.

Six Stages of Learning a New Programing Language

Summary

  • It’s a challenge to learn programming language fast and learn about different subjects deeply.But it’s such a fun process.
  • By learning all the time, you add to your life in the following ways:
  • meeting new experts in the subject area
  • bringing new creativity into thinking about your projects
  • expanding your career prospects
  • overcoming boredom when you become complacent at your current job
  • staying current in the technology arena
  • finding new passions in life
  • transferring knowledge from short-term memory to long-term memory.
  • creating knowledge paths that will enable the absorption of new knowledge.
  • enabling the creation of new knowledge acquisition, knowledge retention, and knowledge creation behaviors.

Starting With Key Elements and Concepts

Initially, when you learn a new programming language, you want to focus your study on the key elements and concepts of that programming language. Making a list of the “core” learnings for a programming language and going through them step by step is the way to go.

You don’t know what you don’t know

If you want to learn Python, ask an expert Python programmer or a teacher of Python to draw you a list of “core” learnings. You can also go through a course that will step you through the foundations of programming in Python. Search for a list of interview questions for that programming language.

Branching Out to Ask Enough Questions to Hit the Right Ones

When you are learning “core” concepts in a programming language, do you frequently make a list of questions to ask? I usually find that I digress a lot. That is, I tend to follow my train of thought down the line until the very end.

So I started with concept A about Python, then ended up googling a whole lot about object-oriented programming in Python, which led me to scope out a potential project to do later. Through this process, I bookmarked syntax conventions, object-oriented programming concepts, and a list of frequently used data structures. The right questions to ask are probably buried in one of these webpages that I just bookmarked. By reading through these websites, I will be able to compile a list of critical questions. You learn to ask the right questions to learn the core skills.

Building Habits to Learn Daily

Some of the best takeaways from learning many programming languages in my career are the habits of productivity that I’ve built into my life. Throughout my career, I dedicated at least two hours to learning every day. That is a lot of time: 236515=10950 hours. Outside of work, just like a physical fitness routine, I have a mental fitness routine that spanned 10,950 hours over 15 years to allow me to learn new things. Most of the time, I just woke up at 5 a.m. instead of 7 a.m. or went to sleep at 11 p.m. instead of at 9 p.m. to give myself that added amount of time for learning. You learn that learning is fun, learning is on your own time, and learning is a passion.

The Snowball Effect

When you overcome the difficulty of learning complex concepts and complex hurdles of your projects, it has a snowball effect on your confidence. I’ve seen that with my work. It’s not exactly the state of “flow”. It’s more of a kind of motivational energy that perpetuates your entire life. It’s the same effect as drinking coffee, going on a juice cleanse or living a healthy lifestyle. You ride a kind of energy wave of learning.

This motivational energy translates to wanting to learn all about infrastructure, design, and storage. This motivational energy translates to wanting to try programming in different ways: functional, imperative, procedural, event-driven, flow-driven, etc.

This motivational energy translates to asking why questions such as “Why are we designing this part of the system this way? Why do we use this programming language for this project? Why do we select this infrastructure technology to scale up our project? Why are we coding this part of the project in this way? Why are we designing the error handling this way? Why are we designing the messaging handling this way?”

Asking these questions will lead you to find out the how. Working on projects that will consistently allow you to learn the how to the right questions of why will allow you to become proficient much faster. You are motivated to ask the why that allows you to find out how.

Building a Habit of Repeated Practice With Risk-Taking and Creativity

You are the owner of your programming career. Everyone’s different in the amount of risk they are comfortable with. Programming allowed me to learn to take measured risks in my career. It taught me confidence in my problem-solving abilities. It taught me to be confident in my creativity.

This is all due to my repeated practice of the programming languages that I’m most comfortable programming in. Repeated practice does not have to be boring. In fact, to be truly proficient in a programming language, taking projects that will allow you to learn different parts of the programming language is essential.

You can only learn to be creative in problem-solving if you learn different ways to problem-solve. You can only be efficient with your code when you think about the best ways to write your code. Only through repeated practice can you have “ah-ha” moments about pieces of code that will allow you to come up with the most efficient and effective code. You learn to be proficient by learning to be efficient and creative.

Relying on What You Know to Leap Forward

Finally, as you have learned and practiced programming languages that you are comfortable with, you can now leap forward in your career. This is usually when you progress from a junior developer to a senior developer.

You will rely on all your knowledge of the why and how to ace those interviews to move to the next stage of your programming career. By now, some of this is already in your fingers. You can code with a certain agility in the languages that you are comfortable with.

You don’t work long hours anymore. You have time to go out with your friends. You finish your workday and take vacations. You mentor junior programmers. You set examples and use best practices at work. You speak up at architecture meetings and put in your two cents. You are known for being a certain kind of an expert on your team. Congratulations, you have internalized the programming language that you’ve learned into long-term memory. It is now in your fingers.

End

Now you know the process of learning any new programming language. You know that you can’t quit in the middle. Every two hours spent programming are two hours you spent away from your loved ones. So make those two hours count. Allow those two hours to multiply each day until you’ve learned and internalized the concepts.

Once you are proficient after working on enough projects, know that this is not the end. It’s a new beginning. Start from zero to learn and internalize new programming languages and new programming concepts again. Once you increase new breadths and depths of your knowledge throughout your programming stack, learning will flow naturally and become a part of your life.

referent from medium