Discouraged While Learning Software Development?

Discouraged While Learning Software Development?

December 19, 2020 by Imtiaz Ahmad

So, are you someone who is trying to learn something new like software development, and feels discouraged?

Well, trust me, you are not alone.

I get these reactions from students saying that:

“I have been learning this skill for a month now, and it’s not registering”

“I have learned this but then I forget what I learned quickly”

“It’s not going to work for me. I am going to just give up. I’m quitting.”

So, sometimes people just end up quitting. Especially while learning software development.

The reality while learning software development

Let me shed some light on what you should expect from the process of learning software development. You see, any new skill that you are learning is not supposed to be easy. You will have to put in the hard work. There are no shortcuts.

No one was born a good software developer. Even, Bill gates was once a beginner. Any software developer in the world, any prodigy coder that you see out there has put in the work. It depends on how much passion you have for a given field. So, whether it’s me or you, we need to have a passion for software development.

It’s when you have a passion for this field, you will start to enjoy it. Now, when you start to enjoy it, you will be able to push through the process and master it. So, if you have a passion for software development and find yourself struggling with it, keep at it. Trust me it’s completely natural to struggle, you have nothing to worry about. Learning anything new takes time. So, don’t give up!

Best way to learn – Forget & Recall – Repeat

Now, let me share the best way to learn a new skill. When you are learning anything new, you need to forget it. It’s about the process of repetition. You learn something and then you forget it. Then you learn it again and forget again.

The more iterations of the Learn-Forget cycle you go through, the faster you will master concepts. And that’s how your brain works. Your brain rewires the neural pathways when you start to apply repetition.

This technique worked for me when I took acting classes. I understood that learning a script, takes a lot of work. But, it is very effective when you force yourself to memorize a script and forget it quickly. Memorize it and forget it quickly. Don’t try to keep memorizing and not allow yourself to forget.

Tips from acting classes

So, here’s what I did in my acting classes. When I get a script for each class, I would read through it, then I would put it away and start recalling. The faster I got into this forgetting mode and then did recall in my mind, the faster I was able to learn the scripts. Each time I was going through this process of remembering and forgetting, I would ask myself “What was the first line about?” and that’s how I learned faster.

So, that was a different example. But any new skill like singing, lifting weights, or anything else, requires you to forget. The same goes for the process of coding. If you can apply the Learn-Forget-Recall cycle, you can master the concepts faster.

Kid’s analogy on learning to write

There’s another example where you can see the same trend when we were kids while learning a new language for the first time. In pre-k and kindergarten, kids are first taught letters from the Alphabet, then learn about words, then slowly learn how to put the words together to form sentences. Then they get to a point to form paragraphs with these sentences, then learn how to read and write stories and books.

That’s the kind of learning curve required for a software developer. Any technical profession is also going to require a similar kind of effort. So, think about it. If it takes a kid about to learn a language for about three to four years, just imagine how much time will it take you to absorb the concepts and master software development.

From my experience as a software developer, it takes about four years to be fully confident for you. You will get to a point where you can just look at the code and say “Okay, let’s get started”. Most students take a lot of time to learn. So, it will take a lot of work for you to learn as well.

I remember when I was learning to code, I was weak in algorithms and Data structures knowledge. So, I picked a book on this topic and started learning the concepts. But the one data structure that was giving me the hardest time was red-black trees. And it is a complicated data structure that took me almost 3 months. I was bashing my head across the screen to get to a point where I could comfortably start coding read-black trees.

Back then, I already had a job, so I was putting in extra time each day for those 3 months to learn this stuff. Even when I was not a beginner in coding, it was a struggle. It takes time. So, you can’t give up! If you’re learning a new skill for 3 weeks or 6 weeks or 6 months, come on! It’s not time to give up yet.

YouTube Video

Resources

Subscribe

    We do not send spam. Unsubscribe anytime.
    Back to blog
    Data Analytics | Software Development
    Strings in Python: Indexing and Slicing for Beginners

    Table of Contents Getting Started with Strings in Python Example: Handling Apostrophes in Strings Escape Sequences Indexing in Strings Example: Accessing Characters by Index Slicing Strings Skipping Characters in Slices Reversing a String Practice Challenge Resources Wrapping Up Strings in Python are a cornerstone of programming, and Python makes working with them incredibly flexible. In […]

    Imtiaz Ahmad
    Data Analytics | Software Development
    Arithmetic Operators in Python

    Table of Contents Arithmetic Operators in Python Division and Floats Modulus Operator (Remainders) Order of Operations (PEMDAS) Working with Different Data Types Resources     Conclusion Python makes it easy to perform basic arithmetic operations, which are foundational for any kind of programming. By the end, you’ll be comfortable using Arithmetic Operators in Python, including addition, subtraction, […]

    Imtiaz Ahmad
    Software Development
    Do you Need a College Degree for Software Development or Tech?

    Why do you need a College degree? I often get asked the question of whether someone needs to have a college degree to get into software development. And the answer is yes. Absolutely! Yes! You need a degree (No need for a CS degree) I mean come on, you don’t need a computer science degree […]

    Imtiaz Ahmad