6 problems that you will encounter while learning programming yourself
From the translator: This article is a translation of the original author’s article by experienced programmer Xiang Zhu. Zhu prefers not to keep the knowledge and experience gained in himself, but to share it with others, in order to make the world (well, or programming) better.
Over the past few years, noticeably more people have become interested in programming. Someone is studying the science of development with the help of online courses, mitapov, someone chooses other ways. Thanks to this, services like Codeacafemy, code.org or skillbox.ru become more popular from year to year. It may seem that learning in today is very easy.
Skillbox recommends: Practical annual course "PHP developer from scratch to PRO" .
We remind: for all readers of "Habr" - a discount of 10,000 rubles when recording for any Skillbox course on the promotional code "Habr".
In fact, it is not. Here are some problems faced by all novice programmers who are engaged in self-education.
1. Finding the optimal amount of programming time.
Most likely, in addition to programming in your life there are other activities. For example, the other - partial or complete - work. Or maybe you do not work, but live with your parents and help them. But in any case, you are busy with something, like many of us. So how can you understand how much time you need to devote to learning programming itself?
Some people may say that if you really want to learn, you can always find the time. Basically, right.
But what if the question is put differently: “How many hours a day do you devote to programming? If I can only set aside half an hour a day, is that enough? ”
There is no definite answer, you are the only person who can give it. It is difficult, very difficult to estimate how many hours a day you can devote to programming. There are people who are 15 minutes a day, and everything goes fine. There are those who study programming about nine to ten hours a day. But this does not mean that you can spend the same amount of time.
The answer will be this: you can only choose the optimal time for studying programming, and you can choose it so that it does not burn out.
Below is a clip created by a professional programmer who works daily. He tries to explain how much time each of us needs to spend each day in order to get good results and not to “burn out”.
2. The search for the golden mean between "I have not reached the necessary progress" and "burned out to the ground"
It is really difficult. There are days when I read a book and can not understand anything. The information just doesn't get into my brain. I burned out so badly that I couldn’t do anything, so I go to the balcony and breathe in fresh air with a full breast.
And then I remind myself that recycling is bad.
Programming is not an easy task. It requires you to concentrate, especially when you are learning new things. It's hard for the brain, so there are times when you don't understand why the code doesn't work, or worse, why it suddenly started working right after writing.
I realized that I am most productive when I concentrate on the problem that needs to be solved - and at the same time I am relaxed and enjoy the process.
In this state, I can:
- Find the problem that needs to be solved, independently or with the help of the Internet.
- Try out several ways to solve the problem until everything starts working.
- Solve all problems in one fell swoop.
I have developed for myself a rule that I use during work, I call it “50/50”.
It lies in the fact that 50% of the time I spend on solving complex problems, I study the basic elements of programming, concepts, algorithms. The remaining 50% I work on my own problems that really interest me.
The main thing is to love what you do. This brings us to the next point.
3. Love to work helps solve all problems.
Yes, it may sound like a template, but it is true. If your love for your work leads you forward, then sooner or later you will achieve success and recognition of those around you (and it does not matter whether you need it or not).
This “high feeling” for your work cannot be lent, replaced or copied.
4. Program when you have fulfilled all your other important duties.
The reality is that if you do self-study, you will not always be able to immerse yourself in programming.
In life, there are other responsibilities that should be performed. You probably have a family - a wife, husband, parents, children. You have to take care of your family, in addition, you need to work (do not forget that this is a self-study). Perhaps you are a student who now has to do his diploma, and not read this article.
Do you need to postpone everything else when you program?
No, the truth is that it is not necessary. It is better to perform all the other important tasks, and then start programming. Personally, my longest break was two months.
But after they were completed, I immediately began to study programming and writing code myself. True, I discovered that I had forgotten many important things that I had learned earlier. It is great frustrating when you picked up a book and can not continue reading from the place where it was completed. Just because you do not understand and do not remember what is at stake.
Relax, tell yourself: “Well, well, now things are not going very well, I’m not very productive, but tomorrow everything will be better.”
You can express your disappointment on Twitter or on the programmers' forum, but then return to studying and working again.
5. Motivate yourself in any way.
Self-study is not at all like schooling. When you study programming, there is no one around - neither classmates, nor teachers, nor an honorary graduation, which may seem like a light at the end of the tunnel. Everything you do, you do for yourself and for yourself.
Therefore, motivation is needed throughout the journey ahead.
I always check this subreddit where there are a lot of developers. They all use cool hardware to develop software. For me, there is nothing more inspiring.
Reward yourself for good work, make it a habit. It may be something small or large. For example, a shower at the end of the day or a cold drink. Tell yourself that you are doing a great job, because it is important to learn programming. If you like cool iron, then hang this photo on the wall and believe that at the end of the training you will become a person who sits at such a desk (in that case, of course, if this is a workplace you like).
6. Do not turn the learning process into study for the sake of study. Go to the interview, mitapy, try to get a job
In the process of learning, a moment may come when, having received a certain amount of knowledge, you just want to continue studying. Some of us do not want to start a new stage in our life and try to find a job as a programmer.
Do not be fooled by the phrases “While I'm not ready yet. I'll think about work later. ”
Very rarely one of us is truly ready. To make a job search easier, keep pet-projects, build a portfolio. And then at the next interview you can show what you can do.
At the end of the article, I would like to wish everyone a happy new code. Enjoy what you build, no matter if it is a personal project or your future as a developer.