The struggle
I know the struggle, Iâve been there. You have finished bunch of coding tutorials and now, itâs time to apply what you just learned. -âBut wait, did I even learn anything? I literally have no idea what to write in my IDE đâ - That was my everday scenario when I was just starting to learn how to code.
But really, why do beginners struggle to write their own code? The only reason for this is lack of deep understanding about the small parts of programming, most importantly, fundamentals. Having a deep understanding of programming fundamentals looks like this.
- You can decompose complex problems into smaller, manageable parts and solve them step-by-step. (Analyzation)
- You can easily remember the basic concepts (variables, loops, conditionals, etc.), and apply them when necessary. (Retrieval and Application)
- Of course, you can write solutions on your own (Creation)
Good news! Iâm here to tell you that you can easily gain deep understanding about a certain topic if you avoid these three (3) big mistakes when learning programming. But first, letâs take a look at this analogy.
Analogy: The puzzle
![Jigsaw puzzle](https://s3.cloud.ngn.com.tr/kitantik/images/2022-07-20/1br9qfyl5sovicu15ak.jpg)
Learning is pretty similar to solving a puzzle. There are some things that if you donât have or you donât do, then, solving the puzzle is going to be a lot harder.
- Not having a picture or guide of the final outcome to look at
- Not focusing on small and destinct sections (Attempting to solve the entire puzzle)
- Not having the patience to solve the puzzle makes you want to quit
Same thing goes for learning, you avoid these mistakes and learning will be much easier.
Mistake #1: Unstructured learning
Remember this - âOur brain hates chaosâ - If your brain can only shout to you everytime you commit to unstrucuted learning, you may already be the most efficient learner by now. But no, it can only send signals. Sleepy, distracted, and unmotivated when youâre studying? Those are the clear signs.
The fix: Setting a clear goal
![Target goal](https://cdn3.iconfinder.com/data/icons/social-media-set-2-2/256/Social_Media-15-512.png)
The best you can do, before you even start looking for coding tutorials, is setting a clear goal. Itâs like having a picture or guide of the final outcome, so that you can spend your time and effort wisely on topics that matter and avoid wasting time on topics that donât.
Look at the table below to differentiate ânot so clearâ goals from clear goals.
âNot so clearâ goals | Clear goals |
---|---|
âI will build a website." | "I will build an ecommerce store for my friendâs business." |
"I will build a simple game." | "I will build a console-based rock, paper, scissors game." |
"I will be backend developer." | "I will build a secured, public API for generating random pictures.â |
So, if your goals are ânot so clearâ ones, itâs an indication that you need to ask yourself more questions and you also need to do more research first.
- Who: Who is the end user or beneficiary after you achieve the goal?
- What: What are the things needed to achieve the goal?
- When: When is the estimated accomplishment time?
- Why: Why is this goal important? What problem does it solve?
- How: How will you achieve the goal? What tools or technologies will you use?
Now, everything is clear, you have more focus and less distraction. You can filter out irrelevant topics much easier and focus more on the most important ones. That way, you avoid doing the second mistake which is overwhelming yourself with big and complex chunks of information.
Mistake #2: Overwhelming yourself
You have probably heard these phrases before - âOne step at a timeâ, âSlowly but surelyâ - Those are in fact, what you need to do when learning programming. Also, if you really think about it, you never really learned âReadingâ. First, what you have learned is recognizing patterns. Then, linking patterns to letters. Then, you learn the sound of each letter up until, you learn the sound of different letter combinations. You were making baby steps when you were learning how to read.
If you canât zoom-in into complex topic or problem and start focusing on smaller parts of it, youâre going to overwhelm your brain, which leads to cognitive overload. Thatâs the last thing you want to do to your brain when learning programming.
The fix: Narrowing down your vision
![Narrowing vision](https://tommccallum.com/wp-content/uploads/2020/03/narrowfocus-e1584970636986.jpg)
Directing our attention to small and simple piece of the problem at a time, enhances focus and concentration. This reduces distractions and improves the quality of our thinking. But, in order for the concentration to last, the thing that you need to be focusing on must be aligned with your goals.
Your goals should always be the big pictures where you want to zoom-in. Letâs take this goal for example - âI will build an ecommerce store for my friendâs businessâ -. Now if you zoom-in, these are the different parts of it that you can see.
- Platform
- Business details
- Tools and technology to be used
- Testing
- Deployment
As you start working on achieving your goal, expect that it will transform in to âmore clearâ or âmore narrowedâ goal. Now the best part of it, is that youâre going to always have a small and manageable task to work on up until the end.
Now, that youâre ready to actually start the learning process, be aware that every advice I just gave you will be useless unless you avoid this final mistake.
Mistake #3: Craving for comfort
![Comfortable cat](https://turningpointct.org/wp-content/uploads/2018/01/Comfortable-Cat.jpg)
âComfort keeps you stagnant; challenges drive growthâ
Starting from now, I want you to be aware of how you learn things, because since early education, we become accustomed to passive learning methods, and it becomes our default approach. Methods such as reading/listening/watching videos without engagement, highlighting text, memorization without understanding are easier and require less effort compared to active learning methods. But, these methods are the reason why you think you have bad memory, making you unmotivated to learn and explore new things, thus, keeping you and your brain stagnant.
The fix: Active learning methods
![Power in hands](https://image.winudf.com/v2/image1/Y29tLlN1cGVyUG93ZXJQaG90b0VkaXRvci5Nb3ZpZUVmZmVjdHNDYW1lcmFfaWNvbl8xNTQ3NjM3NTgzXzA1Mg/icon.png?w=&fakeurl=1)
With active learning, you will spend more time processing information compared to passive learning. But, thatâs only at the beginning of learning process. Once your brain starts forming strong connections, youâre going to have an amazing memory. Youâll feel like you just unlocked a super power âĄď¸. So, hereâs what you should be doing when learning programming.
- âI will quickly apply or experiment with the concept I just learned by creating a simple projectâ
- âI will explain programming concepts or solutions to someone else, to improve my own understanding about a certain conceptâ
- âI will read and analyze code written by other programmers to understand different coding styles, techniques, and best practicesâ
- âI will focus on identifying and fixing bugs in my code to enhance my problem-solving skills and improve my understanding of the fundamentals.â
Also, please remember that making mistakes is a natural part of learning programming. You may get discouraged when you see bunch of errors on your screen. But, after you solve every problems and face every challenges on your own, youâre growth is going to skyrocket đđ. Well, you could seek help from others for a smoother journey, so if you need help donât hesitate to message me!
Conclusion
To summarize, the beginning is often the hardest part because it involves overcoming uncertainty, fear, and inertia. By setting clear goals, narrowing down your vision, using active learning methods, and seeking others help, you can the overcome the challenges and set yourself on a path to success.
-
Mistake #1: Unstructured learning - Fix it by: Setting a clear goal
-
Mistake #2: Overwhelming yourself - Fix it by: Narrowing down your vision
-
Mistake #3: Craving for comfort - Fix it by: Active learning methods
![A master bowing](https://t4.ftcdn.net/jpg/06/35/85/91/360_F_635859130_xWZAC4neov0dVk1mXqDhpJUdcp5M4hki.jpg)