Working and collaborating with other people is an important part of working as a web developer. Therefore, we at The Odin Project encourage you to participate in our online chat community, which we’ll talk more about below. By joining the community, you can grow alongside other Odinites and help each other learn web development. While you’re at it, you can check out our Facebook page, follow us on Twitter and catch up on Instagram. Use #TheOdinProject to share your Odin Project progress, updates, thoughts and to see what other Odin students are up to!
Learning web development will be a long and arduous journey, but you can make the marathon a lot more fun by getting involved in our Discord community. No matter what pace you are doing our curriculum, there will always be people a few steps ahead of you that are willing to help. Furthermore, helping others that are a few steps behind you is a great way to deepen your own understanding and make your learning stick.
When you’re slogging through the desert of despair, where your code doesn’t work or even make sense to you anymore, you can find an oasis of knowledge and encouragement in our community. Veterans at The Odin Project love to help fill in knowledge gaps and provide new insights and perspectives on how to improve your code. We’ve all been there before!
Remember that project you struggled so hard to figure out and that you’re so proud of finishing? Through our community, you will get to share your work and progress with those who fully appreciate how much hard work went into it.
We are working hard to update existing lessons and produce new content, so we would love to hear your feedback on the lessons and projects. We hope you find the lessons fun, engaging, and informative and find the projects challenging but achievable. So please let us know your thoughts!
As most of the projects are designed to push you to your limit, please remember that there is always a community to turn to! You don’t need to know how to solve every problem straight away, BUT you do need to have a general idea of where you are going. This becomes really important when asking your questions because sometimes the problem is your approach and not your code.
If you’re feeling stuck, it’s a good time to pause and take a breather. Break the problem down into little pieces and then decide what is really holding you back. We call this technique rubber duck debugging.
You should also do a Google search to find relevant information for your problem. Read about how to use Google to solve your programming questions. You can also look back at previous lessons for tools that you can apply to the current task.
If these methods don’t yield a solution for you, then it’s time to reach out to the Odin community and ask for help.
So you’ve spent some time struggling to solve the problem on your own, and now it’s time to fire up the Odin Discord and ask for help. The first thing to keep in mind is don’t ask to ask. While this is a simple idea (with a pretty catchy motto!), it can help you get answers to your questions much faster and will make it easier to others to feel comfortable offering you help.
In addition, when you ask your questions, you should help the community help you by putting together a great question.
When asking your question, please remember to include the context:
If you can’t pinpoint the problem, you can share a screenshot. This is especially useful for showing the output of commands in the command line. In Discord, drag and drop your screenshot image file into the chat box to upload it or simply use the PrtScn and paste keyboard shortcuts. If you don’t know how to take a screenshot on your computer, this is a good time to ask Google.
If the puzzle still can’t be solved, push your project to GitHub or put your code in a replit so that others can comb through and debug the code. You’ll learn all about GitHub very soon.
Sometimes there might be no one around to help you with your issue. That is the ideal time to get familiar with the Discord search function. Search for specific keywords or error messages to see if anyone else had a similar issue before and how they solved it!
Asking your questions in a readable format helps everyone debug them better. Here are some ways to go about that:
If you’re having trouble on the command line, make sure to include both your input and the error message you’re getting.
In the chat rooms, code can be displayed differently from normal sentences by using backticks (``), which can be found above the Tab key on US and UK keyboards. Backticks are not the same as single quotation marks (‘’), which are found to the left of the Enter key.
For a single line of code: use one backtick before and after your code.
For multiple lines of code: use three backticks on a separate line above and below your code.
Your Multiple Lines of Code
You can also use code highlighting to add color to your multi-line code by specifying the language:
Your Multiple Lines of Colorful Code
/giphy hito say hi to everyone.
/helpfor more information on chat commands.
First, create a free GitHub account. As you will discover, GitHub is an integral part of the development workflow.
In a moment we’re going to ask you to join the Discord community, here are some guidelines before you dive in:
Finally, sign in to our Discord server. Pop in and say hello! We’ve created an introductions room which is a great place to introduce yourself and we’re always happy to welcome new community members. We have chat rooms for every development topic covered in our curriculum. Log into the chat and start exploring!
Link your GitHub to your Discord profile: So others can see what you’re working on and vice versa!
Not only is it important to know how to ask an effective question, it is also important to know how to help others effectively. Please take a moment to review these guidelines so that you will have proper expectations of the help you will receive in our Discord community. In addition, come back and review these guidelines when you are ready to start helping others.
Unless the problem is a simple typo or syntax error, it is more beneficial to guide them to find their own answer. This approach will teach good debugging skills and will increase their ability to solve future problems.
Start by asking probing questions, such as “What have you already tried?”, “What do you expect this function to do?”, or “What do you think that error means?”.
If you are not 100% certain of the answer, you may end up doing more harm than good, so please let someone else answer it.
Do not worry about how long someone has to wait for an answer. The right answer is worth the wait.
If somebody is already getting help, do not jump in the middle of the conversation. We know you mean well, but it is overwhelming for the person receiving help to follow multiple conversations.
If you do not have much time to help, please let someone else answer the question.
If the question does not reveal where they are in the curriculum, ask them so that you can adjust your expectations to their knowledge level.
If the question seems confusing or ambiguous, ask for more clarity, or politely link them to our bot command
/question, which links to the How to be great at asking coding questions article.
If the question needs to have live code to fully understand or debug, ask them use replit to provide it. If the problem is difficult to isolate, they should recreate the problem with isolated code.
Learning how to research these questions is a very important skill for developers, so we need to empower them to find their own answer. When we answer these questions, it hinders their personal growth and makes them codependent on our community.
Instead of answering these questions, politely ask them to google their question or use our bot command
/fg with the search terms.
If you know that the answer is provided in our curriculum, ask them where they are at in the curriculum.
If they have not reached that portion of the curriculum, let them know they will learn it in the future.
If they have already been through that portion of the curriculum, politely direct to review that lesson.
When helping someone it can be easy to spot other problems in their code. Resolve the original question, before pointing out any other problems that need attention.
It is common for students to not understand the importance of using a debugger to look at the values of their variables at different points in their program. When students are getting unexpected values, politely encourage them to use a debugger with our bot command
It is common for students to focus too hard on a problem and not be able to clearly see everything. When this situation arises, politely encourage them to step back from the problem and take a break. Often times, stepping away from a problem will help them see the bigger picture and how to solve it.
It is common for students to skip a lesson/project or think they know more than they actually do. When this situation arises, politely encourage them to go back and reread a section of the curriculum for more understanding.
It is common for the actual issue to go beyond the initial question. If it goes beyond your current knowledge, it is important to admit that you are unsure of the correct answer and let someone else help.
After digging deeper into the problem, they might be able to continue troubleshooting on their own or they can wait for someone more experienced to help.
Helping others solve a problem is not always easy. Remember to be patient as they struggle through the problem.
Sometimes there are misunderstandings and interactions go poorly. You are a volunteer and are not obligated to help when things get out of hand. Politely duck out of the conversation and let someone else step up.