Programming is hard — Part 3: It gets easier.
I am most certainly not a genius. I’ve never taken an IQ test (because I do not care to know). However, as a child learning new things came quite easily to me. I loved Math and could solve complex problems that left some of my teachers in awe. I didn’t spend as much time studying as most of my peers did. It was awesome! And then my dad brought home a computer. It was an amazing machine! I spent a lot of time on it playing games, listening to music and browsing the internet. I felt I was going to be some kind of computer whiz. In Junior High things got more interesting. I was taking IT classes in school and I excelled without even trying. I felt like a king. Immediately I graduated from High School, I knew I was going to be a developer . I had even started taking python classes. Fast forward to first semester in the university, I started struggling. I was failing classes, missing deadlines and felt I had been flung into a raging tornado. I was a CS major and I still loved this stuff so why had it become so hard?
I had never learnt how to learn so I found it near impossible to start now. I felt like giving up and I wanted to drop out in my first semester. I managed to hang on but knew I needed to find a solution and I did. It was quite simple: practice, repetition and consistency. I had to put in the work. I started reading books on programming and practicing everything I learnt. It felt inadequate because I really wanted to build amazing applications but most of my programs were console apps. I forged on and realized I was getting better. It kept me motivated. I knew I needed to be accountable to someone. I asked a mate from high school for assistance. He was also a programmer. I would tell him exactly what I planned to accomplish by a given deadline. This made me more driven since I was accountable to someone other than myself.
I’m in my final year in college now and although I have still not built the kind of amazing software I dreamed of as a kid , I have built quite complex web applications used by students in my school. I have worked in various teams both as a front-end developer and a back-end developer. I am far from the finish line albeit not at the starting point. Programming isn’t a skill people are born with. It takes years of practice and a whole lot of commitment. If you genuinely love this stuff, put in the work, go hard and you will be rewarded!