Another co-worker in the Montreal Mother trade, learning and teaching code!
For the past year, I have been increasingly convinced that every kid should learn to code. Since I have daughters and I work at an all-girls’ school, my interest tends to lean toward getting girls interested in programming, but I guess boys can still learn too (before you get your knickers in a knot- I was kidding! Of course, boys should learn too. But not frogs. They would have to invent a flipper friendly keyboard).
Here are some of my talking points on this subject:
View original post 564 more words
Anyone know how to get this to Miley Cyrus?
Eighteen months ago, in January of 2012, I decided to sign up for Codecademy’s Code Year. I wasn’t even sure what code was. But I had some time on my hands and an eleven year old son who was curious too. I was getting less and less work at the newspaper I’d been freelancing at for the last twenty years. And though I didn’t know it at the time, The Montreal Mirror was six months from folding.
I get it. I’m a writer. I’ve heard many versions of this argument applied to writing (too many people taking writing courses to write books that nobody will read, etc.) Still, I have an intractable belief in the adventure of learning. So, I tossed off a counter post, which eventually made it into an e-book anthology, “Should You Learn To Code”, with other people who disagreed with Jeff.
When The Mirror closed without warning, in June of 2012, it also closed fifteen years of archives, and a huge chunk of my professional portfolio. At least I had my blog. And even more free time. Before this employment crisis, I’d slapped together a little password creating app for for my son after his facebook account got hacked. That was fun, so I’d signed up for Coursera/Stanford’s Human Computer Interaction course determined to get the studio track certificate in app prototyping.
By the end of July, I’d accomplished this (with distinction!). I learned not just about design, but got some insights into the cognitive science that the top software engineers work with. I not only had a better idea of how apps work, but how the modern brain deals and doesn’t deal, with the constant potential for information overload.
Meanwhile, back at Codecademy, I was struggling through JQuery, hating the virtual checkers project, but doing it anyways. By the end of the summer, I still hadn’t figured out what I was going to do with all my new found functional literacy. I couldn’t seem to settle on a particular project.
I discovered a Montreal enterprise, PressBooks, that had ingeniously hacked WordPress and turned it into a free multiplatform book writing app. As an exercise in mastering it, I wrote a first chapter and an outline for a book about my adventure in code. I’m not part of the kickstarter generation, so I went old school and wrote up a grant proposal for the Quebec Arts Council about a writer learning to code, trying to figure out her place in this new technologically complicated world.
This brought me to September when Codecademy introduced the Python track. I thought JQuery was tough, but it was nothing like the resistance I was feeling towards Python. My savings and credit were running out. Jeff Atwood was starting to make a lot of sense. What had I been THINKING, a middle aged single mother, learning code just for the sake of learning code. Why was I still doing this? I had no interest in being the relatively old lady at a start-up. I’m temperamentally ill suited to office work, so I had no authentic desire to put these skills to practical use in the business world. Every time I talked to another writer, or any publishing professional, about what I was doing, they looked at me like I had lost my freaking mind.
I’d hit a wall. I could have so easily quit here. Not learn Python. No one would have been the wiser. But I’d gotten this far in my resolution. I needed to finish this marathon, or all the struggle I’d suffered through would be for nothing. So, I plugged away at Python, learning to, if not to love it, at least like it.
Until I got to list comprehensions. At which point, like anyone who has ever made it to list comprehensions, my mind opened. How could I not feel a tenderness towards this magnificent language, so ugly and incomprehensible to everyone else, so elegant and rich with potential to anyone who understood it. On that day, towards the end of my code year, my grinchy writer’s heart grew to two sizes, and for a short while even my apartment seemed bigger.
Yes it bothered me, a lot, that for the first time in my twenty year career as a freelancer, I soon might not be able to make my credit card payments. But another part of me felt impenetrably calm. I remember an interview I once saw with Jada Pinkett Smith on Oprah, explaining why peformance anxiety never got to her as an aspiring teenage actress. She’d been to the High School of the Performing Arts, she’d work hard. There was no reason to be nervous, she explained, because “I had a-bi-li-ties.”
No matter the stresses that seemed to be on the horizon, I couldn’t seem to shake the confidence that inevitably comes with valued skills and knowledge. In mid-December, just as I got to the point where I thought I might be delusional, I got a letter informing that I’d received the book grant I’d applied for. Not the kind of money one would get for a start up. But the writing life has a pretty low overhead, so it was enough to keep me solvent for another year.
It was also around that time that I learned about the first meeting of Montreal Girl Hackers. It was at Notman House, a slightly dilapidated mansion in the heart of downtown Montreal that had recently been turned into a government subsidized tech incubator. There were about thirty or so women of varying ages, backgrounds, interests and skill levels, from computer science teachers to beginners. There was free beer and food, financed by Google and/or Shopify, I’m not quite sure which. We stood in a circle and talked about what had brought us here. I told my story. Everyone clapped. It was lovely.
About a month later I got an e-mail from the organizer. She’d remembered that I’d recently learned some Python and was wondering If I’d be interested in helping out at a weekend workshop organized by the Montreal Python community to teach women some introductory Python skills.
Of course! There I took my first steps out of the sandbox and learned how to set up my own Python environment. I went over the basics again, learned a bit more through teaching, and hacked a few projects. It was like any other gathering of women learning a skill, except for instead of the usual pot luck that women always obligate themselves to, there was that free take out again. I went to a follow up meeting a few weeks later. More free beer and food, the origins of which were not entirely clear to me yet. But they soon would be.
Montreal, it turns out, had been chosen to host PyCon, the North American conference of all things and people Python, not just for 2014 , but 2015 as well. At the last PyCon there had been some controversy over a sexist remark, so Python HQs decision to buy a lot of Montreal women free dinner whenever they got together to learn Python, seemed a wise one. They were interested in kids too. Apparently at the last PyCon, everyone had walked away with a free Raspberry Pis.
So here I now am, a little over eighteen months since I signed up for Code Year, taking some time to reflect.
Since January, I’ve pulled back from my blog to get focussed on the history and theory behind these skills. With research, I have a better sense of the bigger picture. I’m working my way through those codecademy lessons again with a slightly more sophisticated eye than I had back when I was half parroting my way through. I’m working at writing the kind of book I wish I’d had when I started. Something that would inspire newbies to keep at it, and help them better understand their place in the master narrative of computer science. Something that doesn’t get too tangled up trying to explain the things that they might not be ready to learn yet, but that glimmers with enough light to help them blunder their own way through. Something guided, I hope, by the proverbial finger that directs us to the moon.
I’m reading Tim Berner-Lee’s memoir and just learned that his mother Mary Woods was one of the programmers on the Ferranti Mark 1, the first commercial computer in England. Back then, as in the U.S., women made up roughly fifty percent of programmers. His parents met at a Christmas party about a year into the project.
Some of those early programmers learned to code because they had a specific job to do. And usually that was the best way. But not everyone learns like this. According to Grace Hopper, inventor of the first compiler, it took her two years to get her male peers to even look what she had created. They were so enamored with the snippets of code they were playing with. True, none of them can take credit for the compiler, but obviously it led them to other stuff. I’m not against projects based learning. But I put a year aside to learn to code for code’s sake and doing so has led to me places and projects I had no idea even existed eighteen months ago.
Fortunately, I have little shame about my newbie perspective. Maybe one day I’ll learn to worry more about all the time I “waste” learning. I have no idea what I’m going to have experienced or learned eighteen months from now. But if it’s only half as interesting and fun as everything I’ve learned in the last eighteen months, I’ll still consider myself on the right track.
Python is killing me.
Python is all empty space. And while the basic logic is still there, why do all computer languages have to do things differently?
Mostly, I guess I just resent that it’s hard. Which is probably a life problem, not a Python problem. Why do we always think that life is going to get easier? I’ve been baby stepping my way through, but I’m falling behind. I was on track to finish Code Year on time, and every week my percentage of completion is getting a tiny bit lower. I feel like a marathon runner who’s fading in the last mile.
Must. Get. The. Passion. Back.
Yesterday I was thinking about the programming satori experience that got this blog rolling. I remember how I felt after I got through the Snake Eyes challenge. The world took on this complex, computational beauty that I never would have seen If I’d given up . For the week after that challenge I was thinking in code. I felt enlightened, stronger.
I’m sure Python has something to teach me too. I just have to be willing to re-commit and set a challenge to make up the ground I’ve lost.
One of the advantages of being the mother of a twelve year old is that I have many inspirational Hollywood movies to choose from in this mission. A scene from the Karate Kid remake comes to mind. The one where they visit the Taoist monastery and Jaden Smith learns that the snake is not controlling the nun. By copying its movements the nun is controlling the snake!
There is some profound metaphor in there that I don’t quite understand yet. But I will find some way to make that allegory work.
Because if I’ve learned one thing from a year of learning to program, it’s that it’s usually right at the point when nothing makes any sense that the magic is about to happen.
The TED talk linked to above is an enlightening and empowering testimonial on how parents can inspire self-study.
This weekend I went to WordCamp here in Montreal. I didn’t go to both days because Saturday was Ben’s birthday.
It had occurred to me, when I first heard about this gathering of the wordpress community, to see if I could sneak off in the afternoon. But then, over at SkillCrush, I read these wise words from an experienced lady programmer: nothing is ever important enough to miss your child’s birthday.
We had a great day on Saturday, hanging out, playing Little Big Planet and video game shopping. Sunday morning when I headed off to WordCamp, bright and early, I was brimming with healthy ambition. When I saw the number of people struggling through hangovers from the Saturday night social, I had no regrets.
Hangovers notwithstanding, the energy at WordPress camp is so warm and nurturing and fun, I vow to make this a yearly ritual. And hopefully next year it won’t conflict with another one.
In the morning I went to the developer presentations:
At lunch I had a great chat with the developer who has adapted Word Press for Post Media, one of the largest media conglomerates in Canada (National Post, Montreal Gazette). One of the things he pointed out is how little envy there seemed to be at WordPress camps. Unlike other conferences where networking always has a kind of edge, there’s so much work these days for developers, the vibe is open and generous.
In the afternoon I went to presentations that were a little more local, content oriented, and French, so I won’t summarize them here. But at the end of the day I was so impressed with the whole WordPress organization that I found myself trawling through their job postings.
The one that caught my eye, Happiness Engineer. What an awesome job title. If I understand the job correctly, it’s enlightened customer support. Requirements are good writing skills, a working knowledge of HTML/CSS, and compassion for people grappling with information technology.
Maybe I’ll apply. But in the meantime, I have my own little startup here at familycoding, and the job of Happiness Engineer has just been filled.
This week at Codecademy we started Python.
First off, where is the crazy making syntax! Oh, those first weeks of JS, where every rule was such an affront to my sensibilities as a writer. Semi-colon over use. Periods in the middle words. Capitalization of second words. In the early days, my brain rejected JS like it was a kidney of the wrong blood type.
Python is made for writers and I’m guessing much better made for families. It’s also made for people with a sense of humour. The name of the language comes from Monty Python, which makes it particularly appropriate for my family. My mother went to Oxford, and was once in a skit with Peter Cook and Dudley Moore. Bragging over. She played the American girl with a nice rack. Still, British comedy was pretty much a side dish at dinner where I grew up.
Python tutorials are known for their cultish flourishes, and use “spam” and ” eggs” as introductory variables. Over at Skillcrush, (an exceptional ed tech startup directed particularly at women), I recently learned that Python is used for sites like Youtube, reddit, and Yelp.
I can’t tell you much more about the language, since I only started learning it yesterday. But in keeping with our theme of comic relief, here’s the funniest thing I’ve seen this week. Yelp reviews read by actors. Just an example of the joy that Python is bringing to the world: