Skip to content

Instantly share code, notes, and snippets.

@danielkaczmarczyk
Last active June 2, 2020 09:46
Show Gist options
  • Save danielkaczmarczyk/709858bc6c06776bca12b73a00ae6e6a to your computer and use it in GitHub Desktop.
Save danielkaczmarczyk/709858bc6c06776bca12b73a00ae6e6a to your computer and use it in GitHub Desktop.
PEP - Personal Empowerment Protocol
How to succeed in asking questions the right way:
1. Read the error
2. Google the problem
3. Ask a neighbor
4. Ask a teacher
How does it mostly look like in reality (if the problem is hard)
1. Find a problem
2. Google the solution
3. Find 4 answers on StackOverflow, all of them are from earlier than 2011
4. Try all of them, none work
5. Ask a friend
6. They google that, try the 4 answers as well
7. None of them work
8. Stop research for a while and think about how your problem relates to your goal
9. Ask a _different_ question to google
10. The more accurate query gave you better results
11. Try a few answers
12. Still no luck
13. Message a coach, provide all context in the message: What do you want to achieve and what have you tried so far. Ideally, also provide a code to the (UPDATED) repository that you're working on so that the coach can run the code on their machine and take a look. (Notice there is no zoom call yet - it all happens asynchronously)
14. Coach tries to replicate the problem. Doesn't google what you've googled cause you provided the context
15. Problem is either solved, and if it is, the coach writes up a solution or jumps on a call with you to show you what it was and why it happened, or ...
16. The lead instructor is engaged and we repeat the whole process until we fix the problem.
What is very important to notice in that real-life example:
- The process was asynchronous - it enables deep thought about the problem for both parties - the student and the teacher. Having no time pressure on Slack DMs or a video call makes for better formulated thoughts and provides ability to rethink answers. Notice - the zoom call is the last resort, not the first solution.
- At every step of the way, the next person in the chain is being informed about those three important 'whats': What are you trying to achieve, what have you already tried (links to stack overflow questions), and what the error is (detailed description, repo link, screenshots).
Those practices are commonplace at every tech workplace and all around the internet on forums and open-source projects.
Ability to ask questions in that way makes you a beter, more valuable, and more thoughtful engineer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment