My journey into Software Development
Tags: webdev, programming, motivation, adventofcode
Published: 2023-05-15 21:52:39

Hello there!

Let me start by introducing myself. I am Luqman Shaban, an aspiring software developer pursuing a diploma in software development. I was born and raised in Kenya, and I have an obsession with solving problems and building stuff.

My journey in programming started after I completed my high school studies. At that moment, I wasn't sure what I wanted to do. I had expected at least a B- in the National high school examinations, but the results I got kind of slammed the door in my face; I got a C-. I was devastated and extremely stressed. I had a thing for aviation and thought maybe I should give it a try.

Coming from a normal household in Kenya, the odds were almost 60-80% against me. Aviation is quite expensive, and I decided to try out something else. In between my search for career paths, I came across computer science. My parents and close family members had suggested that I take a few courses to keep off idleness, and anything to do with computers was one of their suggestions.

So I researched computer science and its subsets. That's when I learned a thing or two about programming. I also found out that there were many online resources that could help me learn a few things for free. So I searched for programming lessons online, specifically on YouTube.

To be honest, it wasn't as easy as I thought it would be. There were hundreds of long videos all over YouTube, all claiming to take a beginner from zero to hero. As expected from any beginner, I fell into the rabbit hole, jumping from tutorial to tutorial. Eventually, I got tired and gave up.

I went back to my normal boring life, browsing social media all day, basically wasting my precious time. It felt comfortable at times, but at the same time, I felt like I was wasting my life. I continued this for about three months until I decided enough was enough. I had to pull myself together and turn my life around. So I decided to go back into the programming world.

I came across a Python course on Alison, an online platform providing online courses. It was a course created by Microsoft with great reviews. I took the course for like a week and dropped out. I wasn't sure why, but I wasn't feeling it. So I decided to browse on YouTube again. I came across this beginner course from John Smilga: https://youtu.be/mU6anWqZJcc. I decided to stick with it, and it actually turned out to be a good idea.

I learned the basics of HTML and CSS in about two weeks. I really liked it, and I finally felt that I achieved something great in my life. When I completed the basics of HTML and CSS, it was time for JavaScript. To be honest, the name itself was scary. I never expected it to be as hard as it was when I first came across the language. At that point, I started doubting myself again and thought of moving back to Python for its simplicity compared to JavaScript.

At some point, I realized that JavaScript was the language of the web, and even though learning Python wasn't such a bad idea, JavaScript was the way to go. So I decided to battle my fears and get out of my comfort zone. I enrolled in Meta's Front-end Development course on Coursera. I can proudly say that that was one of the best decisions I have made in my journey to become a software developer.

The course laid a clear path in front of my eyes, and I had a perfect roadmap. I finished their HTML, CSS, and JavaScript course in around three months. My confidence was on top of the roof, and I started working on small projects and doing some online challenges. In the process, I enrolled myself to Software development diploma program at Institute of Software Technologies.

It's been almost 8 months now since I started programming, and I've learned a lot throughout the journey. At the moment, I can confidently say that I'm a developer. Even though I lack real-world work experience, I can create a simple full-stack web app from scratch. Here's my main project that I'm currently working on: https://luqmanshaban.github.io/swahili-client/, and here's the source code: https://github.com/luqmanshaban/swahili-client.git. (I would very much appreciate your time if you check it out and return feedback. This will help me grow and become a better developer.)

I know that there's still a lot to learn and more walls to break, and I can't wait to get there. All I know is that life is a journey with highs and lows.

If I were to advise a beginner or anyone looking to transition into tech, here are some important takeaways:

1.**Do your research** – It's important to research if you really want to go through this path and if it's a field you see yourself in five to ten years from now.

2.**Start with the basics** – I'm assuming that you've done your research and you're ready to start your journey in the programming world. There are many paths you could choose, i.e., Web development, Data Analytics, Machine Learning, Cybersecurity, etc., but it's hard to pick. I suggest you start with understanding the basics of computer science and understanding how the internet works first. After you have the general knowledge, my advice is to learn HTML and CSS regardless of what path you're going to choose. This will help you no matter what path you choose.

3.**Stay disciplined** – Programming can be very difficult, and you will always have the urge to quit, always! Whenever you experience these moments, always remember your goal and why you chose this career path.

Last but not least, always take a break whenever you feel tired. This will prevent you from having frequent burnouts.

Remember what Marcus Aurelius said,

>  The impediment to action advances action, what stands in the way becomes the way.

If you've been through a similar situation, please feel free to share.

connect with me: https://www.linkedin.com/in/luqman-shaban/