How Can I Learn ANY Programming Language?

Principles of Learning to Code

Eren ERDOĞAN
6 min readFeb 5, 2023
Photo by Roman Synkevych 🇺🇦 on Unsplash

If you are new to programming, it could be frustrating to follow a tutorial and when you close the tutorial, you can not replicate it. You feel like you can not learn to program, or you can not innovate anything. In this article I will try to explain, how can you get out of the tutorial hell and how to obtain a programmer’s mindset. I aim to help you learn to code without being chained to tutorials.

You Need a Goal

You’ll need an end goal to achieve. If you do not know what you are aiming for, you can’t shoot it. What do I mean by goal? For me, it was game development. I always was into computers when I first met with programming I loved the idea of creating a set of instructions and observing the computer doing it. My goal was not clear from the start. I have started with HTML/CSS because everybody said so. I just followed books and tutorials mindlessly. After a while, I wanted to make a game. I have set myself a goal. I will build a side hustle as an indie game developer. I began to learn Unity with a clear goal in my mind. After the first tutorial I watched and saw the ball rolling with my code, I was thrilled. The feeling that comes with progressing through your goal is phenomenal fuel for learning.

Don’t Copy, Learn

The best way to learn would be not to watch any tutorials. If you can understand and start coding just from the code documentation, that would be extraordinary. After some practice, this is completely possible but for newcomers, this could be very confusing. Beginners tend to follow tutorials exactly and code along with the tutor. That causes two major problems:

Unable to Focus: While you are coding along with the tutor, you are focusing on the voice and motion of the video but not the code itself. You are typing whatever is on the screen and moving along. With a finished product at the end, this method feels satisfactory. But in reality, you have just copied.

Memorizing the Code: Even if you manage to focus on the code by pausing the video, writing, and continuing while coding-along we tend to memorize the code we are writing.

To overcome this issue

There are a couple of methods we can follow to overcome this issue. First, watch the entire video and code it in a different context. For example, if you are following a game tutorial and the video shows you how to jump with ground check, turn it into a double jump by checking the ground every two jump actions. This would be the hardest but most effective method. Second, you can watch the entire video and do it afterward. You can check back to the video or search on the internet, as long as you are doing it yourself and not copying the code, you are good to go. Third, watch the portion of the video and make it yourself. For example, watch how the tutor coding function, or a portion of the code. When the tutor finishes that section of the code, do it yourself. We are trying to get rid of the tutorials, so the less we watch better we get.

Googling

Google is an indispensable tool for developers, providing access to a wealth of information and resources that can help you solve problems, find solutions, and advance your skills. Whether you’re looking for tutorials, technical documents, or code snippets, the vast array of information available online can help you find what you need in a matter of minutes. Especially developers who are trying to get out of the tutorial hell tend to think like googling every little thing would be cheating. This can not be further from the truth. You can start by searching everything and in time you become more proficient in your preferred language, thus you wouldn’t need to google as much.

To get the most out of Google as a developer, it’s important to understand how to search effectively. Start by using specific keywords and phrases related to your question or problem, and consider using advanced search operators like “site:” and “inurl:” to narrow your results. You can also take advantage of tools like Google Scholar and Google Books to search for academic articles and technical books. Additionally, consider using forums and Q&A websites like Stack Overflow to find answers to common programming problems and get help from other developers. By using Google strategically and effectively, you can save time, get better answers, and continue growing as a developer.

Practice Makes Perfect

Practicing code is one of the most important steps you can take to improve as a developer. When you are comfortable with a programming language and you want to learn another one, make the projects you have already done. This would free your design load and make you able to focus just on to code. If you are not comfortable with any programming language, you need to complete some end products to gain confidence.

Here are some tips for how to practice code effectively:

Work on personal projects: Personal projects are a great way to put your skills into practice. Start by coming up with an idea for a project you’d like to build, then break it down into smaller, manageable tasks. As you work through each task, you’ll be able to apply what you’ve learned and improve your skills.

Collaborate with others: Collaborating with other developers can be a great way to learn new skills and get feedback on your work. You can find collaborators through online communities, meetups, or by working on open-source projects.

Get feedback: Regular feedback can be invaluable for improving your skills. Share your work with others and ask for constructive criticism, and be open to suggestions and recommendations. You can also get feedback by participating in code reviews or seeking out mentor relationships.

Repeat and refine: Practice makes perfect, so make a habit of repeating your code exercises and refining your skills over time. As you become more experienced, you can take on more challenging projects and continue to grow as a developer.

As you progress in your journey as a programmer, it’s important to continuously challenge yourself and take on new projects and tasks. This will help you expand your skillset and deepen your understanding of different programming concepts. Consider taking on more complex projects, such as building a website with a database, or contributing to open-source projects. You can also consider learning a new programming language or a new framework to broaden your knowledge. The more you challenge yourself, the faster you’ll grow as a developer. Additionally, don’t be afraid to make mistakes and learn from them. Making mistakes is an inevitable part of the learning process and is an opportunity to grow as a programmer. Embrace them as opportunities to learn and improve.

In conclusion

The key to breaking free from tutorial hell and obtaining a programmer’s mindset is to set a clear goal, focus on learning and not just copying, use Google effectively, and continually practice and refine your skills. By taking these steps and being intentional about your learning journey, you can become a confident and proficient programmer. Whether you’re working on personal projects, collaborating with others, seeking feedback, or repeating and refining your code, the most important thing is to keep learning and never give up. Remember, the path to becoming a great programmer is a journey, not a destination, so keep pushing yourself and you will surely achieve your goals.

P.S If you come this far enjoying what you read, please consider following, it helps greatly. Thanks!

--

--

Eren ERDOĞAN

Indie Game Developer | Writing About Game Development and Being a Community | https://twitter.com/imErenErdogan