13-03-2022

How bad habits kept me from learning to code properly

A typical day of coding means work with challanges, which you find solutions to. To achieve this, you have to apply your knowledge. This is a continuous process that never ends. Chances are you are not fully doing something you have done before. There are always new things that you are picking up. you should be gaining knowledge on the way, you slowly accumulate this and then work your way up the seniority ladder.

I was stuck on the endless loop never really gaining any knowledge at all.

Sure, I was able to create a solution for technical solutions and doing new things along the way. But I wasn’t really taking that much knowledge with me. This meant that I wasn’t learning and retaining that knowledge, much what I “learnt” was simply lost, only for me to relearn it all over again in the future.

It took me years to realize it was not related to what I was doing but more on how I was doing it.

There are unhealthy habits that you can have that will have detrimental effects on your skills. Nobody has the same amount of weaknesses, everyone is different but I would like to highlight some areas that I needed working on (heck still need working on). Hopefully these things will help you recognize some improvements that you can make to yourself.

Stop using google as your personal library

Yes google is great. Search what you want and there is a high chance that you’ll find it. It is even more empowered by things such as stack overflow questions and medium articles. Let me reiterate, it’s great but it can lead you having some bad habits.

When in the middle of development you might come across certain problematic scenarios where you might have questions. Asking a teammate would help but googling is easy and fast. So you do so and then find multiple pages that fit your answer. Then you have sort and filter out what you need and see if it applies to. You find your answer and apply it to your code. Job done.

How you start and reach the end of this journey matters. By a lot. If you don’t fully understand the solution present in front of you at that moment, you will never truly understand… Without that essential understanding, yourknowledge does not go with you when you apply new solutions.

True understanding leads you to fully asses if a particular concept is relevant for you in the future. You can challenge that idea, contribute it, mold it to make it your own.

Create time for yourself

Another constraint is time. You are working on delivering a feature, you lack the knowledge or at least the initial idea to apply a solution for this feature. You might come to a situation when your solution that you looked up mentions a new function or a new concept. This leads to another thing you don’t know about or have little knowledge on. So look that up and it tells you something new that you need to read up on. You might think, “I don’t have time to fully understand, I need that solution now”.

You are right. You don’t have the luxury of time, you can’t be forever look things up, in the end you wouldn’t accomplish that much. You are right. But you gotta follow it up with some time later to actually study.

Even better if you factor in time to study as part of your work. Fully understand the technology that you are working with, and any further applications you can have at. As developers (no human beings) we should expect that we are in a state of learning all the time.

If you never actually come round of doing this work, that’s just potential knowledge you are letting slip through your fingers.

Study. Study. Study.

This leads to the final point. Taking time to study. Organized studying. Taking notes, doing exercises, test your knowledge by doing an exam. Even better, applying that knowledge yourself with a test project.

Sounds familiar? You may be over it, but if you have experienced student life (the studying part) this process is all to familiar to you. It’s an attitude that educational systems try to cultivate and condition. Because studying isn’t a natural talent that all people have.

Studying is a skill, it’s something that gets trained and practiced and honed to be great. There are ways to maximize your studying with actually retaining knowledge. Techniques to make sure you actually make sure you are learning and not glossing things. For example:

  • Taking notes
  • Using flash cards to review your knowledge
  • Perform exercises
  • Taking tests

These are tried and true methods that can work for you.

In conclusion

Hopefully this article got you to think a little bit more about what your situations that you have when it comes to learning new topics! Remember that you never truly stop learning!

© 2024 Bob Haring