Finding Useful Coding Resources When You've Hit a Wall
Tags: tutorial, beginners, codenewbie, javascript
Published: 2020-08-01 19:13:19

Knowing how to code is invaluable knowledge, no matter what level of mastery you're at. If you want to expand and strengthen your programming skills, awesome! But whether you've just started learning how to program or you've been doing this for years, you've likely run into some obstacles during your coding journey.

That's why we've compiled a list of tips on finding useful coding resources and some of our personal favorites. If you feel like you've hit a wall with your code, we hope you'll find something that helps you out below!

##The Power of Googling

Search engines are your best friends, and this is the number one way to find resources online because the internet is always there for you, no matter what time of day.

If you can't find what you're looking for right away, it can feel pretty frustrating. But it's important to not give up!

Julia Ma, one of Bit Project's developers, said, "One mistake I see a lot of beginners make is that they don’t Google. When it comes to a problem that is coding-related — syntax, error, code compiling — always Google before you ask somebody because that’s how you learn the best."

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/j25nhj3xupk56scp40mw.png)

Sometimes you have to get specific with your search to get faster, better results. For example, you can get creative with what types of resources you look for: walkthroughs, documentation, [blog posts about coding](https://medium.com/topic/programming), etc. Or you can copy and paste the code you're having issues with directly into Google.

No matter how you do it, Googling is a vital skill that will guide you towards countless of helpful coding resources.

##Stack Overflow

Besides Google, [Stack Overflow](https://stackoverflow.com/) was one the most popular resources cited by Bit Project's technical team.  They all cited this resource as one they turn to in times of need.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/cxisjzrr6e71nt8vq3se.png)

Stack Overflow provides you with a large, detailed library of questions that have been answered by professionals and other seasoned programmers. Everything you find on the site is meant for you to learn from, so don't hesitate to use it.

"Stack Overflow is probably a software engineer's best friend," said Bryan Wong, director of engineering at Bit Project. "Any question you have, someone else is likely to have the exact same question as you. So if I’m really stuck on a problem, Stack Overflow is the way to go."

## Geeks for Geeks

Another frequently mentioned resource was [GeeksforGeeks](https://www.geeksforgeeks.org/). This site, like Stack Overflow, also provides you with lots of detailed explanations on code. But while Stack Overflow is great for looking up answers for specific questions, GeeksforGeeks helps you strengthen your understanding of the concept behind the code.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/kk3e5zfdo77b1rkd32yh.png)

Many members of Bit Project — like Atul Jayaram, a QA manager — pointed to this site as a great resource if you're struggling to conceptualize programming languages. Specifically, they said GeeksforGeeks was a great place to quickly learn about C++ and Python, although there are lots of other tutorials offered by the organization that focus on a range of topics like algorithms, data structures, and numerous other languages.

So if you're looking to build a stronger understanding of why code works — not just how it works — GeeksforGeeks can be your go-to.

## W3Schools

[W3Schools](https://www.w3schools.com/) is a great place to bookmark if your projects focus on web development.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/axweg3claeebru1ktgaw.png)

As you can see in the above photo, there's lots of web development languages you can learn: HTML, CSS, JavaScript, Python, ... the list goes on.

This site only offers written tutorials, but it's a good reference point when you're coding. With W3Schools, you can actually open examples in their online editor and try playing around with it to better understand how the code works.

## Youtube

Earlier, this article said that search engines like Google are your best friends, but that's not 100% accurate. In reality, Google AND Youtube are your best friends. You can look for video tutorials and walkthroughs of all levels where an expert can show you how to code and give you an explanation.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/3xspj7t7jri1idxp0xoi.png)

For instance, some Bit Project members like to look up tutorials on specific coding projects; then they code along with the tutorial and add their own unique features to the project as they go. But others, like developer Kathy Liu, prefer to use Youtube tutorials about the theory of programming, because they help her understand the concept of code so she can more easily apply what she's learned to future projects.

No matter your preferred learning style, you should be able to easily find helpful Youtube videos that suit your needs and goals as a programmer. If you're not looking for general video lessons, make sure to type what languages or what coding techniques you're looking for in the search bar. Like Google, if you get specific with your searches, you'll hopefully be able to find what you want faster. 

## Resources with Open-Source Code

Finding resources where you can check out open-source code will also greatly benefit you if you're looking for help. One resource you can use is GitHub, an open source code repository. Because [GitHub](https://github.com/open-source) is the largest open source community in the whole world, there's lots of projects available for you to reference to improve your own work (or even possibly contribute to!).

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6t6bejr2d9d2zt9wdyiu.png)

What's nice about GitHub is that you don't need to be an expert to use it. You can learn a lot just by going through other programmers' code, building off of what's there, or following projects that you find particularly interesting to see how they evolve over time.

Personally, we here at Bit Project incorporate GitHub into our work-flow because it allows us to collaborate and share ideas with each other, and [we love using open-source software to help educate students about important STEM topics](https://www.bitproject.org/curriculum).

## Online Coding Lessons and Assessments

If you are looking for more structured learning, there are plenty of sites dedicated to teaching coders.

On the one hand, a great place to start if you're a novice programmer is [freeCodeCamp](https://www.freecodecamp.org/). This nonprofit organization teaches users code through easy-to-manage lessons. They also have Youtube videos and can connect you to a community of others who are just as excited about coding as you are.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/d2sbm8ey8u3b91s5zxv0.png)

On the other hand, there are also sites for you if you're more advanced and want rigorous assessments to help you practice your skills (perhaps even to prepare you for technical interviews for jobs!). For coders with more experience, we would suggest sites like [HackerRank](https://www.hackerrank.com/) or [LeetCode](https://leetcode.com/). These are great resources that can teach how to approach problems with common practices used in the industry.

## A Positive Mindset to Coding

Now that you know some helpful resources, you can learn as little or as much code as you want. All you have to do is utilize the hundreds of free websites, videos, and documentations that are published on the internet.

However, with so much information out there, it's understandable that you as a programmer might feel a bit overwhelmed. Perhaps you might even feel like there's so much to learn that you'll never be as good as others.

When you've hit that sort of wall — a mental obstacle, not just a technical bug hindering your code — it can be difficult to find a way to overcome it.

Luckily, Kyle Begovich, Bit Project's Director of Developer Relations, shared this great bit of advice you should keep in mind: "The imposter syndrome is a mistake people who want to code make. You come to the conclusion that you don’t belong here, or you don’t have any original ideas. But if you have figured out that this idea is done and that idea is done, you can start to figure out what could be that next step. And that's where the learning takes place."

So try to keep up a positive mindset throughout your coding journey. It can be difficult, but dedicating yourself to learning something you're passionate about is worthwhile!

After all, with all these available resources, the possibilities for coding projects are endless. Use what you learn to start your own project in your free time — perhaps a website, or even an app. Then, you can share what you create with others to show off how much you've learned and to help your fellow aspiring programmers.