My coding journey so far — June 2023

Sun Jun 01 2025
ProgrammingJavaScriptCodingWeb Development
NOTE: This is an original article I published on my Medium account in June 2023. The link to the article is here

My path

I can’t remember the first time I saw a computer but my family had a desktop computer in our house. I used to play video games (especially Pinball) and play around with the Microsoft Encarta application on the computer. I also remember using the computer room in my primary school, where we would learn the simple basics of a computer like using Microsoft Office Suite and also where I would sneakily play the Need For Speed game on one of the computers. Those were the good old days! My early years were full of computers and computer-like devices (eg. my PlayStation 1 console which I loved) but I never really had any deep interest in them. I just knew they existed and I played around with some games and applications on them.

As I got older and got into secondary school, I still had no deep interest in computers or coding or anything similar. My secondary school also had a computer room (we called it the computer lab at school) where we would have our computer classes. I can’t remember exactly what we did or studied then but what I do remember was that in one of my senior years in school, we were taught HTML but I never really bothered to learn about it or understand it, maybe due to the teacher or me just not being interested. I still had no deep interest in doing anything related to computers. However, I decided to write Computer Studies as one of the exams in my IGCSE GCE O Level Examinations in my final year of secondary school. Out of the total 6 exams that I wrote, Computer Studies was the only exam where I got less than an A (I got a C in it). Truth be told, it was my filler subject to make up for the 6 exams I needed to write. I still had no real interest in anything computers or computing.

After secondary school, I went on to do A Levels at a school in Oxford for 2 years. My subjects comprised only Mathematics, Further Mathematics, Physics and Chemistry. Still no deep interest in coding or computing yet. I applied and got into Imperial College London to study Electrical and Electronic Engineering. This was really the beginning of the journey for me.

So I started at university after my A Levels. One of my modules was Introduction to Software Engineering and oh my God, it was tough. I remember one of my first few classes for that module in the computer labs and I was stuck. I had no idea what was happening. I also remember looking around and seeing so many smart people around me, not just smart people but people who had been coding all their lives. The imposter syndrome hit me like a ton of bricks. The language we were learning was C++ and anyone who codes or knows a thing about programming languages knows that C++ is NOT a beginner-friendly language to learn. At that time, I didn’t know this because I knew nothing about coding then. As time passed, I learnt more and became more comfortable with the language. Our first assignment was to write code to convert between the Phasor Diagram form and Sinusoidal Waveform used to describe the relationship between 3-phase voltages and currents in a system. The assignment went well and it worked. Our second assignment was a bit tricky. We were asked to code the game ‘2048’. I never finished mine and as you can imagine, I didn’t do too well overall in the Introduction to Software Engineering module. It was a good experience but it was tough.

In my second year of university, I did two Computing modules, one of them was Algorithms and Data Structures and the other module was Computer Architecture. The latter is technically programming but for the purpose of this write-up, I won’t talk much about it. Let’s just say that the first assignment went well but the second assignment that we were asked to do over the Christmas break went half-well but that is by the way. The focus of this write-up is on the Algorithms and Data Structures module. As you can see, I was starting to build up a habit of not finishing assignments which was not great. My first assignment in the DSA module was on binary trees. I started it, wrote some functions and then submitted it like that. Unsurprisingly, I didn’t do well in it. I got to a point of reflection in my life after this. I felt like a failure. I knew how to code but I don’t think I was trying enough, especially in these modules. University was tough for me altogether but this thing of not finishing assignments was getting to me especially when my best friend at university was always finishing them. So I picked myself up, asked for his assignment to see how it worked and I understood it. The second assignment built up on the first assignment but because I didn’t do the first assignment, I basically did both the first and second assignment altogether. This was the beginning of my liking towards programming. I enjoyed myself while coding solutions to the problems we were asked to solve and my code worked. It was such an amazing achievement for me. I felt so happy and that was when I started to believe in myself. But this was where I also didn’t believe in myself. I’ll explain.

After my second year of university, it was time to focus on a path. Part of me wanted to go the computing side of the journey but I was scared. I allowed the imposter syndrome and the fear to get to me. I convinced myself that it would be easier if I didn’t go the computing side of things and boy was I wrong. University never got easier. I also lost my mother at the beginning of my third year.

