Category Archives: wordpress

Code Year, Eighteen Months Later

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.

In April, after I’d triumphantly (to me at least) familiarized myself with the fundamentals of JavaScript, I had a tiny twitter spat with Jeff Atwood over his now infamous post “Please Don’t Learn To Code.” Jeff, who runs the popular blog Stack Overflow,  didn’t believe that people should learn to code just for code’s sake.  He’d seen too much bad code, broken dreams, and faux programmers in his career to jump on the code learning bandwagon.

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.

Happiness Engineer

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:

  • Responsive Design (how to design your web pages so that they fit mobile devices, as well as desktops).  Lots of technical stuff that I mostly understood and will probably better understand next year. The takeaway: code semantically. i.e. start learning now how to design webpages that are low on marginalia. 100% column widths. Sliding panels. etc.
  • Theme Building. This was my favorite, even though I have zero intention of ever becoming a Word Press theme builder. But Kirk Wight is such an entertaining speaker, I might actually consider it. Either way I was  proud to be one of the people in audience who knew how to write a function.  I feel my work this year has been vindicated. Keep an eye out for Kirk’s presentation on WordCamp TV
  • Child Themes. You don’t actually have to know much CSS to build really cool websites.  There’s basically a separate console that allows you to write just a little CSS and dramatically tweak the core code.  The CSS for the child theme will always override the CSS for the parent theme (not unlike life.)  The takeaway: don’t ever touch the core code!  Use the separate console for child CSS. This could be a really cool project for kids, learning just enough CSS to mash their own cool website designs  from available themes.

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.