Where To Start When Learning How To Code — My Perspective

Mercy Tum
5 min readOct 17, 2020
Image from https://oms.systems/

I am about a year old in my coding journey as I officially started coding in September 2019 thanks to an initiative by Google and Andela. Before this time, I had actually tried learning how to code on my own, and I never really got it right because I had a hard time knowing where to start, how to go about it, and if I was even doing the right thing. I always got blockers and didn’t have people who could help me resolve them and thus I kept pushing my coding journey aside or just putting it on hold until I joined the Grow with Google and Andela program.

The program got me started with HTML5, CSS3, and JavaScript. It also introduced me to Angular, but I didn’t really delve deep into that. Once the program was done, I made a simple portfolio just to test my newly acquired skills, and that helped me get the hands-on experience that I desperately needed.

A few months later, I got the chance to join the Microsoft Leap Apprenticeship Program, a chance that I would never have gotten if I had no prior experience. Here, I learned a lot about Software Engineering, starting with Data Structures and Algorithms as well as the design and analysis of algorithms. I also learned about programming fundamentals using the C# language, the ASP.NET framework, the C# Entity Framework, and the Microsoft Bot framework. I did a lot of coding challenges and worked on a bot project at the same time. This was a busy 3 months for me but it was worth it because I learned so much within a short period of time.

From all this experience, I can confidently say (though I welcome any other suggestions) that if you are starting your coding journey today, or if you just got started you should consider doing the following:

  1. Start with learning programming fundamentals. This would need you to use a programming language such as Python. However, you can also do this with strongly or statically typed languages such as C, C++, and C#. I would highly recommend C# because I really like it, I found it to be easy to learn and debug, and it also has really good documentation. With this step, you should be able to familiarize yourself with the programming language’s syntax, its data types, using operators, conditional statements, and even how to comment. This is a very essential step and has some similarities in all programming languages.
  2. Learn about data structures and algorithms. Before you start building anything or start working on projects, it is very important to learn and understand the different data structures and algorithms that exist. Many people who start coding avoid this step because they do not see its value or find it to be pretty complex, however, I would insist on doing this because it will teach you how to solve problems, which Software Engineering/Development is all about. More so, it will help you not only think of how to solve a problem but also help you find the best way to do so. Specifically, you will learn about time and space complexity, which are important aspects that need to be considered whenever you try to find and optimize solutions to problems. Also, going through this step will help prepare you for many coding interviews as this part is mostly used to assess candidates on their technical skills. Some of the resources (freely available) that you can use for this include:

3. Decide on where you want to focus on; whether front-end or back-end. You can do this step after getting familiar with the common data structures and algorithms from step 2. Some would argue that this should have been the first step, but I think it should come sometime later, after getting familiar with Computer Science concepts. My personal recommendation, specifically for people who want to do web development, would be to start with the front-end, and this would include learning HTML5, CSS3, and JavaScript. This should help you get started with web development and once you are comfortable and familiar with it, I would also recommend that you also learn about the back-end languages before making a final decision on where you stand on the matter. This would include learning MySQL, and C# or Python.

Image from https://www.seobility.net/en/wiki/Frontend

4. Finally, work on a project. This step should help you to sufficiently showcase your newly acquired skills. This should be done especially while learning the front-end and back-end languages in step 3. You could do very simple projects that allow you to have hands-on practice and with this, you should also be able to learn about Git, a very useful tool for developers, as well as GitHub, a platform that allows you to manage your Git repositories.

5. Find a mentor/get support. This is very important because you will get stuck and have questions along the way (just like I did when I was learning on my own). In case you are not able to find a personal mentor, there are different tools/platforms you can use to get help. These tools have helped create a community that provides support to developers and help them get unstuck as well as ensure that they stay motivated through their coding journey. Some of the popular ones, which also helped me a lot include Stack overflow (https://stackoverflow.com/), Facebook communities, and Twitter. Also, because I participated in the various coding programs, I was able to be a part of their respective communities and joined their Slack, Teams, and Facebook channels.

I know this sounds like a lot, but if you follow the steps and take your time in understanding each of them you will definitely find the process to be easier and fun! Additionally, I would also recommend that you apply and participate in as many coding programs as you can as they help provide you with the guidelines and support that you need as a newbie. These programs also teach you how you to work as a team, an aspect that is as important as learning the technical skills because teamwork makes the dream work :-)

With that, I wish you all the best in your journey!

--

--