I had chosen the more power/electrical-focused path. I continued with my university education but I knew deep down, something wasn’t right. I don’t mean something wasn’t right about my chosen education path post-second year but something wasn’t right in my life in general. I felt like I wasn’t focused. I was struggling and I didn’t want to tell anyone. It also didn’t help that the Covid pandemic started in the second half of my final year at university. Graduation couldn’t come fast enough for me. Before then, I got a job offer to work at an Engineering Consultancy firm as a Graduate Electrical Engineer.

Fast forward to starting my new job. I had achieved my goal of getting a job in the UK and I was happy. But deep down, I still felt something wasn’t right. My life felt like a mess. I was coasting through life. I had no real goals or ambitions. I was a shell of myself. I was in a relationship at that time, which ended at the end of May 2021. At that time, I was angry, sad, all the emotions that one can I feel. Looking back on it, she was right to want to end things. Anyways, I started to learn Python in 2021 but I never really followed through with it. I did a small project from the course which helped me to learn and understand a bit more about Python but I just didn’t have the drive to continue. Fast forward to December 2021. I spent Christmas alone in my flat and it was sad but worth it. I always tell myself that in everything that happens to us in life or anything that life throws at us, there is always a lesson to get. Spending Christmas alone made me realise how depressed I was. I wasn’t physically healthy (I was obese), and neither was I eating healthy or even exercising. Everything changed that Christmas. I decided that in 2022, I would change my life. I started exercising, eating healthy and just trying to live a healthier life overall. I dropped from weighing 128kg in December 2020 to 100kg in November 2022. Starting my gym journey really helped too. But I still had a bigger goal that I was avoiding and I knew this. My goal: Become a Software Engineer.

At the beginning of 2023, I knew I needed to go full steam ahead with my goal. I started learning the basics of HTML and CSS by watching videos of Brad Traversy recreating websites like Hulu, Microsoft, Netflix, etc. After watching a few videos, I felt ready. Then I jumped into the unknown and tried to recreate a website I found online. I was stuck! I didn’t think this at the time but I have now realised that it is absolutely normal to feel stuck when starting out a new project or trying something on your own. So I went back to the drawing board and step by step, I recreated the website’s visuals. I was so proud of myself. I didn’t make everything to the exact but at least 85 to 90% was the same. I loved the visual aspect of it and it was nice getting immediate feedback on how your design looked. This was in February 2023. But I knew there was still more to learn and in the middle of March, I took the plunge to learn JavaScript through a course on Udemy by Jonas Schmedtmann. As of writing this, I haven’t finished it but I am 80% done with the course. It was a struggle because it involved watching videos and coding along but I needed it to learn the basics. As I kept on watching the course and coding along, project ideas kept coming to my head and I kept writing them down in my ‘secret book’. At the beginning of June, I decided to use JavaScript to build something from scratch for the first time. I decided to build a simple calculator with similar functionalities to one I found on a website. I had to take the time to understand the logic to use and it meant me doing, undoing and redoing so many times. But it was worth it. It finally worked as expected after about 3 weeks of coding! As this is my first-ever project, I know that there is some refactoring that I can do to make it more efficient. I wanted to wait till after I was done coding the calculator to draft up this write-up.

Now that I am done with my first project from scratch, I have a few things I would like to do moving forward. The first thing I want to do is build my portfolio website structure. I’m hoping I can build and style it in a day, but I need to find a good design to base it on. The second thing I want to do is finish the JavaScript course. There are a few modules left that I know will be useful to me moving forward. The last thing I want to do is start my next project. This one involves using APIs and possibly Chart.js. I have learnt about APIs in my JavaScript course but that was the module I decided to pause to start the calculator app so I will probably go back to the beginning of that module.

Conclusion

I have learnt a few things on my journey so far.

The first thing is that it is normal to be scared. I was absolutely terrified and still terrified but I have a vision for my life and I am willing to make the sacrifices that I need to make to get there.

The second thing is that the best way to learn is to build something no matter how small. I know that I have actually only built two things so far, the website recreation and the calculator app. But when I move forward with my plans, I will hopefully have added two more projects to my name.

The last thing I have learnt is to code every day. If it may not be possible to do it every day, at least every other day. But try to code every day if you can do it.

I know I have a long way to go but I am proud of the progress I have made so far. I have friends who are in this industry and who are ready and willing to give me help when I need it.

LET'S CODE!