Fighting The Curse of Knowledge

Insights on Mentoring Young Pythonists

Yotam Manor (GitHub, Facebook, Twitter, Email, YouTube)

PyWeb-IL, June 2017. Follow @

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


MassChallenge: Software Engineer


 - Project Lead (

 - Udi Oron's TA (Hackita02)

The Curse of Knowledge

The Case of UI Buttons

The Curse of Knowledge Manifests In:


Interface Design



(Among Other things)

An Exemplary Example


  • Open a command-line interface
  • [type: sudo su]
  • type: “python”, press Enter/Return


  • This is interpreted as 
    /path/to/executable/python* ../current_dir/
    ​*As is set in PATH env var


  • Python's CLI knows what to do with a path as the first argument.
  • Implicit vs. Explicit

  • The Code Execution Interface

  • Setup is Hard for Beginners

    • Installation, Configuration, Versioning (Py2<>Py3, 32bit<>64bit), 3rd Party, OS*

Example Demonstrates Curse's Effect:


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 


We Can Help!


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.

IDE Leap of Faith

Debugging Habits


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 the Future of Python


Would love to hear your thoughts!

Fighting The Curse of Knowledge

By Yotam Manor

Fighting The Curse of Knowledge

Insights on Mentoring Young Pythonists

  • 1,473