Fighting The Curse of Knowledge
Insights on Mentoring Young Pythonists
Mentoring is Important!
For Mentees - Crucial
For Mentors - Educative
Why Don't We Mentor More?
1. We don't prioritize it
2. We don't know how to
Yotam Manor
Hasadna:
- kikar.org
- TA @ Hackita02
MassChallenge: Software Engineer
The Curse of Knowledge
The Case of UI Buttons
An Exemplary Example
"Execute foo.py"
-
Open a command-line interface
-
[type: sudo su]
-
type: “python foo.py”, press Enter/Return
-
This is interpreted as /path/to/executable/python* ../current_dir/foo.py *As is set in PATH env var
-
Python's CLI knows what to do with a path as the first argument.
Curse's Effect:
Implicit vs. Explicit
Writing Code
Good Habits (They Lack)
-
Basic logic
- Thinking like a computer scientist
Bad Habits (They Picked)
- Re-inventing the wheel / WET code
-
No version control
-
No testing
-
Incomprehensible variable names
Non-Idiomatic Habits
Workflow
We Can Help!
Git
If that doesn't fix it, git.txt contains the phone number of a friend of mine who understands git.
Just wait through a few minutes of 'It's really pretty simple, just think of branches as...' and eventually you'll learn the commands that will fix everything.
https://xkcd.com/1597/
IDE Leap of Faith
Debugging Habits
Mentality
It’s Not Intuitive To Know What’s Intuitive
This Causes New Developers:
-
To ask obvious questions
-
To chase their tails, instead of asking for help
Frustration and Self-Doubt.
What Can We Do?
Be Verbose
More Verbose
Even More
Explicit is better than implicit!
Don't Assume They Know What They're Asking For.
Always* ask "Why do you want to do that?"
Don’t Assume They Know When To Ask For Help.
Offer it in advance.
Share Your Process.
What did you google in order to find the answer?
Don’t Make Them Feel Stupid.
Last Words
The Curse of Knowledge and Hasadna
Thanks!
Would love to hear your thoughts!
yotam@hasadna.org.il
Fighting The Curse of Knowledge @ Hasadna
By Yotam Manor
Fighting The Curse of Knowledge @ Hasadna
Insights on Mentoring Young Pythonists
- 1,103