Learning Python: reflections and new directions

Hi again! If you’ve been following along, you might have noticed a little gap in my posts. That’s because I’ve spent the last ten or so days doing a lot of behind-the-scenes work for PyTennesssee. Self-reflection, writing, organizing my work, and yes, studying! LPTHW’s exercise 22 – where I left off – is all about review; exercise 23 is reading code; exercises 24 and 25 are more practice. All of these lead up to 26: a test!

Notably, I’ve been thinking about an incredibly thoughtful email I received from Anna of DjangoGirls. If you don’t know her, get familiar: she does amazing work and will be presenting at PyTennessee. A fellow autodidact from a non-technical background, she’s been following my work at Coding with Knives and reached out to share some wisdom about the process.

First of all, she recommended a ton of new Python-learning resources, from Coursera’s Programming for Everybody (enrolled!) to Lynn Root’s advanced exercises at newcoder.io (one day!). Her list opened my eyes to the breadth of opportunities out there.

Second, she shared meaningfully about her own journey, especially with regard to the frustrating moments and how she navigated them. This was in response to my own expressed frustration on Twitter. As a learner, there’s something encouraging about hearing folks I perceive as experts share the times when they didn’t feel quite so boss.

Third and finally, she expressed some concern about the pace I’d been keeping as I worked through the LPTHW exercises. She sensed that I was really pushing myself hard, and she was absolutely right. I took her email in the spirit intended: supportive, curious, open-hearted, and it became a much-needed jumping-off point for thinking about my process.

So I’ve been thinking critically about why I am doing this, and asking myself if my current learning path is serving me. Should I keep doing LPTHW exclusively, when there are so many great resources out there? Is this blog just a place to post screenshots of exercises like homework assignments turned into no one in particular?

No. While there are lots of great things about LPTHW, and I intend to follow it to completion, I’ve decided that basing this blog entirely around completing one book’s exercises is simply not enough. I started Coding with Knives to share thoughts about where I am in my Python learning journey, pairing reflections with recipes and cooking tips from my years of kitchen experience. Anna’s message helped me get back in touch with this original intention.

Further, I’ve put a lot of pressure on myself to complete the LPTHW exercises as quickly as possible in advance of PyTennessee. This pressure comes from a place of feeling inadequate, or like I don’t have any right to be standing alongside the experts at PyTN. You can sense that in my response to the conference organizer when he reached out to me about speaking a few months ago:

I (could) discuss resources that were helpful to me…strategies I used to hold myself accountable, and any difficulties I encountered along the way. It won’t, however, be the kind of talk where I necessarily teach the audience something groundbreaking about Python. Do you still think it’s worth submitting?

Sit with that last line for a second. Despite the fact that he reached out to me because he thought I was doing something cool and worth sharing, I was still covered in doubt.

His response:

What you are proposing in the email is exactly what I’d like to see. Share your real experiences and your path.  A good talk is more about relating and sharing than “groundbreaking”.


Anna’s message reminded me what I want Coding with Knives to be: a place where I share my real experiences and my path, rather than a place where I feel like I have to post screenshots of my terminal & text editor (though I’ll totally still do that, because I think it can be fun!).

Why? Ultimately, my desire is to inspire other women to code; especially women who never imagined they could. As someone who grew up on a small family farm in rural Georgia, earned a BA in philosophy & history and a MA in theology, and spent a good part of my twenties running restaurants or cooking for people, I’m entirely familiar with that lack of confidence. But it won’t prevent me from acquiring the skills I need to start building, and contributing to, projects I love – especially with inspiration and support from women like Anna!

So what’s next?

First, I’ll continue working on LPTHW because we’re moving towards building a game. I find that exciting! I just won’t be posting every exercise.

Second, I’ve enrolled in the Coursera class “Programming for Everybody (Python)” beginning February 2. I had a great experience with another Coursera class (Introduction to Music Technology) and am looking forward to this one!

Third, I’m reading “Think Python: Think Like A Computer Scientist” because I’ve wanted to for some time. It comes highly recommended and I can already tell why: he has a gift for making difficult concepts clear and accessible.

Fourth, I’m watching Jessica McKellar’s “Hands-on introduction to Python for beginning programmers” from PyCon 2014. A great suggestion from Anna.

Fifth, I’ll use this space more conversationally as I share what I’m learning. Concepts, yes, but also current events and non-Python experience. For example, a couple of months ago I learned some git basics and managed my first pull request on Github, but I didn’t really know how to talk about it here. The outstanding article I read yesterday on Model View Culture about code schools is another worthy topic, especially since I’ve considered them.

In summary, I’m stepping beyond my previous notions of what my Python path must look like and am opening myself to the rich and resonant variety of resources out there. To that end, I thought of a decent cooking analogy.

When you first start cooking seriously for yourself, you have to use recipes. Maybe you’ve got that friend who insists they never use them, who’s all “oh, I don’t follow anyone else’s instructions, I just throw some things in a pan and season to my liking.” Sure. Thing is, if that’s all you ever do, your range will be quite limited – restricted, essentially, to throwing shit into pans.

To bake, or try an unfamiliar cuisine, or work with new tools, you have to follow someone else’s instructions. And I’ve found that I learn most effectively when I source a variety of perspectives. Like LPTHW launching my Python journey, one cookbook’s pancake recipe might get brunch on the table. But let yourself read six recipes, comparing and contrasting them, and see what happens. My guess is that taking a holistic look at a basic process told several different ways will make it easier to grasp and more likely that you’ll get creative, sooner.

And that’s ultimately the goal, right? To get creative sooner: to start building things and contributing to FOSS projects I care about. And in so doing, perhaps I’ll inspire other women to do the same.

not actually kidding about that "farm" part

with my dad a few years ago. not actually kidding about that “farm” part

PS: This post is full of admissions that were hard to make because, as anyone with perfectionist tendencies might understand, it involves acknowledging that what I’d originally planned wasn’t working. It can be hard to switch gears when doing so comes with the requisite guilt for making an “imperfect” plan, compounded by self-doubt that the new one might now work either! But growth here means moving forward and attempting to apply that same flexibility, dynamism, and curiosity that I developed in the kitchen to learning to code. Cheers to the journey!

7 thoughts on “Learning Python: reflections and new directions

  1. Pingback: Kyle Mahan: Liked “Learning Python: reflections and ...

  2. Pingback: Kyle Mahan: Yay, glad you got such good advice. Very excited ...

  3. Dude, you are doing such a great job! I love the idea of mixing it up with lots of other coding and edtech resources. It’s super inspiring. I am thinking about hopping on the Python bandwagon with you sometime soon! (Like, after our two months’ worth of exhausting house issues are completely resolved for really real this time, and I get to take a week-long nap.)


  4. Pingback: Learning Python: on encouragement and seitan | Coding with Knives

  5. Pingback: Kyle Mahan: I've now shared this post with at least two ...

  6. I’ve now shared this post with at least two people asking about how to learn to code/Python. Cheers to you for sharing your personal experiences and compiling this great list of learning resources!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s