Maybe They Know

It strikes me recently that perhaps some of the people who have been running universities for hundreds of years might know what they're doing.

Christian, David and I have been working on basically reinventing the wheel in terms of what universities do for computer science students. This has been met with tremendous success, but at the near cost of our sanity and capacity to do anything else. We've successfully led 30 people through a computer science education by the hand, which is something universities don't do. 

Universities expect you to handle your own shit. They're as involved in your affairs as you involve yourself in theirs. They don't check up on you when you're quiet. Professors typically don't notice when you don't understand something, and stay into the night drilling you on your data structures. Basically, they expect you to figure out when you need help, and also expect you to force someone to help you. 

Our students are always type-a enough to be able to seek help in class, or for that matter in a workplace. However, they're new to a field that's so deep and frankly, lovecraftian in it's crazy hidden unknowns - they don't know what or when to ask. They don't know who to ask. They start out not even grasping the depth to which they don't understand.

Needless to say, we spend a great deal of time enumerating the order of magnitude of knowledge they're missing. 

The gulf however, drives Christian and I to spend 14 hours a day here. We even have a rule, we're supposed to leave at 6 on alternating days. Neither of us follow that rule with any kind of regularity. Generally only when we're expected to be somewhere. But, on the plus side, our students completely floor our partners on hiring day, and their managers come first review.

Rarely, but it happens, I envy the life of a professor - I wish I could be as aloof and more detached than I am from the success or failure of my students. But, I'm doing something that matters. So many people can't say that. I also suspect that most professors develop that detachment over a great deal of time, and heartache.

Week One

Week one down! 

It was all very exciting. I got up in front of 26 adult women, and explained that they might have trouble with logic when Aunt Flo comes around. Gutsy, but someone needs to talk about this stuff. 

I was pretty sure that I'd only connect with about half the class, and the other half would hate me. Turns out, I haven't met anyone in the class I wouldn't be friends with. Everyone seems interesting, with varied backgrounds and responses to the material.

One of the most difficult things I've found is the pairing. It takes the burden off of the instructors by forcing students who otherwise wouldn't know where to start to talk out their thoughts. It also makes for a VERY loud classroom, which can be stressful for some of our more introverted students. The other challenge is that it turns out that women like to talk to one another. A lot. While this is a boon for engagement in the material, and for productivity, it's a bit distracting and it's a constant roar of "Ohhhh I get it" and "What? Why won't this work?!". Still though, it seems to knit the class together.

I seem to have a pretty good rapport with Christian - he knocks on Javascript (which is secretly fine) and I knock on Python (Tuples are stupid), which the class enjoys. We've deliberately chosen skeptical, intelligent women who wouldn't take everything we said to be the word from on high, so the back-and-forth is nice. 

All in all, I am exhausted. But I haven't been so excited for Monday in awhile. 

Ask Questions

I've been teaching programming for Girl Develop It now for about 3 months. I've been loving it, because I'm secretly a teacher deep down underneath my programmer shell. If programming is my ethnicity, teaching is my calling.

 The unexpected benefit of teaching has been to help my own confidence when coming to a part of the country so steeped in engineering talent that you feel you're the only one who might have to ask a question now and again. I've realized the tricky bit about asking questions, however. It takes an enormous amount of confidence. 

Admitting that you don't know something, or don't quite understand it is really difficult. You feel that it calls into question things you DO understand. The problem with this, and something you have to remember when asking whether or not you understand something, is what the baseline for "understanding" actually is. "Understanding" means different things to people in different stages of their careers. Depth is a very relative thing(xkcd link) - something that's deep to you isn't deep to someone who's entire life revolves around a narrow slice of your profession.

Last year, Simon Collison wrote a piece called Maturity and the Weight of Learning. In it, he discusses a number of topics- namely, culling and surrendering, and the immature view of tools. Many young developers start with a host of very powerful tools, and so learn web development (and other forms of development) with a "top down" perspective. These tools make you feel powerful, and they abstract away the need to understand how they work - but they are built by human beings, with faults, and break down around the edges. Leaning on them in the beginning is fine - but as you get out towards the edges of the Kingdom of CRUD, you start to notice a need for you to get to your feet in shifting sands. It is here that most developers grow their wings- or turn back and toil in the overcrowded kingdom.

Simon's piece talks about the responsibility we have as craftsman, to learn, to ask, to be ashamed we used a tool without understanding how it worked. This is hard, but it is doable. It is part of accepting the mantle of craftsman - this title is not free. The prescription is to admit your own limits - knowing where they are is the first step to breaking them.

A final note - I assure you, those who have taken upon themselves the title of craftsman, and who are considered so by their peers will never look down on you for trying to learn. Ridiculing someone for not knowing a thing is the biggest indicator of personal insecurity. 

Knowledge is Relative

As a mentor, I spend a lot of time calming people down. This is I suppose my mother hen approach to mentorship, but it seems to work for the subset of people who I take on. I wrote a letter to someone who feels recently like she's failed because she doesn't have a firm grounding on the basics of what she's trying to learn. She doesn't see the progress she's made, or the ground she's gained- she only sees what she doesn't yet understand. I've written this letter to many people in the past, and I suspect I'll write it many times in the future. Here is what I usually say, more or less, with the identifying bits left out.