so, make something

I’ve had a brilliant idea!

I mean, it’s Sunday. Of course I have had a brilliant idea!

For the last year or so, I’ve been dabbling with learning to code. I’ve gone through multiple online tutorials (some pretty good, some pretty bad), read a few books, taken a class, sat in mini-lectures from my colleagues (those are my favorite). And it’s all worked, to a point. My literacy is improving. It hasn’t been quick, but I have more knowledge now than I did a year ago and that counts for something. I’m not happy with what I know though, with what I would characterize as “how little in so long” I’ve learned.

There is this not-uncommon ethos in many aspects of computer science and programming: those who are best suited for this work will find a way to learn it on their own. I can’t say I particularly agree with this mindset. I think it’s dangerous and sets beginners up to fail. I don’t think our failure to teach beginners well is intentional, but I have yet to read a “getting started” guide or introduction to anything that has clicked with me. Many sighs were expressed this week with the lament that “nothing here is written for me.” I don’t have the answer here (that’s not my domain – I’m much more a student than a teacher) but I know I’m frustrated that I can’t learn to code the way I learned mathematics or climatology or chemistry or Shakespeare (that is: lectures + homework + tests).

I’m going on a longer aside here (sorry I’m not sorry). I’m sure I learned those things well in that combination because those were introductory explorations. I’ve never learned “a lot” about something without having hands-on work or interactive exploration. I speak about learning history in these terms a lot. History is not the memorization of dates and events. Dates and events can always be verified for accuracy. The order of events, the impact, the lessons, the story is much more important. Understanding why things happened or the implications of an event, the meaning, is the point of studying history. It does not matter if you know on what date we invaded Normandy, if you know the why and the impact. (However, having a knack for dates can come in handy for passcodes.) It wasn’t the lectures that taught me most in history courses; it was absolutely the conversations I had with other students, the conversations I actively listened to, and the interaction with my professors.

[While I thought I was having burst of clarity this morning, I now realize that someone much smarter than me already told me all of this. See Bob Holt‘s talk from jQuery Conference Portland: Home-Growing Top-Notch Developers. This should be required viewing for anyone (including developers) working with developers.]

All of this is to say that I’ve been struggling with learning to code. I want success here to equal lectures + homework + tests. There’s a structure there that is appealing, but I think I’ve hit the end point of where this structure supports success. While I am somewhat self-motivated (I certainly fall on the motivated side of the line, but not in the top 10%), I have a lot pulling at my time. I have a full-time job that does not neatly start at 9 and end at 5. I have friends I must brunch with and family I must Skype with. I need to be active and I have an insatiable itch to travel more. Weekdays are never long enough and weekends fill up quickly. (In the summer, I simply cannot deny the allure of the sun and shore. As summer ends, it’s practically a biological necessity that I watch hours of football on Sundays.) Simply, I cannot spend all of my time indoors and at a computer. This isn’t just priority setting; this is a simple fact of how I survive. I need all of those things in my life.

This all balances really well right now – my “work-life balance” (a phrase about which I have many thoughts for another essay) is nearly perfect. Nearly. What is missing from this mix is time to learn something new, particularly something which requires dedicated time at my computer. Where do I fit this in? Where is the online class I can take and add this skill to my repertoire in a few semesters? Teaching myself something I don’t know doesn’t make sense in my brain. Don’t you read books to learn things you don’t know? How do you even teach yourself something?

My colleagues have implored me to try this “learning by doing” thing and build something. I’ve been convinced, but even this simple concept has gone through several false-starts. First, I wanted someone to give me a project. You tell me what the goals and parameters are and I’ll figure out how to get an A on the project from there. (Yeah, I really liked school.) Then my colleagues succeeded in convincing me that the project had to be something I wanted to do. So I came up with a project far beyond my capabilities (for now) and perhaps set myself up for failure. I couldn’t stop seeing the whole picture and it was overwhelming. I just felt defeated and frustrated, and consequently, disinterested. This week, I scaled back and decided to just work on my personal website (an idea I had shot down multiple times; sorry, friends).

This is great, I thought; this is where I’ll start. I’ll do this simple task – I’ll create something which will feed a need to show what I’ve done, and I’ll surely learn as I go. Brilliant. I’ve spent the last few days investing a reasonable amount of time into this. It’s basically just html and css, right? How hard can it be?

Answer: not hard. This is great – I have learned enough over the last year to move through this. Sure, I move a little slowly and have to look things up a lot, but I’m at a point where I know how to find the information I need. That’s awesome!

I could be using this post to announce and point to a new, but I abandoned that project.

Wait, what? You just said how great this learning project is.

I did. I know. I found the catch to all of this, though. I already love the way looks right now and I am completely happy with using WordPress for this. Nothing I can build now will be better – because I don’t have a better idea. And I’m not going to try to recreate something that already exists and fills my needs. Because I don’t actually want it to be any different than it is right now. At all. As it became clear how pointless the result would be, this project became “not fun” very quickly. It felt like another false-start, until it led to something better.

I spent a significant amount of time this morning re-reading all of the blog posts and semi-organized drafts of essays I’ve written about the Boston Marathon bombings. It all got very emotional (I mean, it’s only been a few months), and then I got very frustrated that I can’t yet read these pieces as – well, essentially as sources, as historical documents. I have an intense need to write about this event, but I’m not a journalist. I’m a historian. I don’t write about the now; I write about the then. (Really ready for this to become a “then” type of event.) History isn’t just this thing I love, this side hobby; it’s obviously influenced much of my educational life and professional development.

I needed a deep breath so I switched to working on my website, despite my growing reluctance, and realized I have no place for this huge part of my life, nowhere to document the fruits of my efforts in studying history, nowhere to share with the world these stories I love. I suppose it never seemed important because it’s not my current career path, but it should be here. My website should have a place where I can share all the papers I’ve ever written, maybe as some kind of nod to the C.V. I would have had if I had stayed on the professional historian path.

Work on something you want to see exist… hmm, where have you heard that before?

[It turns out, of course, that this moment of brilliance did not happen in a vacuum either. And for this inspiration, I would point you to Jenn Schiffer‘s amazing talk Learn Code, Make Art at jQuery Conference Portland. Is an essay on the radicalization of Nelson Mandela a work of art? I say – for me, yes. I’ve made it; now I want to share it.]

Is it a tiny setback that I don’t have digital copies of any of my essays? Ah, yep. But not an impossible setback. The time it will take to have my papers sent to me (for everything still lives in Wisconsin) will give me time to play around with the html and css. (There’s structure there but it is uuuugggglllly – css is hard.) This is something that doesn’t exist, that I want to see exist, and that I’m capable of creating. That – that is exciting.

My last aside: maybe this is also an opportunity for me to keep working on history? I do miss it so much, you know. And I fully subscribe to this belief that I should be doing things I love. Maybe I love that learning to code lets me share the other things I love with you, too.