I have been programming for four years now, one year which is programming professionally. My past background is not related to programming at all. I have a bachelor degree in International Business and mostly worked in online marketing jobs. I spent most of my spare time learning how to program. After learning, applying and getting rejected multiple times from several job positions I managed to get my first job as a software tester, which I am grateful for.
Looking back I made some significant progress in my programming journey and I am still learning something new every day. However, I made a lot of mistakes when I started to learn how to program. Small ones, large ones, you name it. That is why I want to share my mistakes here, hoping it can be useful to someone out there.
When I started to learn programming, I spent too much time on learning different programming languages and frameworks at once. I thought I needed to learn all these things at once in order to get a job as a developer. Looking back I realized that was a dumb idea. I was learning multiple things at once but I had no clear direction what type of developer role I wanted to have. Which lead to the second mistake I made.
I realized I learnt programming in a very inefficient way. I had not a goal or direction in mind when I started to learn how to program. I learnt programming for the sake of programming, not for solving problems. I spent too much time on tutorials and online courses. I knew the syntax, but not how to apply the newly acquired knowledge I have learnt.
I know. This is a very dumb mistake. Please don't kill me. When I started to learn how to program I completely ignored debugging. It wasn't for me important to learn at that time. I only started to become serious in debugging two years ago and slowly learning how to debug my code more effectively. I still feel I can improve my debugging skills, but I am making progress.
Readability is an error I made frequently in the past. Looking back at my code four years ago I almost have to cry how inconsistent and terrible it was. Vague variable names, too much nesting and inconsistent indentation were errors I often made when learning to code. Readability matters. It helps to improve the quality of the software for future use, reduces errors and can be used by other developers when collaborating.
The last one is more of a personal issue I have been struggling with. When you enter an industry that is brand new for you, it can be overwhelming. Especially if you have little to zero background in programming. You feel that you're lacking while others seemed to know what they are doing. You think your code is not good enough and that you are not able to contribute to the code.
Self-doubt is a very nasty thing that can completely mess with you. I am slowly learning that it is okay to not to know every thing. I am slowly learning that I must not compare myself to others. I am not perfect and will never be it. And that is okay. There will be a setbacks, but they are temporary. I will continue learning and just doing my best at solving problems.
I hope you guys enjoyed reading this and can be useful to you. Programming can be difficult but is not impossible to learn. Good luck what ever your journey may be.