The difficulties of self-learning programming and how to overcome them
Before you translate article Xiang Zhou , published on the site freeCodeCamp . If you are a self-taught developer and want to overcome all obstacles on the way to the goal, welcome under the cut!
"The White Book on a Brown Wooden Table", photo Alexander Michl on Unsplash
freeCodeCamp gaining increasing popularity, and the network appeared a huge number of courses , including on YouTube.
However, programming is not so easy. There are certain difficulties that we all face when we learn to write code.
1. How long does it take to program each day
If you learn to write code yourself, chances are, there are other responsibilities in your life. Some work part-time or full-time, others sit at home with children. Anyway, everyone has their own worries.
How can I find time for programming daily?
Someone will say: "There would be a desire, but there will be time." That's right, I will not argue. But there is another question: how much should I give to programming every day? If my maximum is half an hour, does it count?
Only you can reply. It is very difficult to determine the time required for training. Some believe that less is better, but better and 15 minutes is enough.
On the other hand, I heard about people who got a job in the field of development about a year after the start of training, because they wrote the code for 9-10 hours a day. If you need motivation, you can take a look at this thread .
So, it all boils down to one: only you yourself know how many hours a day you can be engaged in programming so that it becomes a habit, but not exhausted . The latter is especially important. The founder of freeCodeCamp Quincy Larson once said in his tweet:
"It's not how much you advance in one day, but in the fact that you move forward on a daily basis."
In the video below, a leading programmer, who has worked in the IT field for more than ten years, will tell you how much time each day is spent writing code from developers.
Of course, this is not a universal recipe, but you will get a general idea of how to approach the planning of time for studying wisely and, importantly, without fanaticism.
2. How to find the golden mean between "almost did not budge" and "burned at work"
Personally, I wasted it. Sometimes, I could not understand a single piece of code, not a single idea from the book I read - my brain refused to learn the information. I was exhausted so that I went out to the balcony to breathe and calm down.
From that moment, I began to remind myself that you should not deplete and reach the point of no return.
Programming is not the easiest job. It requires concentration, especially when you are learning something new. It's hard mental work: sometimes you do not even understand why your code does not work or, conversely, why it's earned.
I realized that I was able to achieve the greatest productivity, focusing on the current work, but without straining, and enjoying the process.
This happened when I:
found a problem that required solution;
found a solution on forums in the network;
tried to get out of trouble in several ways, checking which one will work;
solved the problem.
Trying to come to terms with the fact that most of the material is boring confusing information (data structures, algorithms, etc.), I have established a 50/50 rule, which I use when self-learning.
I spend 50% of the time on complex tasks - learning the basics, concepts, algorithms and other things. The remaining 50% remain on my own projects, which I do with pleasure. So I achieve harmony in my daily schedule.
Simply put, you need to love what you do. And this conclusion allows us to smoothly move on to the next point.
3. The only way to overcome obstacles is to love your work
Trite, but true. If you like the chosen path, if you like your work and the direction in which you are moving - the approval of others is not necessary. A sense of satisfaction of this kind can not be borrowed, replaced or, worse, simulated.
4. Always return to programming when you finish with other cases
The reality of self-study is this: you can not be left alone, alone with your directories.
In life, we all have many other responsibilities. Perhaps you are someone's spouse or parent and you need to take care of your family. Maybe you have a permanent job or you are a student who writes a diploma or receives a degree. When there are so many cases, how to find time for programming?
Honestly, sometimes it's simply impossible. It happened that I did not write code for a long time - once even for two whole months.
However, after this break, I immediately went back to programming and immediately realized that I had forgotten a lot. It is very unpleasant, opening the book, not knowing from when to continue learning. Lord, do I have to reread all the chapters and do all the tasks again?
This is the moment when you need to hold out, stand up. You need to say to yourself: "So, the first hour of training seems to be going slowly and completely unproductively. But it's okay, I'm catching up, having learned more tomorrow. "
This pill can not be sweetened in any other way - just by continuing to work, no matter what. Go to the forum of coders on Twitter and complain, but after that, be sure to return to programming.
5. Motivate yourself in any way
Self-study is very different from studying at university or at school. While you are working on the code, there are no classmates or communication around you, and at the end of the tunnel there is no pretentious ceremony of awarding diplomas. Almost always you are left to yourself and do everything yourself. That's why it's so important to find motivation to keep moving forward.
I often read this subforum on reddit, since many of its users are developers. When creating software, they all use the most powerful hardware. What can be the best reward for a programmer?
You, too, get in the habit of rewarding yourself. It can be a big or small encouragement - a hot shower at the end of the day, a soft drink, praise to oneself (often in the learning process it is necessary). Hang on the wall in front of a photo. One must believe that one day your workplace will look like this.
6. Do not be tempted to learn for the sake of studying - go to interviews and meetings, send summaries
Sometimes in the learning process you can deviate from the intended course. I'm familiar with the desire to be lazy. But not in the sense that I do not want to learn, but that there is a secret hope, sitting out the days behind the monitor, to avoid a real test - work as a developer .
Do not be tempted to reason: "I'm learning, it's enough. I'll think about finding work later, when I'm ready. "
Quite frankly, it would not hurt me to look for potential customers more often. Even if it's about free development of a website for relatives and friends. In that case, the next time I come for an interview, I will have material that will add weight to the resume. The first step is the most difficult, but it must be done at all costs.
All these barriers will grow on your way to a developer's career. Meet them with the right attitude: they will make you stronger and better.
And finally, pleasant programming! Enjoy what you create, be it your project or your future.
It may be interesting
This Post is providing valuable and unique information, I know that you take a time and effort to make a awesome article
beach wedding venues
Custom PVC Patches
There are specific dissertation web-sites by way of the web to produce safe apparently documented inside your website. <a href="https://houstonembroideryservice.com/custom-pvc-patches/">Custom PVC Patches</a>