How to Start your Programming Journey as a Beginner?
Published: 2023-05-10 20:30:10

---
title: How to Start your Programming Journey as a Beginner?
published: true
date: 2023-05-10 14:50:52 UTC
tags: 
canonical_url: https://siddharthkarn.hashnode.dev/how-to-start-your-programming-journey-as-a-beginner
---

## **INTRODUCTION**

**Everyone in this country should learn how to program because it teaches you how to think** Steve Jobs.

Most beginners are confused about how to start their programming journey due to a lack of guidance and exposure, especially in India!

When I was starting out as a beginner, I explored tons of resources on the internet and also asked for guidance from experts on professional platforms like LinkedIn & Twitter and this helped me to take the right decision.

So, here is the complete guide for beginners according to my personal experience but before that, you might want to know who I am!

Currently, I am a second-semester passionate IT student who is exploring the world of Programming, Development and Open Source. I am committed to learning and developing my skills in these areas.

So, you can think of me as a trustworthy person to guide you.🙂

### Why do you need any guidance for starting out as a beginner?

While starting out my journey, I found out that there are plenty of resources on the internet to learn different programming languages but one thing I found out was that most of the resources were not up to the mark and also there are plenty of clickbait videos and also so-called roadmap videos by individuals who are just beginners and haven't even learned how to code properly. By the word beginners, I don't mean a first-year guy as many start their programming journey in their sophomore or in their third year itself which are also considered to be beginners.

I faced a similar dilemma in my first semester but was able to learn at an early stage in my career how to avoid these kinds of clickbait and scams.

### How to find out which roadmap/resources videos are best and will help you in your career?

Here are some of the tips by which you can select which content/ content creators to follow and to not:

- Whenever you want to watch any roadmap videos of any content creator on YouTube, the best method is to check their LinkedIn profile and explore what the person has done throughout his career.

- For example, there is a creator who has made a first year B.Tech roadmap video on YouTube, check his Linkedin profile and find out what the person has done in his first year itself and if you find out that he had done nothing in his first year itself and is guiding first-year students😶, completely avoid these kinds of creators. (there are plenty of them and many folks are still getting misguided and scammed by these so-called creators).

- Also, you can ask your college seniors or any programmer whom you admire about their views and opinion on any creator. Try to save your time in exploring when someone has already done it and ask for their approaches.

- After all this, you can also check their GitHub and see what kinds of projects they have made throughout their college days, especially in their first year and the beginning of their second year as this blog is specifically for beginners. This can help you further to know about any creator/programmer and you can make your decision as to whom to follow and to whom to not.

There are more ways but these are some of the basic ways by which you can avoid getting misguided and you can learn more by yourself in time.

## What should be your first programming language to learn?

- There is no definitive answer to this question, you will not be learning one or two languages in your career, and youll pick up a lot more! So, start with whatever you are comfortable with after your thorough research, but I will share the approach which I followed as a beginner.

- If you are a complete beginner with little or maybe no programming experience like I used to be, you can start with:

**CS50x: Introduction to Computer Science by Harvard University -** [CS50](https://cs50.harvard.edu/x/2023/)

1. CS50 starts from the basics starting with Scratch teaching you in a bottom-up fashion starting with binary, assembly code and C language before moving to a higher level programming language in week 6 transitioning to Python.

2. CS50 is recommended by almost everyone in tech who knows about it for beginners as learning in a bottom-up fashion and getting to know how things really work behind the scenes is essential for developing a keen interest in programming with this approach. (NOTE: CS50 is beginner friendly but is not easy and that's why it is highly recommended and worth it!)

3. CS50 comes with a final project at the end, you can consider it as a starting point and try building anything creative that comes to mind in each domain. Check out which you like more - Web dev, App dev, etc. by time and then you can also move to explore further in Development.

- After learning the C language from CS50 till week 5, you can move to C++ as it is a lot easier to transition into as only a few minor differences are between the two languages but it is not compulsory and you can also start with Java after C depending on your future goals by the time you would have figured it out.

If you already have some prior experience in programming, then I don't think you need detailed guidance about what to do next as you can figure it out by yourself.

### What's the role of so many different programming languages?

Credits: Param Siddharth - GitHub Campus Expert, PyData Guna Community

**Coding and Programming Languages**

- **C/C++, Rust, Go:** Low-level system design, where efficiency is needed and speed is a priority.

- **Java/Groovy/Kotlin, JavaScript/TypeScript, Dart, PHP:** Middle-level software development, where action takes place.

- **Python, Ruby:** High-level development, where lots of work needs to be done.

- **SQL, Cypher, MongoDB, REST, GraphQL:** Where data flows like water.

- **HTML, JSON, XML, YAML:** Used to store data and exchange data.

- **CSS, QML, JSX, Jade:** To present data beautifully.

- **Shell, Batch, PowerShell scripts:** General-purpose automation.

**Coding? Theres more to it**

- **Front-end:** UI Design and user-side business logic.

- **Back-end:** APIs and server-side business logic.

- **Software Development:** Building applications.

- **Data Science:** Collecting, cleaning, processing, analyzing, and managing data to derive insights

- **Developer Operations (Dev-Ops):** Automation and management of development processes themselves.

- **Cybersecurity:** Ensuring the safety of software applications.

- **Internet of Things (IoT):** Edge devices, embedded machines.

**Artificial Intelligence and Machine Learning:** Human-like intelligence with high computational strength.

## How to learn a programming language effectively?

- Practice is the key, starting is the hardest for anyone and regular practice with being consistent can help you learn a programming language effectively.

- One key piece of advice I got from my seniors/experts is to learn to read the documentation of languages and tools. In the real world, we will not always have a video tutorial for everything, video tutorials' main purpose is to make you start and understand the basics of the respective language but is never sufficient if you want to master it as no tutorial can teach you everything. So, try to slowly understand how to use documentation. It is the best source of information for any tool/language.

- Also for practicing questions, there are various platforms like Leetcode, CodeChef, Hackerrank, etc. Start with solving easy problems and then move to medium and higher-level problems but if you are starting from CS50, there are plenty of problems designed in this course, start with them and you can also solve problems from these platforms if you have time. (I took the same approach)

## CONCLUSION

The best way to get started in your journey is just to get started. There are a lot of programmers around the world and everyone started their journey differently, you just need to find yours. Don't look for any perfect language to start learning like most folks do including me as there is no such perfect language or any kind of perfect roadmap, I just shared the approach which I followed. No knowledge ever gets wasted, just get started! Learn from everyone, follow no one!😉

In the end, it's all about exploration in the first year which I am still doing. Attend hackathons(in college or digital like MLH, etc) and workshops conducted by the colleges, get involved in global communities, ask questions from seniors/experts without any hesitation and learn from their experiences, and participate in extracurricular activities in college based on your interest in your first year, so on and so forth.

You can ping me anytime on [LinkedIn](https://www.linkedin.com/in/siddharth-karn/) or [Twitter](https://twitter.com/_siddharthkarn) if you need any kind of help!😃

All the best for your coding journey.😄😄