Coding Heaven logo

Coding Heaven

Programming 101: How to get started?

    Category: Professional Development
Author's Photo

Author: V.

Date: 6/9/2025

Thumbnail for Programming 101 Article

programming-101

Hey future dev, this is V, and today we're going to talk about how to get started in the overwhelming world of programming. I'm going to assume you've been thinking about starting a career in software development—or maybe you're just curious, looking to learn for fun or as a hobby, and want to build something on your own.

Whatever your reasons are, I’m here to help you navigate the many different directions and paths you can take. So get comfortable, grab a notepad and pen, and let’s get started!


Do I need to be good at math to become a developer?

For everyone worried about whether they need to be good at math to become a developer — my answer is no, you don’t have to! When I was in middle school, I struggled with math and geometry, but that didn’t stop me from becoming a software engineer later on. If you know basic arithmetic and algebra, then you are good to go.

Of course, if you decide to pursue a computer science degree, you might encounter calculus and discrete math, but even then, it’s totally manageable.

 I will be transparent; I had to put some effort into my classes for these subject, but I promise you—it is doable! So if I could do it, you can do it as well.

How I Approached It: My Starting Point

Going back to the topic, I started my learning journey in 2020, and my first programming language was JavaScript. I wanted to build a simple portfolio website to showcase my graphic design work.
So, I began with basic HTML (Article. HTML: All you need to know) and CSS — luckily, I had taken a class on those in college, so I was somewhat familiar with them. JavaScript, on the other hand, is a different beast. It’s a scripting programming language (which you probably gathered already) mostly used in web development.

Back then, I used FreeCodeCamp since they offered a lot of free courses. I practiced exercises like building a magic ball and a rock-paper-scissors game — all very basic logic programs. These helped me learn the syntax and gave me a solid foundation to move forward.


After that, I took a course to learn about Node.js and actually building APIs (Please don’t be intimidated by these complex terms just yet; I’ll explain it in a new article.) I’m just sharing this to give you an idea of my learning path. And after that, I started to learn more classic backend languages such as C++ (oh yeah!), Java, Python and my last language is C#, that I am currently working with ☺️

Besides that I also worked with front-end frameworks like React and Angular.


Frameworks are usually collections of reusable code that provide a structured way to organize your application. Almost all popular languages have frameworks.

So, here’s my first piece of advice: pick a direction that really interests you. It can be web development, or maybe mobile, or maybe are you looking at AI and machine learning?

Exploring Multiple Paths: Web Dev, Mobile, or AI?

Before you decide on your first focus area, I want to walk you through a few common paths.

Web Dev

As I already mentioned, web development is probably the simplest and most popular starting point for new developers — or at least it used to be. The idea is pretty straightforward: anything you interact with in your browser is a web application. This could be a dynamic website or a full web app like Figma, Microsoft Word 365, or Gmail .

Web developers use a variety of tools and technologies. A long time ago, it was just HTML, CSS, and JavaScript. But as the industry grew, developers created more tools and frameworks to make life easier (or more complicated, depending on how you look at it — haha).

Mobile Development

Mobile development, as you might guess, is all about creating apps for mobile devices. Just check the App Store or Google Play—every app you see there was built through mobile development, using technologies like Kotlin, React Native, or Swift (for iOS). It’s a great field and can be really interesting to dive into.

However, the market is smaller compared to web development, and the barrier to entry is higher. You'll need to work with emulators or actual devices like Android phones or iPhones to test your apps properly.

Machine Learning and AI

Artificial Intelligence and Machine Learning are all about teaching computers to think, learn, and make decisions without being told exactly what to do. Instead of writing a bunch of rules, you feed the system a lot of data, and it learns patterns from it.

If you’re interested in working with data, logic, and real-world problems, this is a super powerful field. It’s a bit more math-heavy compared to web or mobile development, but also really fun and creative. The most popular tools are Python, TensorFlow, and PyTorch for training models.

However, it can be quite math-intensive, and to be honest, not many companies are doing it extensively right now. So yes, you can use AI, but creating and training actual models can still be pretty expensive—for now.

Backend vs Frontend: What’s the Difference?

Since web development is probably the most popular and in high demand skill, let look closely to it. it consist of front and back end.

Front-End Development

Everything you see and interact with on a website is part of the front end. Buttons, images, text—these are all UI (User Interface) elements. A front-end developer is responsible for making sure the UI looks good and works as intended. The front end also handles sending appropriate requests to get data from the back end.

Front-end developers typically use HTML, CSS, and JavaScript to create user interfaces. Nowadays, we often work with frameworks and libraries like React, Angular, Vite, andNext.js to make development faster and more efficient.

Back-End Development

Think about it as a hidden fron a client code that gets user data process it, perform certain action with it and retur na response.
Think about logging into your account: the system has to verify your credentials retrieve your messages, and load your feed — all of that is handled by backend code. However, what you actually see in your browser is only the front-end part, also known as the client side.
The most common languages that are used are C#, Java, and Node.js – runtime environment for JavaScript. Also you have to be able to work with databases, SQL and NoSQL (all your messages, login and password data are stored in a database and when you request your account from a server it also sends requests to the database to get your data).

The Difference

Back end:

This is everything that happens behind the scenes on the server. For example, when you send a request to get your messages on Facebook, the server might return something like (JSON):


{
  "conversationId": "c123456",
  "participants": [
    {
      "userId": "u001",
      "name": "Alice"
    },
    {
      "userId": "u002",
      "name": "Bob"
    }
  ],
  "messages": [
    {
      "messageId": "m001",
      "senderId": "u001",
      "text": "Hey Bob, how are you?",
      "timestamp": "2025-06-09T10:45:00Z",
      "read": true
    },
    {
      "messageId": "m002",
      "senderId": "u002",
      "text": "I'm good, Alice! You?",
      "timestamp": "2025-06-09T10:46:10Z",
      "read": false
    }
  ]

}

You can’t really expect your users to interact with it properly — and that’s where the role of the frontend comes in. 😎

Front end:

This is the part the user sees and interacts with. In the Facebook example, you’d see a nicely designed UI showing your actual messages laid out clearly.

Roadmap for becomeing a dev

What should you know if you want to work with Web Dev:

Front-end:

👉 HTML

👉 CSS

👉 JavaScript

👉 At least one of the JavaScript Frameworks, such as React, Angular or Svelte

Back-end:

I would recommend knowing at least two backend languages: one in depth, and another you should be familiar with. My recommendation are:

👉 Python
👉 Java or C# (these two are quite similar to each other)


Here are some popular backend frameworks for these languages:

👉 Python: Flask or Django
👉 Java: Spring Boot
👉 C#: .NET (technically, you can’t work with C# without .NET)

Also you have to know how to work with databases, you need to learn SQL, and it’s also nice to have a NoSQL database.

Many SQL databases use a similar query language syntax, so you can start with any of them. However, C# mostly associated with Microsoft SQL Server, and Java often pairs with PostgreSQL.

If you decide to learn NoSQL, I recommend starting with MongoDB.


Recommended Resources for Learning

While I am working on articles to help you learn more about devs, I am going to leave helpful links here, that I used to tech myself programming.


Good luck and Happy Coding!
💬 Comment Section