What is the best way to learn programming?

As a beginner, some of the questions that will come to mind are. Where should I start from? What programming language should I start with? How do I start writing codes? I have got amazing ideas, how do I build these ideas? How can I become a software developer? Tonnes of such questions keep coming. 
Before I will advise you to go by our mantra at Code.ng "JUST Code It" you will have to learn how to code first before you can code the ideas into projects. Below is my advise for starters, beginners in the developers world. Be it a software engineer, data scientist or engineer. 

First as a beginner you would need to Learn fundamentals of programming. You can learn basics of any programming language of your choice from interactive websites like codecademy or freecodecamp. For videos lovers, I will recommend plural sight and Lynda. But before that, you need to know which programming language to learn and with this, the next question comes to mind.

What programming language should you learn first?

Many beginners have had issue choosing a particular language to start with. My short and simple answer is that your should start with either python or Javascript.

 Once you know one language, whether it's Java, C++, C#, Go, python or any other language. As long as you know one, it is going to be much easier to learn any additional languages because all programming languages are sort of similar. But you need to consider three things as you pick your programming language of choice. 

The first is the Job market which depends on your location and industry you want to go into. So first search for the job posting of the kind of jobs you're interested in and check out their requirements. 

The second point to consider is What you want to build? So if you want to go into iOS apps or anything Apple Inc related, just go for Swift. For Android apps, go for Java first, then Kotlin. For those interested in building websites, JavaScript, HTML, and CSS are your tools. For those who love numbers and wants to marry Data, your languages are Python and R. For Game lovers, your roses are C++ or C#. There are lots of different options depending on what you want to build. 

The third point to consider is ease of learning and that's why we previously mentioned Python and JavaScript is the next in line. 
So to get started, find something that's in demand, let you build something of your dream and relatively easy to learn. Make sure to learn logic because that's the basics of problem solving. 

Back to our main topic "What is the best way to learn programming?" 
After you have chosen a particular programming language, Learn the basics like variables, functions, arrays or lists, for loops, if statements, classes and objects. While you are learning the basics, build small projects. Learn with projects. 

Start by building your personal projects, start with the simple before moving to complex. Do a lot of simple projects to practice what you've learnt. These projects will also help in building a portfolio.
How to choose which project to work on?

Choose something you are interested in doing. Like video games if you like playing video games or portfolio website for photo lovers. If you like trading stocks or bitcoin, you can build a system that analysis stock charts. Just build something that will keep you motivated. 

We mentioned simplicity earlier. Start with something that's really simple. Something like tiktaktok for a starter. Build something useful for yourself or a friend. This will give you extra motivation and focus.

As a beginner, you might get stuck, so you should know how to get help from people using google and stack overflow. 

To search google for errors you encounter, make sure to put the error you want to search for its solution in quotation marks. Stackoverflow is programmers best friend. Make it a tool.

Also, it is advisable to join facebook groups like "Freecodecamp Earth" or any of your community Facebook developers group. For those in Nigeria, I will recommend facebook developers group Lagos. There you meet amazing people who are willing to help and did i mention the admins? They are very nice set of people. You can follow or add them as friends. You can join language specific groups too like Java or Pyhton groups.

Also, getting involve with offline communities is great. There are tonnes of events on meetup and facebook events. All you need do is search for the language you are learning on facebook and click on the Event button and select your location to see events in your location by programmers with same interests as you.

After learning fundamentals of your programming language of interest and getting involved with both online and offline communities, try get an Internship. Paid internship. 
Working with other software engineers open your eyes to so many things, so many opportunities and solutions to solving problems. With feedbacks from new friends who are senior or more experienced programmers, you will be able to lean much faster and get paid at the same time. 

There are different ways of applying for Internships. Like searching through online job sites like Ngcareers, jobberman or HotjobsinNigeria. But the one method I will recommend is networking. Especially in a country like Nigeria where the ate of unemployment is high. Networks from meetups and communities are great ways to get an Internship. As a beginner, you really don't have a strong resume or CV to show off, so it's going to be really hard to stand out from other candidates but with recommendations from friends you meet during meetups or from the offline or online community you belong, it makes it easier to get a job or internship. 

It's also good to volunteer. It's not always about asking, so don't just ask for help in meetups but also volunteer your time to work for organisations, that way you will be able to build more connections and network quickly. 

You may like these posts