Let’s face it. We, the non-engineering background people, usually see the world of codes with fearful reverence.

Nonetheless, we want to learn it with all our hearts (at least a few of us genuinely do).

And we believe in some myths like, “You need to be super-good at maths to be a programmer,” etc.

Now I’m a business grad. And I have been in this phase.

But thankfully, I have been working in a software company for a few years now.

Almost everyone codes here to some extent.

It motivated me to start again.

In this write-up, I will try to give you some tips and share my journey so far.

Step 1: Figure Out Your Goals

Coding or programming is a vast field. It’s virtually endless. So, if you don’t have a plan with concrete goals, you will likely get lost.

Please ask yourself what you want to achieve by learning to code.

It may be to make your resume look more tech-savvy, or even it may be switching careers to a full-fledged programming role.

It doesn’t matter what it is but be clear about it.

It is okay not to be sure at the beginning, but soon after that, you should have a clear answer.

Step 2: Start with A Solid Foundation with CS50

Professor David J. Malan
Professor David J. Malan (Image: Harvard Magazine)

It’s the most popular computer science course on the web. Professor David J. Malan, the Elvis Presley of Computer Science, teaches it.

You can start and complete the course on Edx.org for free. But to earn a verified certificate, you must pay a course fee of $90.

It teaches you to think like a computer engineer.

It’s an excellent course. Even if you are not ready to take the entire curriculum yet, go and watch a few minutes of the lectures of Professor David. He enjoys it so much that the happiness will entice you as well.

He will start from the very beginning. And step by step, you will go deeper.

To start this course, you don’t need any prior coding experience whatsoever.

Scratch Programming
Scratch Programming Language (Image: Scratch Wiki)

This course will start with a programming language called Scratch. It’s a drag-and-drop language where you will find blocks for every programming keyword like “if,” “else,” etc. You must build a game or something with Scratch for the first assignment.

Then after week 0, you will start learning C programming. But please don’t get panicked. He will make C a friend of yours if you stick by till the end.

C is an old language, but it is still one of the most powerful. And with C, David teaches how the software works with computer hardware. And, it is the most appropriate language for that, I would say.

After teaching you the essential computer science concepts with C, you will see everyday things like Python and Javascript (HTML, CSS, SQL, etc.).

You will have to solve a programming assignment weekly and submit it via GitHub. A bot will check if your solution is appropriate or not and lets you know if you pass.

I took the course and completed the C programming part only.

My goal is to become a PHP coder, so I skipped the rest of it for now.

But I want to complete the whole course someday, just for the sake of enjoyment.

You can take it by visiting this link.

Step 3: Get a Feel for Object Oriented Programming

As you are reading this blog post, you’re likely to hear of Object Oriented Programming (OOP) somewhere. It is one of the most popular programming paradigms in the modern world. So, to become a solid programmer, you need to understand what it is. I told you before that I plan to become a PHP developer. But I researched that the ideal object-oriented language is Java. So I took some elementary courses on Java to get a feel for OOP.

Object-Oriented Design by Barron and Olivia Stone
Object-Oriented Design by Barron and Olivia Stone (Image: LinkedIn Learning)

This course by Barron and Olivia Stone can be a great starting point. It’s an enjoyable and engaging course. Here you get to know the basics of OOP with real-world examples. To complete this course, you need to have an elementary coding experience. So doing the C part of the CS50 can be more than enough.

In this, you don’t have to code. Instead, you will get to grasp the main idea behind the OOP paradigm.

You can complete it on LinkedIn Learning by following this link.

After this, to better understand OOP fundamentals, I suggest you take two courses on Java. They are also available on LinkedIn Learning.

Both of the courses are by Kathryn Hodge. The first one is “Learning Java” (link).

The second one is Java Object-Oriented Programming (link).

The first course teaches you the basics of Java. And the second one teaches the implementations of the OOP concepts.

(to be continued)