How to start learning programming?

  • Reading time:6 mins read

Which programming language should I learn?

Before you know how to start learning programming language. First of all – the question you need to answer is: why do you want to start learning a programming language? Do you want to change career path? Maybe something else. After setting your goal, it’s time to choose a tool. There are so many ways to go…

Something that can help you is to check job offers in your area. This will give you an overview of the current situation. There may be a need for 2 or 3 different programming languages. There is no best programming language.

At this time, you should not worry about frameworks, libraries, ORMs, etc… For now, you need to keep it as simple as possible. Additional thinking will make things harder.

All these steps are very important to you. You need a clear goal and a way to achieve it. You will return to this point to keep your motivation high. After completing these steps, you have the goal and the tool. Time for some work!

Please note: Be honest with yourself. Take your time to set your goals and language.

How to learn?

If you really want something, you’ll find a way to achieve it. This applies to everything, not just programming.

When you start learning programming it’s hard to choose tutorial.
The main problem is this – there are so many resources.
The biggest advantage is – there are so many resources.

All you need to know is the way you like to learn. Just select the first tutorial and finish it. Sounds simple and it is so.

Just choose this one and do it. NOW! When you finish and feel the excitement of what you have just learned, go build a simple application.
Always practice what you have learned. This is the key. Nobody will ask you how many tutorials you have completed. It’s always about what you built. If you are not excited at the moment, you may have a problem keeping your motivation for longer. Then choose another tutorial. Finish and go build something yourself.

Remember that tutorials often cover very basic scenarios. Your project should be a bit more complex. On the other hand it can’t be too complicated. You can build something similar to the tutorial scenario. Just add something from yourself.

When you do the tutorial, you may think that it takes too much time because the video lasts 10 minutes. You just spent 2 hours following the lecturer? It’s a very natural learning process. Just move forward. And so the time will pass.

So at this point: you’re getting closer like never before to reach your goals.

How to start building?

Building from scratch can be challenging at beginning. You can retake part of the tutorial or copy starting code to set up the environment. The more you practice the more you will know.

A few months later: “I’m bored with console apps. I know the basics. I want more.”

You already know the fundamentals of the language. Maybe you even know how to talk with database. Perhaps the time has come to take a bigger step forward and learn a framework.

Yes – you have to choose again! How? Same as at the beginning. Check job offers. Now you know what frameworks / libraries you should learn.

And again, if you feel more comfortable with new things, just go ahead. Pick tutorials, apply the knowledge. Small steps. No push.

How much time does it take?

It’s not a week or a month. If this is your first programming experience, it won’t be even 3 months. I’m talking about a situation where you don’t have a mentor. You study alone.

You must realize that this is a long process. Don’t be disappointed with the time you have to invest. It depends on how much time you can spend per day. If you can learn full-time, you should be fine after about 1 year.

You have a choice: give up now because it takes so long or go ahead. Time will pass anyway. Choose wisely!

How to stay motivated?

There are situations when you will be demotivated, for example:

  1. You have a problem and you’re stuck.
  2. The project takes too much time.
  3. For a long time, you just don’t have the mood for coding.
  1. Problems should be treated as a natural way of development. You are still experiencing problems. I prefer to call it “challenges”. Sounds much better. Doesn’t everyone like challenges? 😀 Sometimes you will face a challenge that is specific only to you. Sometimes even StackOverflow doesn’t know the solution. Do not panic. Just spend as much time as you need to solve it. Maybe you need to change the way you look at the problem.
  2. At the beginning you may not realize how much work you have to invest to build something. This means that your project can overwhelm you. Taking a step backwards is really fine. You can change the definition of “minimum viable product” to something smaller.
  3. It’s really hard to keep motivated for a long time. You need to balance learning and relaxation. Don’t force yourself to learn as much as you can right away. It’s not healthy. Do you feel burnt out? Take a break. Break may take one week or even longer, if necessary. Do you think it lasts too long? Think about your goals that you set at the beginning. Find people with the same problem. Maybe read some blog posts like this 😀 Read the stories of successful people who have followed the same path. You must find a method that suits you. Just think about what you have achieved all this time. You’re getting closer like never before to reach your goals.

Look out for a trap!

During the journey you will find some libraries / frameworks / technologies / other programming areas that may be of interest to you. It’s a simple way to distract yourself. This can cause you to get off the road far away! Don’t focus so much on these distractions.

It is good to know the basics of something unrelated to your goals. Remember that you can know the basics of everything and be an expert on anything.

Resources

Here I put resources to help you start learning programming. I’m .NET developer so I’ll put related resources. Just for start should be enough!

Your first C# tutorial

Instructors:

Practice:

Want to read more? Leave a comment!

Subscribe
Notify of

0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments