How to Start Coding: From Passive Learning to Active Practicing

John Selawsky - Oct 11 '21 - - Dev Community

Are you willing to start a career in programming? Or, probably, you’re a dedicated hobbyist who wants to try coding just for fun? The chances are, you’re already armed with piles of different programming books, and your day starts with Youtube tutorials on how to learn Java, for example.

All that just being said, you may still be a bit conscious about your programming skills and be unsure when and how to start coding. As a Java tutor, I often deal with students who continuously read about many topics and constantly try to explore more. However, they are often confused about applying their knowledge in real life and actual coding.

If that sounds like you, you’re in the right place since my article can help you boost your self-esteem and begin your path to a successful (and demanded) programmer.

First Comes the Practice

Although developers and programmers are in great demand right now, the truth is that outside of the education bubble there are no exams and no competitions. And, typically, not even companies that want inexperienced coders to write programs for them. Remember the old cliché: practice makes perfect. So you are unlikely to become a successful Java programmer if you don’t want to practice. Needless to say, practicing is very different from passively consuming, reading, watching, and listening.

You may need a lot of coding to become a proficient developer. Actually, practice is the key to learning code. According to recent research, the cycle of “trying, failing, and overcoming our mistakes” helps us achieve much better results than passive learning. Of course, making your first steps into real programming might seem scary, but if you want to gain fundamental skills, cast your fears aside and let’s do it!

Start Small

Without a personal plan and the right approach to learning to code, just getting started can steal much time and take lots of effort, not to mention you might end up with all of the coding fun drained out of it. So, how about we set a scope from the beginning?

As a programmer, you may want to start small. Regarding Malcolm Gladwell’s 10,000-hour rule, practicing a particular skill (including coding and programming) for about 20 hours per week and ten years in total is the key to success in any field. Therefore, it’s better to start slow and scope a particular skill so as not to get overwhelmed at the beginning and, consequently, make the whole process easier for yourself.

Read about Java regularly to explore more, stay motivated, and get up-to-date, but remember to code more than you read.

Effective Practicing Methods

And here comes the fun part, finally. Let’s discuss the best ways to sharpen your coding skill. It’s pretty easy, you’ll see.

Stick to the Source with a Focus on Coding

As with anything, knowing the basics of programming languages is the best place to start. Naturally, when creating an efficient learning plan, you should stick to several resources at least and try different learning techniques to find what works best for you. I suggest choosing all-around courses that involve not only theory but practice as well. Ideally, it should be a course that teaches the basics of Java and encourages daily coding. And regular practice is 80% of success.

Among the best online services that offer excellent ways to kick-start your Java programming, I can highlight:

  • Codegym. The course is dedicated to Java fundamentals. It offers informative lessons and well-structured training modules with instant verification and virtual mentoring of your projects. A student can solve tasks in a web IDE, or in IntelliJ IDEA, with CodeGym’s plugin.
  • Codecademy. The portal includes short, easy-to-read lectures with interesting practical tasks. Plus, Codecademy boasts a user-friendly web IDE where you can write code and check them immediately.
  • GeeksforGeeks. It’s famous for the huge database available for people who want to learn Java, as well as other programming languages.

Dissimilar to many other websites, these portals won’t be overwhelming even for beginners. They offer a gigantic set of tutorials available for people worldwide (besides English, they are available in many more different languages). These training platforms also have fantastic step-by-step lessons with well-structured tasks and abilities to track your progress.

Copy the Code

One of the easiest ways to become more confident in your programming skills is to refer to existing codes. By using someone else’s code examples and learning from professionals, you can drastically improve your skills while gradually building your own style. Again, today, you can find lots of practical courses and learning projects with code templates that will help you grow as a successful programmer. Among the most popular and effective services, I can highlight Coursera, Pluralsight, FreeCodeCamp.

Start Your Coding Project

And, finally, the most engaging and interactive way to learn Java coding is to create small projects like basic apps or games. For example, a novice developer can try to write chatbots, aggregators, or simple games, which is more fun. Of course, this method of practicing can be challenging for a complete beginner but, today, we’re lucky enough to try different Internet resources for help.

If you’re into games, you may use CodeGym’s ‘Games’ section, follow the instructions, and re-make popular games like Minesweeper, Snake, Space Invaders, Racers, and some others. The projects include lots of detailed instructions, code examples and require a beginner-level amount of Java knowledge.

If you want to train hard and try more programming languages, you can use other websites like CodinGame that cover various programming languages and different difficulty levels (from easy to very hard) to help you gradually improve your coding skills.

How to Stay Motivated

Learning something new, especially coding, you should be ready for failure, and the best way to overcome or even avoid errors when coding is to get some extra help. Luckily, you can find lots of resources with useful information, as well as numerous communities and forums where developers from all over the world share their experience and knowledge.

Besides the highly popular Quora and Reddit where you can ask even the most stupid question and get a quick answer, you can take advantage of Coderanch. It’s one of the oldest and largest coding forums. By the way, not so long ago, it was called JavaRanch, so you can easily guess which programming language is the most discussed.

Need some motivation? If so, you may join the Codecademy Community with lots of topics on how to keep going when you feel stuck or frustrated. And if you ask my advice, I’d recommend you to take a breath and look back at everything you’ve already learned and accomplished to realize how far you’ve come. Also, it’s a nice idea to remember why you’ve started and what has inspired you whenever you feel down on yourself.

Wrap-up

For sure, coding isn’t an easy process, and it’s quite OK to make mistakes along the way. Many beginners often get stuck when they go too quickly through theory without taking time to practice.

Spending some time with new skills is vital so that you can apply what you’ve already learned as you move on to more advanced concepts. Practice can also help you build an understanding of programming languages and boost your productivity and efficiency. Additionally, with more practice in coding, you are bound to decrease mistakes and improve accuracy.

From all this, it’s an obvious conclusion that regular practice is exactly what you need to become a master of programming, and even a small project can give you exposure. The key is to find what practicing methods suit you better depending on your preferences and your stage of learning.

So don’t be afraid. Try, and fail, and try again: this is what the road to mastery is made of.

First was published at Level Up Coding.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .