A large part of being a data scientist is ~being okay~ with not immediately knowing the answers to your code challenges – troubleshooting errors, deciphering code, and trying new things (and likely failing at some…er many…of them) is all a part of the job. We all experience it, no matter how many years we’ve been at it.
Artwork by Allison Horst
Where to find help
We often learn the most (and remember more of what we learned) when we take the time to troubleshoot on our own (or at least narrow down the potential problem(s)), so you should always plan to start there . The graphic below shows the order in which you should approach different resources for help:
Roadblock checklist
If you hit a roadblock, run through this checklist to make sure you’ve done your due diligence before bringing your question(s) to a peer, TA, or instructor:
How to ask questions
When you decide you’re going to ask a question to a peer / TA / instructor, be sure to (borrowed from Dr. Allison Horst’s Troubleshooting 101 lecture, EDS 221):
- Provide context. For example, “I’m trying to do this…” or “I’m working on the task where we do this…”
- Share the specific challenge. “I’m specifically trying to [insert function / package] to do this thing.”
- Share what happens and what you’ve learned. “I repeatedly get an error message that says [this]. I’ve tried [this] and [this]”
- Show your code ideally with a reprex that they can run / test.
- Value and expect the Socratic method, especially in classes and workshops – our goal is to provide critical thinking that is transferable, not just to provide a quick fix for a single error.
Some words of wisdom
Finally, Julia Evans shares some funny (and highly relatable) words of wisdom: