On your quest to become a ninja programmer, there will be many hurdles. As your programming senseis, we are still walking down this path and want to share a few things we have learned along the way.
As you may have already learned from your virtual environment set up and surviving the python installation process, things will go wrong. Come in to your code space expecting the bugs to show up. The bugs will show up before any usable solution does. This mindset will help you save hours of frustration when your code does not work the first, second, or third time around.
When asking for help with your code, saying 'my code is not working' is an unclear problem. Framing the issue as such makes it tricky to address the problem effectively. Use the GOOD Questions model so that all parties have clarity on what they are tackling.
- G: Give context to your issue - clearly describe the problem.
- O: Outline the steps you've taken to solve it.
- O: Offer your best guess about what the bug is. This will help you think through the problem. It will also make the process easier for the person assisting you.
- D: Demo what is happening. Keep track of the error messages you've gotten, plus the code implemented to create the error, as well as any steps you may have taken to fix it.
To learn more about asking GOOD questions, check out Real Python.
Serdar and I are both on slack - reach out to us. But, you may not get a response right away. Keep working on fixing your issue. In many cases, you may find that you've already worked it out by speaking through it with a friend or by karate chopping your keyboard.
But, if you still need help, you can try these resources:
-
News Nerdery this Slack Workspace will connect you to other working journalists who either can give you insight on your code or direct you to resources that can help you. Before accessing the slack, you need to request an invite to the slack, then you'll have access to channels such as
#python
and#helpme
. -
r/learnpython this subreddit can be great for crowd-sourcing solutions to your coding issues. Some programmers prefer to use StackOverflow, but python subreddits are a bit friendlier for new coders. StackOverflow can have coding solutions that are difficult to understand for new programmers, and thus can leave you confused about how to adjust the code to fit your unique problem.
-
Python Tutor this website can be a great place to find live help if you are stuck on a particular bug. Beware: Like you, there will be several other new coders that need help. Thus, this website tends to have long wait periods - not ideal for being on deadline.
-
Python Discord Chat this Discord Chat can be awesome for getting help from new and experienced programmers alike. People will definitely want to help, but they are hesitant to do so if it seems like you have not taken any steps to fix the bugs yourself. Do your due diligence before asking for help on this chat, or any of the other resources.
- SentDex this Youtube Channel has a good python beginner series where basic concepts are explained. More importantly, he has several projects that you can follow along - showing you what is possible once you get the fundamentals down.
The resources listed above can be helpful, but they can hinder your learning if you jump to them before struggling with the problem yourself. At the end of the day, nothing will help you learn faster than fighting with bugs and thinking through how you would fix them first.
By the end of this class, you will be a coding ninja - opening csv files programmatically, sorting, filtering, pinging APIs and telling stories with your data.