A senior Java developer and Java tutor at Learning Tree International programming courses.
I’ve been teaching Java for quite a while now. So I often share advice on how to learn programming faster and better. In talking to my students I can see that one thing distracts them very much: coding anxiety. It is a real trouble. Some people find it hard to focus their attention for more than one hour. Some are excessively stressed out by the job search.
So today I’m gonna share on how to eliminate this kind of stress, use the best ways to learn programming, and enjoy coding happily ever after.
1. Imposter syndrome
This comes close to the expectations of perfection. The salaries are quite high, and some learners think they don’t deserve their paycheck. To aggravate the situation, other teammates seem to be more professional or work more hours. The truth is that you might know quite enough for your level and be improving gradually, but you don’t actually feel this way. Self-doubt is a common cause of stress.
2. Not complying with the image of a real programmer
You see others bragging about how programming is everything for them — how they spend every possible minute on coding, how important it is to them. And then comes you with the ability to code only so many hours and knowing only this one technology. You start thinking that probably you weren’t meant to be a software developer.
Actually it is far from reality. Coding day and night is not the sign of a real programmer. None of us are Neo. Besides, the term “no-lifer” also applies to those who only code and have nothing else to fill in the gaps. Forget about the image. If you have a genuine interest in technologies and learn coding just because you want to, congratulations: you ARE a real programmer.
3. Thinking it’s too late
Although I personally think it’s never too late to learn new skills, some people do stress out about starting a new path at the age of 30 or older. The equation seems to be this: “If I start at 30, I would learn something in about two years and apply for a job as a junior dev at 32. All the other juniors would be 22 to 25. It’s ridiculous!”.
Well, let’s continue the equation. At 34 you become a middle developer while all the rest are 28. It’s not that ridiculous anymore. And suppose you continue and become a senior dev or even a software architect. You’re probably still under 40.
And now imagine you haven’t even started just because you are 30 and all the rest are a bit over 20. Do you feel that subtle resentment about the lost opportunity?
First, let’s face it: software development is a complicated area. There will be times when you won’t know what to do. Everyone has those — even the most sophisticated software developers. No one is expecting that you will make zero mistakes. It’s utterly impossible. Admitting that flops are part of the process is a great way to ease the burden of shame and to focus on what’s important: the programming itself.
1. Focus on motivation instead of eliminating obstacles
Whether you realize it or not, pleasure is a great motivator. Instead of trying to suppress unpleasant thoughts about possible failures, focus on what’s driving you in the learning process. Try a simple exercise: write a list of reasons you like coding and what benefits you derive from it. You might not notice them while you learn, but when you have this list it clicks within your mind how valuable it actually is for you.
Some other steps can also make you feel better about learning to code. Plan a meeting with other coders to discuss your positive experiences. Play coding games, or try to teach a kid some technology. And see how fun it all can be!
2. Learn step by step
It’s easy to get overwhelmed when you try to get to the advanced stuff as soon as possible. But from my teaching experience, that is not the best way to learn programming. Give yourself time and start with the basics: syntax, inheritances, classes, etc. Be consistent. Your goal is to always be willing to learn a bit more. If you take on too much at once it will be hard for you to get down to learning next time. Move on to more complicated subjects only when you feel confident about the fundamentals.
Practice and practice
Reading piles of documentation or watching hours of videos won’t do you any good until you actually try to code. Programming is very practice-oriented. Sometimes it’s better to start playing with the code to understand stuff than to try to figure out the bulk of theory. Try your own small projects. When you see the first results of your learning efforts, it does make you feel better and more confident.
Don’t take coding too seriously from the beginning. Allow yourself mistakes. Make them and fix them. Gradually you will see how it all becomes more and more clear.
Go see some platforms. Here’s the list of ones I like the most. Yes, they are for learning Java (because I’m a Java tutor), but you can get the point:
CodeGym — that’s an online Java Core Course which is fully gamified. You will dedicate 80 percent of your time to practical tasks and 20 — to covering theory aspects. You can have fun learning programming via games, I’m telling ya;)
CodeAcademy — here you will develop your technical skills which will be very in use when you start looking for a job.
CoderChef — as soon as you get less or more confident with Java fundamentals, you can participate in an online Java contest with other developers-beginners.
3. Don’t try to understand everything at once
It might take months before you begin to understand why everything works this or that way. No, it does not mean you are stupid. It means software development is a multi-dimensional area that cannot be grasped overnight. Be patient with yourself first of all.
I was in these shoes as well. It feels really frustrating when you learn and learn and it’s still not dawning upon you. Don’t give up! Eventually, the puzzle will become a clear picture. Just keep on learning, and don’t expect everything at once. Be prepared for it to take several months to start figuring things out.
4. Use various learning resources
Again, as I said, programming is a complicated area of knowledge. What’s more, different explanations of one and the same subject work differently for each learner. What I mean is you can understand one tutor better than another. The logic would be this: don’t stick to just one learning resource. Try various options and see what works best for you personally. But don’t use too many resources. If you are constantly looking for alternatives, you spend your time on this search instead of actual learning.
Sometimes you think you’ve had enough explanation, but then you come across another way of viewing the same part of the programming profession, and it just clicks with you. This won’t happen until you search for alternatives. So I urge you to look around from time to time.
At the same time, don’t use too many resources. If you are constantly looking for alternatives, you spend your time on this search instead of actual learning.
5. Meet peers
One of the worst things you can do is lock yourself up and learn programming on your own. It’s a straight path to despair and giving up. Why? Because you are certain to come across difficulties you won’t know how to resolve. The more situations like that happen, the less you will want to continue. Once or twice you will postpone your regular learning time, and then you find yourself reluctant to do it at all.
The picture is quite different if you have some human support. As a learner you suddenly realize you are not the only one struggling. The ideal version would be to meet peers who are learning coding as well. Join professional groups or forums. As an example, have a look at the Stack Overflow community, or find programming subreddits on Reddit. Look for what works best for you, and don’t face programming on your own.
6. Don’t compare yourself to other developers
When you look around and see how many people are into software development, it does feel like an endless competition — especially when you are at the starting point of your learning path. The truth is that everyone feels the same. While you think someone is better than you, someone thinks you are better too. At the end of the day, you are both discouraged for no reason. So I insist that you don’t compare yourself to others in that way. Instead, focus on yourself and your own skills. Add to your professional value instead of holding grudges against the unfair world.
It’s ok to feel anxiety when you start learning to code. Everyone’s experienced this problem in some way. There’s nothing wrong with you. The thing is that you come upon a complicated area, and at first it usually seems next to impossible to figure it all out.
Here’s what you can do about it: learn step by step, and don’t let yourself get overwhelmed. Connect with other developers online or in real life. Try to find a mentor. Play with the code and allow yourself to make mistakes. Give yourself time. Software development is not something you can learn to do overnight. Focus on your own achievements and on what makes you feel good about coding. Try various approaches and resources. Practice a lot. And surely enjoy the very process!
Previously published at https://medium.com/quick-code/how-to-learn-programming-with-zero-stress-b0fd089259ec