Learning Programming from Scratch- How to Start?

readTime

9 min

Learning Programming from Scratch- How to Start?

Let's be honest—everything you think of today can be done through an app or a website. From ordering taxis, food, or groceries to watching movies or even taking an online guitar course! 🎸

With the digitalization of the modern world, the demand for programmers is growing. Therefore, learning programming is one of the best investments you can make with your time.

Since you’re reading this, I assume you’ve already made the decision to become a programmer. Now it’s just a matter of creating a plan and getting started. Sounds exciting, but... how do you begin? 🤔

I know that a lot of people are asking this same question right now because their current job might not be satisfying, or they see a different future for themselves. If you're feeling the same way—welcome aboard! 😉

In this article, I’ll walk you through how I would approach learning programming from scratch if I had to do it all over again.

What Does Success in Learning Programming Depend On?

First things first—what does it mean to succeed in learning programming, and how do you achieve it? For most people, success will mean landing their first job as a junior developer. 💼

To make that happen, you’ll need determination because there are no shortcuts when it comes to learning to code. Some people may have more aptitude or previous "computer" experience, but determination, consistency, and engagement are the real keys to success. 🔑

Prepare yourself for the fact that you won’t understand everything right away (and that’s normal). It can be frustrating when something doesn’t work, but your desire to solve problems and your clear goal will help you keep going even when you feel like you're not cut out for this.

If someone asked me what success in learning programming depends on, I would summarize it as being a combination of consistency and engagement. 📚

Consistency is about dedicating time to coding every day. It’s much better to study for 2-3 hours daily than to cram for 8 hours on the weekend. That’s just how our brain works! 🧠

Remember how teachers always gave us several days’ notice before tests? That was so we could spread out the material and remember more than if we crammed the night before.

Engagement means maintaining that consistency over a long period of time and not giving up, even when things aren't going smoothly. 💡

Learning programming is no different from learning anything else—it simply requires time and effort. Once you push through the initial phase (which is the hardest), things may not become easy, but you'll know how to solve problems, and you’ll be more independent.

Programming isn't just about learning syntax, semantics, or logic—it’s about much more than that. No programmer knows everything, but the learning process equips you with the skills to find the answers you need. And remember, if you're struggling with something at the start, there’s a 90% chance someone else has already encountered the same problem and found a solution. 🌐

Choosing Your Programming Language/Technology

Just like when learning a foreign language, at some point, you need to decide which one to learn first. It's the same with programming.

There's a popular opinion that it doesn’t really matter which programming language you choose first, and many recommend starting with Python.

I initially followed this path, but after reading this article, which breaks down the different paths you can take as a programmer, I realized I wanted to focus on web development—websites and web apps. So, Python wasn’t the best fit for me, and I shifted to the typical frontend path, starting with HTML, then CSS, and eventually learning JavaScript. 💻

The most important thing is to just start learning programming. If you find that you want to work on something entirely different later on, that’s okay! Everything you’ve learned will come in handy. When I switched from Python to JavaScript, I already understood concepts like variables and functions, so picking up JavaScript wasn’t as hard. 🚀

Start Learning with Free or Low-Cost Resources

If you’ve chosen your path, I wouldn’t recommend diving straight into expensive courses right away. After all, you don’t even know if programming will be what you expected.

There are tons of free resources on YouTube for learning programming, both in Polish and English. You can also find valuable information on blogs and websites. 🌍

You can also grab used books for cheap, though, for me, video courses work best. Set a goal to complete a few high-quality courses, and only then decide if it’s worth investing in further education.

Choosing Your Learning Method and Making a Plan

If you’ve successfully completed free courses and are still motivated, it’s time to invest in your future and buy a course. There are several paths you can take to become a programmer:

  • Completing a computer science degree 🎓
  • Self-study 📚
  • Joining a coding bootcamp 🚀

Each of these options has its pros and cons, and it really depends on your situation—how much time and money you have, for instance. Your first challenge will be to choose the learning path that works best for you. Don’t believe in magic shortcuts—there’s no way you’ll become a developer in 3 months. 🙅‍♂️

Look up independent reviews of each method before making a decision. Be cautious—don’t rely on a bootcamp’s website to tell you why bootcamps are the best choice, and don’t assume a university site will be neutral about the benefits of getting a degree.

I personally chose to self-study because I didn’t want to spend years at university, and I avoided bootcamps because I felt I could learn on my own using affordable courses and mentorships, which turned out to be much cheaper in the long run.

My learning method involved using video courses from platforms like Udemy, Eduweb, and YouTube. Later, I purchased longer courses that cost less than 1,000 PLN (~$200).

Additionally, I spent about 100 PLN (~$25) per week on programming tutoring. Looking back, I realize you could achieve the same results with even lower costs. That’s why I created this blog—to help you learn efficiently. 💪

If you choose university or a bootcamp, your learning path is structured for you. If you decide to go the self-study route, you’ll need to create your own plan. Easier said than done—so how do you do that?

For frontend development, for example, you can Google "Frontend roadmap" and download an image outlining all the topics you need to learn, arranged in the right order. Follow it from start to finish. 🛤️

Another way is to check the syllabus of a course or degree program and teach yourself the topics covered. Just be careful not to fall into what’s called "Tutorial Hell," where you keep going through tutorials without practicing. Programming is all about practice—so after learning the theory, focus on hands-on experience.

YouTube offers many practical examples that walk you through projects step-by-step. At first, follow along and copy the code, but as you progress, pause the video and try solving problems on your own. 📺

Learning Materials and Resources

There are many ways to learn, and it’s up to you to figure out what works best for you. If you’ve never had to study large amounts of material before, I recommend reading up on effective learning strategies and understanding how your brain works. This will help you make the most of your programming study sessions.

Many books are available to help you learn programming, but for me, video courses were the way to go. If you choose books that are more than a year or two old, parts of the material may be outdated, and unlike courses, they won’t be updated.

With video courses, you also get comments, Q&A sections, and sometimes direct interaction with the instructor. Plus, you can code along with them in real-time, which is especially helpful when you’re just starting out. 🎥

I highly recommend video courses, but make sure to verify their quality and relevance. You can ask a programmer friend for advice on which courses are worth buying—or send me a message, and I’ll let you know what I think.

Later in your learning journey, you’ll use documentation and websites like Stack Overflow to find solutions. However, at the beginning, I recommend avoiding these since documentation can be complex and demotivating when you don’t fully understand it. 😅

If you’ve chosen the self-study path, I recommend finding a mentor or tutor to meet with at least once a week. Speaking from experience, there were many times when I couldn’t figure something out on my own, but my tutor showed me the solution within minutes. 🧑‍🏫

Learning Through Action: Combining Theory with Practice

Assuming you’ve completed all the previous steps, now it’s time to wish you good luck with your programming studies! 🎉 But remember—programming is all about practice. In your future job, your role will be to solve tasks, not to recite theory or memorize things.

You don’t need to remember everything. Some concepts will become second nature as you work on more projects, and you’ll stop having to think about how to solve them.

In this industry, everything or most things come from practice and experience. That’s what matters when you apply for your first job as a Junior Developer—not how many courses you’ve completed, but how well you can solve problems and complete tasks.

I wish you all the best and look forward to seeing you in future posts! 😉

P.S.

If you have any questions or need advice, feel free to reach out—I’ll do my best to help you. 👍

authorImg

Witek Pruchnicki

I passionately share knowledge about programming and more in various ways.