I Taught My Partner To Code

I regularly speak to men about SheCanCode as this problem is not going to be solved with women alone. You can imagine my delight when I recently met with Googler, Matthias, who taught his partner, May, how to code from zero to a job in 11 months (and in Clojure.....!).

I asked him a few questions and thought I'd share for anyone interested in teaching their significant others (or mothers, sisters, friends) to code. As a guide for someone who doesn't know where to begin, you may want to start preparing by reading this: 

N: Why did May want to learn how to code? 

M: May has a good story about how some projects in her previous role blew up in her face because of the limitations of Excel. From a finance perspective, it was costing the company to not up-skill employees or take advantage of technology to improve processes. In general, May was using a lot of Excel back then. [More from May to come]. 

N: Why were you willing to help her? 

M: Oh, I bugged May to get started in the first place. I like rambling on about programming. 

N: How did you go about teaching her to code? 

M: She has a background as a business analyst, good with numbers. The first thing that clicked was How to Design Programs. That book allowed her even as a rank beginner to make progress on her own. It is a bit pedestrian though, and she quickly outgrew it. It did set her on the path to functional programming.

N: Where did you go from there? 

M: She worked through an assortment of divers materials on Haskell from then on, and a few extra ad-hoc exercises from me and HackerRank

N: Did you make any discoveries along the way that you wish you had known before?

M: We discovered the excellent Think Python  later, but she had already covered most the material of that book independently before. There is a follow up from the same author also available for free online called Think Complexity

N: Would you say that a mentor is essential to the learning experience? 

M: A mentor is useful for pointing to the right material for your current level of understanding and your proclivities; helping you with stumbling blocks (especially telling you whether what your are currently trying to do is genuinely too hard right now, or whether you are just using the wrong approach to a problem and should think a bit harder and try something different).  That being said, it is possible to learn without a dedicated mentor.  People at eg #haskell channel on Freenode and on eg Haskell subreddit are generally very happy to help out. 

N: What are your conclusions from the experience as a whole? 

M: All in all, it's a long slog. Not without its intellectual rewards, but one had to put in the work. (May can be pretty tenacious).

N: Would you do it again? 

M: Yes, but its taught us a lot about each other and now I know more about how and when to help her. Though, everybody is different, so other people might need a slightly different path. And even the initial stumbling probably taught something.

This is an example of how men are contributing to the solution - by spreading awareness and sharing stories of how rewarding coding can be - and then going the extra mile to help them get there by motivating, coaching and encouraging them to reach their potential. 

That being said, there is a point to be made: not enough women are putting their hand up.  Don't be afraid to ask a peer (whether they are male or female) to help you through your journey of learning to code; or if you already can, then ask for help with learning a new language/updating your skills.   I think you'd be surprised to see just how many men would be willing to give up their time to take on this challenge, and often because of all the women-in-tech hype, we don't give them the benefit of the doubt. If you'd like to be more subtle about it, why not just forward them this article. 

Matthias believes that #SheCanCode, and he proved it. Do you? 

Keep a lookout for May's perspective on the experience. She will be featured as one of our 100 Women in Technology