Photo by Glenn Carstens-Peters on Unsplash
Discovering my passion for programming: My coding journey in 2022
Sharing what I learned throughout the year
How I Took the First Steps in Learning to Code
The lockdown was over, but my college hadn't opened yet (I was pursuing a diploma in computer engineering at that time ) and I was sitting at home with nothing to do. During that time, I learned about the stock market and became fascinated with it. However, I was not particularly interested in technology, and I never imagined myself becoming a programmer. But as the days passed, I started to feel the urge to learn something new and challenging. Suddenly, I decided to start learning to program. I had always been curious about how technology works, and I realized that programming was the perfect way to dive deeper into that world. With my newfound interest in programming, I started my journey with java and I picked java because it was quite popular at that time.
I learned about Java from YouTube tutorials and blogs, but I was very curious about when I would be able to start developing apps or websites. I found that the instructor was teaching me only about some algorithms and I was not satisfied with the learning process. I wanted to see some practical examples and real-life applications of the concepts I was learning.
College reopened
When my college reopened, I had two programming subjects in my curriculum, Python and Android development. I was completely unaware of these things and I knew that I had to catch up fast. The first subject I tackled was Python. I knew that it was in the syllabus and I was already familiar with Java, so I thought Python would be easy for me to learn. As it turned out, I was right. I found Python to be an interesting and easy-to-learn language. I explored some of the famous libraries in Python like Pygame and Tkinter and made some amazing projects with them. One of the projects I created was a Decision Review System (DRS) which was used to make decisions in sports matches by analyzing the footage. The DRS was a great learning experience for me as it helped me understand the concept of image processing. I also created a snake game and a shooting game that were simple but fun to play. These projects were great opportunities for me to practice my programming skills and also showcase my creativity. Overall, learning Python was a great experience for me and I was excited to learn more about it.
Fear of Android Development
As I mentioned earlier, I had Android development in my curriculum and it was a subject that everyone in my college was afraid of. The reason was that it has a large code base and a very complicated architecture to learn. Many students were copy-pasting the code for their practicals and not understanding the concepts behind it. However, I decided to give it a try and landed on some YouTube courses that were teaching about Android development. At first, I was not even able to create a basic "hello world" app and failed many times. But I did not give up, I kept trying and finally, I figured it out. I started creating basic apps like a calculator and a to-do list. And then I decided to create a similar app DRS (Decision Review System) which I had created in Python. It was a great opportunity for me to apply my knowledge of Java and Python to Android development. I had a lot of fun learning about Android development and I was proud of the projects I created. This experience taught me that even though a subject may seem difficult or overwhelming, with determination and persistence, anything is possible.
Web development a new beginning
My diploma was about to end and there were some competitions organized in different colleges. I found out that almost all of the competitions were about web development and web designing. As I was again unaware of web development, but still, I decided to take part in the competition. I had one week before the competition starts and I decided that I will learn web development in a week. I started with HTML as my diploma was about to end and I had to prepare for my exams as well. In a very short time, I completed HTML and learned a little bit of CSS. Later I was unable to attend that competition because I had my viva on the same day. I started learning web development because of the competition, but later I found it very interesting and fascinating. I was particularly intrigued when I was introduced to javascript. I continued my web development journey even after my diploma and learned JS, and React JS and created some amazing projects like a music website, a job website and a dance website. I was able to apply my web development skills in creating interactive, responsive and dynamic websites. It was a great learning experience for me.
Beginning of DSA
As my diploma was over, I had three months' holiday before my BTECH started and I found out that many people are doing competitive programming. I did some research about competitive programming and some misleading YouTubers influenced me to do competitive programming as well. I decided to start competitive programming and gave a pause to web development. At first, it was quite difficult as I was not even able to solve some simple problems on Hackerrank. I decided to start learning Data Structure and Algorithms (DSA) and searched on YouTube for good courses. I found many courses but still, I was not able to solve some questions and many concepts were unclear. I felt like giving up but then I found a random video on LinkedList and decided to see how the YouTuber teaches. It was a long 4 hours video but I never realized when time passed because that YouTuber (Kunal Kushwaha ), was teaching on a different level. After that video, I became very confident in my DSA and problem-solving skills and solved 70 questions on Leetcode to date. The main thing is that he opened my eyes to competitive programming. I learned that competitive programming is not necessary, what's important is to understand the concepts and how to apply them in solving problems.
When I found out my interest lies in the backend
I was struggling with frontend development and CSS, specifically centring a div. I tried a lot of different methods and tutorials but nothing seemed to work. I realized that I was more interested in backend development than frontend. As I was doing Data Structure and Algorithms (DSA) at that time, I decided to start backend development with Node.js while still continuing with DSA simultaneously. I looked for some YouTube courses but most of them were not complete, so I decided to invest in a Udemy course. I completed the course in 2 months (I gave a pause to DSA) and I am now very confident in my backend skills. I am able to create RESTful APIs, user authentication systems, and real-time chat applications using Node.js, Express and MongoDB. After exploring for a year, I finally figured out where I am good and I know that I want to continue to pursue a career in backend development.
Conclusion
That is all about my programming journey to date and I would like to share some advice with you. My advice would be to keep trying until you figure out what you love. Just like me, you may have to explore different programming languages, tools and methodologies before you find the one that you are passionate about. The programming world is vast and you never know what you might discover.
As Steve Jobs said, “You’ve got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking and don't settle."
Keep an open mind and don't be afraid to try new things. You never know what you might discover. The programming world is vast and there are so many opportunities out there. Don't give up on finding your passion. It may take time, but it is worth it in the end. Remember, the only way to do great work is to love what you do, so don't settle for anything less
#WeMakeDevs