How to start the programming journey in a proper and the best way
Tags: programming, python, beginners
Published: 2024-01-31 06:14:55

## You get the right here!!!
Do you ever find yourself wasting time researching the right path for your career, unsure of where to focus? Perhaps you've been watching numerous YouTube videos to identify a programming language that suits your career, and you're uncertain about which field to choose. If so, you're in the right place. I will guide you through *a well-founded path* for your future career in software development or other tech-related fields.
___
## The Dungeons You would enter

Programming serves as the engine propelling various paths, acting as the vehicles navigating those paths. As stated in the above quote, programming is **a fundamental tool within the development field**. To excel, you must also acquire proficiency in other technologies relevant to your chosen path. While there is a multitude of fields to explore throughout your life, it's crucial to consistently remind yourself not to hastily jump from one to another. Mastering a skill requires time and dedication. Now, let's delve into some trending and in-demand fields, categorized for your convenience.

![filed-chart](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5bi57v5cel85whv2cxi.png)
> 
Note: I won't delve into the detailed explanations of these fields here; however, you can explore these topics on YouTube, where a plethora of content is readily available. Each of these sectors requires a certain level of programming expertise. The specific skill level may vary among them, but proficiency in programming is a prerequisite for success in all these sectors.

At this moment, you may already have a clear path to follow, or you might find yourself uncertain. Alternatively, you may have a chosen path but lack clarity on where to commence. Don't worry—I guarantee that the steps I will present serve as a solid foundation applicable across various sectors.
___

## Every first step is always difficult!!
You need to prepare mentally for a career in this field, as it is constantly challenging and requires staying updated on the latest technologies. It can be overwhelming and frustrating at times, but remember, if things are difficult, you are on the right path. Facing challenges builds strength. Remind yourself that you will encounter ups and downs.

Believe in the power of a **slow burn**, consistency, and discipline. While motivation is important, rely on consistency and discipline to see you through. *Don't bite off more than you can chew in the initial steps*. Also, trust the process. Becoming a developer is not achieved simply by learning a programming language; **it's a lifelong journey**.

So, let's get started.
___
## Your First Programming Language
From my experience, the most suitable programming language for beginners is **Python**, and here's why.

I won't delve into a detailed explanation of what Python is, but in short, it is a programming language widely used across various fields, including the medical domain. While this blog won't provide an exhaustive overview of Python's intricacies, I'll explain why it's an excellent choice for beginners.

Firstly, Python is **easy to write and understand**, resembling human language. This feature is crucial for beginners who might initially feel that programming involves creating something only a computer can comprehend. Python's readability is exceptionally convenient for newcomers.

Secondly, there is **an abundance of resources available for self-learning**. My very first programming course was on YouTube, and it was entirely free. You'll find high-quality content for Python readily accessible.

Last but not least, as previously mentioned, Python is utilized in various fields. This versatility **allows you to apply your Python knowledge across sectors**, making it a winning choice. Python is particularly in demand in Artificial Intelligence and widely used in web development as a backend programming language and in game development. While Python has its drawbacks, the key point I want to emphasize is that learning Python as your programming language won't leave you at a disadvantage.
___

## The Study Plan
From my experience, my study plan is composed of three key elements.

![study-elements](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kxad99om1pq8l58cxq0.png)

### Learning
**Learning** is an essential part of your journey, and you should always remind yourself that learning is a lifelong commitment in this career. Now, let's discuss "Where to learn," while the topic of "How to learn" will be covered in the next section on Practicing.

#### YouTube Videos
YouTube Videos are *an excellent resource, especially for those seeking free and quality content rather than paid courses*. Learning with free resources is not a disadvantage, and I recommend starting with YouTube, just as I did. It's a cost-effective option, and if you find it doesn't suit your preferences, don't worry—it's free, and you can explore other options.

In this context, I can assure you that playlists of videos divided by topics are much more effective than longer videos that are approximately 2 hours or more.

> 
Noted: It's important to understand that the length of a video doesn't necessarily correlate with the amount of information it contains. Therefore, when choosing resources, focus on finding playlists of videos that offer comprehensive content. Learn systematically, going through each topic in detail. If you encounter difficulty understanding a concept, don't hesitate to rewatch the video or seek out alternative explanations from different videos. In conclusion, leverage YouTube playlists to build a solid understanding of the basic foundational knowledge.

#### Course
You can opt to buy or enroll in a specific course that aligns with your interests. I don't need to elaborate on this because taking a course is straightforward—you enroll and learn. However, **selecting the most suitable course for yourself** is a priority, and you should be mindful of the paid classes, considering that many courses are paid. Platforms I recommend for online courses include **Udemy, Coursera, and Skillshare.**

#### Book
This might not be applicable to everyone, but it's important to note that courses and videos often present topics at a higher, more generalized level. They may not delve deeply into the specifics. Books, on the other hand, **consolidate numerous details in one place, offering content in an ordered manner**. Similar to choosing a course, finding the most suitable book for yourself is essential.
___
### Practicing
That is correct; you've likely heard the saying, *"Practice makes perfect."* However, it's crucial to practice in an effective and meaningful way. Practicing in programming doesn't mean simply rewriting code repeatedly, as you might do with other skills. For example, becoming proficient at shooting arrows involves using a bow and arrows repeatedly until you gain the skill and comfort. However, programming doesn't follow the same pattern.

In programming, **problem-solving** is the key skill. Essentially, programming is about solving problems using a computer. Initially, this can be an extremely challenging step for every beginner learner. Therefore, practicing programming means actively attempting to solve problems.

So, where do you find these problems? Initially, you'll encounter problems during your learning process, and these are often relatively straightforward. However, as you progress, it's beneficial to actively seek out more complex problems. I recommend **CodeWars** because it offers a variety of basic programming challenges, and you can explore other people's solutions in your chosen programming language. CodeWars also supports a wide range of programming languages.

> Note: The vital aspect of this practicing step is to not lose hope and never give up. It certainly takes time, but perseverance is key.

___
### Doing Project

There is a term that every programmer fears, and that is *"Tutorial Hell"* where individuals get stuck watching tutorials without applying their knowledge or theories in the real world. This can be a dangerous trap for those who feel they are not yet perfect to undertake a project.

The only way to break free from this trap is by working on projects, whether they are small or large, simple or complex. The key is to start and build based on your existing knowledge. Avoid beginning with ambitious projects like creating your own Facebook, especially when you may not yet grasp the basics of the programming language.

Start with something simple. Believe in the progress you make, and trust in yourself. The question to ask is, "Which project do you need to do?" This is a self-assessment to test your knowledge. However, remember that you need to learn first, practice, and then create projects based on your level of proficiency.
___

Absolutely, you can now see the pipeline of the programming journey and **start today**. Avoid postponing it to tomorrow, as many tend to say, including myself before. Remember, you need to trust yourself. The initial steps may be challenging, but don't give up and go with the flow of progress.

Good luck, soldiers!