I taught my girlfriend to code from April to July of this year. My biggest takeaway: I realized that teaching someone to code is partly a hardware problem. Codecademy, Khan Academy, Scratch and others have optimized code editors for teaching purposes, but code editors will always be stuck with their software incarnations. I suggest that, in addition to supplying great software and teaching content, we need to pair novice coders with great hardware. Let me explain.