Driftless at 1,000 mph
Last week I published How I passed 2k GitHub contributions. This post is, in some ways, the antithesis of that, and it will be very emotional and messy. Here be dragons.
Throughout my time at RC I've noticed only one thing is consistently difficult for me: focusing on hard things. Intellectually I love the idea of challenging myself. And I find that when I start to work on things that are new and not easy, it feels good and I tend to keep working on those things, because they're interesting. But starting is something that I just don't do frequently enough, and so I find that I haven't progressed as a programmer nearly as much as I would like to have.
What is productivity?
Merriam-Webster defines it like this:
the quality or state of being productive
the rate per unit area or per unit volume at which biomass consumable as food by other organisms is made by producers
And "productive" is defined like so:
having the quality or power of producing, especially in abundance
effective in bringing about
a) yielding results, benefits, or profits; b) yielding or devoted to the satisfaction of wants or the creation of utilities
continuing to be used in the formation of new words or constructions
raising mucus or sputum (as from the bronchi)
By definitions 1-3 I certainly seem to have been productive; I've written a lot of code, much of which is useful. But useful to whom, and for what purpose?
I sometimes feel as if I'm just generating more and more code without any guiding process, as though I'm wasting my time even though concretely I'm getting a lot of things done - driftless even though I'm churning out work at an extremely high rate. Is this imposter syndrome? Or are my worries legitimate?
Maybe a better way to frame this question is to split it in two - am I being productive for myself, and am I being productive for the community - the two things that are currently important to me personally.
I think I am failing at being productive for myself, in some really important ways. I'm also succeeding in some - for example, I used to wish I had an engine to run my blog, and now I have such an engine. But in others I am failing.
What is the purpose of RC? Why am I here?
recurse.com says this about people who come to RC:
The Recurse Center is for people who want to become better programmers. We are not startup school nor are we a bootcamp: Our focus is helping people become better programmers, not building prototypes, and we're not a training program for web developers.
Because there is no certification or grading, the only reason to come to the Recurse Center is to become a better programmer. As such, you will find kindred spirits and tremendous energy. We look for smart, friendly, self-directed, intellectually curious people who enjoy programming and want to get dramatically better.
More directly, the manual has this to say:
You should be here primarily because you want to become a better programmer and spend the majority of your time here programming and doing things directly related to programming.
Well, we could ask you to be respectful of speakers and keep conversations on-topic in the Recurse Center space during the day (i.e. if you want to take a break and chat about your weekend, go grab a coffee).
However, as Harold points out, that isn't necessarily an accurate picture of what RC is about. I think a lot of what it's really about is the people who are in the space with you. I've sure had a wonderful time with the people. Does that mean I'm "succeeding"?
Then there's the teaching.
This is referring to the fact that I teach at Security Club every week, plus my volunteering to run a workshop or two for Beginner's Club and Web Dev 101.
Practically speaking, I get very, very little out of teaching at RC. Sometimes it helps solidify (or just plain remind me of) the concepts I teach, but this is the exception, not the norm. So in that sense by spending time teaching, I'm "failing" at being productive for myself. But it seems clear to me that people get a lot out of the time I spend, so I seem to be very productive for the community.
Equally importantly I love teaching. I qualified the previous paragraph with "practically speaking" because emotionally teaching is something that's very beneficial to me. Does that mean I'm "succeeding"? Does it mean I'm "failing" and "succeeding" at the same time?
I honestly don't know.