Google, gossip, and gamification: comparing and contrasting technical learning styles
I just ran across Karen Rustad’s “How to teach programming: shy, practical people edition.” She cared more about making practical things than about what she perceived as “coding,” so her early technical life centered on HyperCard and making webpages, rather than boring faffing about with “mathematical curiosities.” Finally she came across a project she wanted to help, and scratching that itch meant learning more programming:
Basically what revived my interest was having the opportunity to work on OpenHatch. Getting thrown into web app development and all the associated languages and tools — Python, Django, git, Agile, bash and other command line nonsense — all at once? Yeah, it was a lot. But Python out of context is just a toy. Django out of context is plausible, but hard. Git out of context … wouldn’t've made any dang sense. So sure, I couldn’t remember half the git commands (Asheesh eventually made a wiki page for me :P) and I had to look up how to restart the Django development server practically every dang time. But I made do, and I learned it, because the context totally freaking motivated me to. Because *finally* code had a purpose — it was clear, finally, how it could be self-expressive and useful to me. Learning these tools meant I could help make OpenHatch exist. Like, fuck yes.
Different people learn in different ways, and for different reasons.
I figure I learn how to tinker in software, especially in open source, via three methods:
- gossip
- gamification
I learn to search the Net well, iterating on keywords and site: and so on; I fall into or develop a network of folks who won’t think I’m stupid for asking questions; and I play little games with myself, or write them, feeling the thrill of the challenge, leveling up little by little.
I was missing all of these when I tried to Learn To Program.
I took one intro to CS class, my first semester at UC Berkeley, the fall of 1998. My dad had been telling me he really wanted me to become an engineer, and I knew a little BASIC. My sop to his wishes was taking the intro to CS class. The student teaching my small section was a woman — an undergrad getting her bachelor’s, a senior, I think, not a grad student.
In retrospect, I know I wasn’t trying hard enough, and was going through all the strange buffeting waves that accompany a sheltered girl’s first few months away from home and at university. And debugging exhausted and humiliated me; I read it as constant failure topped by a meager teaspoon of success, instead of enjoying the challenge and reading each quest as a hero’s journey. Guys on my floor of my dorm helped, but I was just at sea, and embarrassed that I needed so much help. (I’d arrived at college knowing two other freshmen — both of whom were in completely different course paths — and did not know any women concentrating on CS, other than that one teaching assistant in charge of my discussion/lab section.)
I passed the class, but wasn’t nearly confident or skilled enough to go into the major or even a minor — and that suited me all right, because now I got to say, “See Dad? I’m not meant to be an engineer.” and go major in something else. I eventually turned into a manager, facilitating open source work, and I’m happy with that.
Only a few weeks ago, a decade after this class, did I realize that it wasn’t just me that failed — the teaching assistant failed, too! She could see that I was struggling, and didn’t reach out to help me figure out how to learn.
That was 1998. I was an insecure teen, the Web and Google weren’t nearly as substantial and useful as they are now, and instead of play, programming only felt like a burden. I’ve dabbled since then, remembering to Google and gossip and game, creeping along towards a much less fraught relationship between myself and programming. And now I have Systers and Geek Feminism; I know countless technical women who teach me, and whom I can teach.
Page 1 of 2 | Next page