someone using a backscratcher

From “sit still” to “scratch your own itch”

When I started off in open source, I believed that bit of “The Cathedral and the Bazaar” that said:

Every good work of software starts by scratching a developer’s personal itch.

Regardless of the truth of this assertion, somewhere along the way I got the impression that people usually get into open source via “scratching their own itch,” and I mixed up prescriptive and descriptive to boot. Personally, I started dabbling in open source testing hoping to learn a bit of Python, and then really got stuck in when I saw a clear unmet need for documentation even though I wasn’t personally going to use it. Sometimes I thought I was inferior — surely I ought to have been thinking up my own projects, improving my work environment, and writing things that would help me out, thus getting me into a virtuous circle of learning?

I’ve since learned more about how I learn (see previous posts on beating certain learning anxieties). And I’ve found it helpful to talk with other newbies and see the patterns.

Here’s one: the newbie who finds it frustrating that they “don’t have ideas.” This person, like me, has heard the message that a REAL programmer or a REAL open source contributor is supposed to be a self-starter who comes up with their own project ideas from the start and uses them to learn. Or the newbie knows they learn best by doing, but they feel a discouraging malaise whenever they attempt to think of an idea to pursue.

This affects people of all backgrounds, but I wonder — is it harder to reflexively “scratch your own itch” when you’ve been taught, as so many women have, to stop scratching and sit like a good girl? If you’re part of an oppressed group, and parents, schools, peers, mass media, and bosses have all consistently punished you when you speak up about a missing stair, then is it any surprise that you’d be slow to start picking up the saw and hammer?

metaphortunate articulated that youthful indoctrination:

I had finally learned that whenever I got angry and I tried to do something about my anger to the source of my anger, everything just got worse for me.

So in the long run one answer to this is that we have to work to make sure everyone has agency and feels it, their whole lives. But, given that some of us struggle with remembering our agency, and that it’s fine to have different learning styles, here are some ideas for priming the idea pump, or for alternate pathways into learning and getting into open stuff.

  1. Embrace boringness. Look at other fields, like sewing, where it is totally fine to start off by making a simple handbag off a common pattern. In open stuff this might be the “same old same old” LED clock or blog platform. If an idea appeals to you but there’s an inner censor saying “that’s too boring” or “what’s the use,” you can tell that inner voice that Sumana says “shut up.” For me, it’s Skud saying “shut up” to that inner censor.
  2. Embrace silliness. Perhaps the equivalent of embroidering a happy face onto an oven mitt. Again, if you think it would make you a scintilla happier, go ahead.  And again, I have a Skud in my head telling the naysayer to buzz off.
  3. Find someone else’s pain point. It is perfectly legit to work to improve shared tools. Look around at places online or in your local community where people are asking for help. Maybe you can find a ridiculously tedious data entry job that you can help with a corner of, or it would be nice if a light over here lit up when such-and-such happened. In a sense, this is what Outreach Program for Women, OpenHatch, and Developers For Good offer: the organizers have already curated the TODO lists so you can pick out the tasks that interest you. It is fine to simply piggyback on existing projects and drift around a bit learning lots of little things that way, and the more you learn and do, the more needs and opportunities you’ll discover.
  4. It’s fine to take a class. Different people at different times learn differently. If you think you’d benefit from structure, encouragement, sociability, and exercises, opportunities from edX to Hacker School to your local community college are worth checking out.
  5. Work with scraps. I get anxious over wasting food or cloth or paper, so when I cook or sew or write stand-up comedy or poetry, I feel more comfortable working with scraps, with leftovers. When I am scribbling ideas for stand-up bits, I prefer to use textfiles that already have miscellaneous jottings in them, or little half-full notebooks, or odd-shaped scratch paper. No doubt my preference for pre-ruined materials reflects my perfectionism and anxiety over worth. I can be creative more easily if the materials were just going to go to waste anyway. I think the trick to addressing this mindset, in the long run, includes habits of deemphasizing and subtlety, tricking oneself into not making a big production out of any given attempt. I’m not good at that. But in the short term: scraps. Find patterns in datasets you already have. Look through old academic papers to find citations to add to Wikipedia. If you have a web presence you barely use, repurpose it as a CSS playground. I’d love more ideas around this theme.
  6. The examined life. What do I actually want? Is there a thing that could make my life better? Honestly I find this question really hard to answer; it requires that I address the pain of unfulfilled desire instead of just accepting my world as it is. But if I have conquered some of the ways the kyriarchy has colonized my brain, then it’s possible to hear the “$foo would make my life better” signals and perhaps address them through technology.

What have you found useful in overcoming the myth of boundless ideation, or in learning to listen to your own itch?

4 thoughts on “From “sit still” to “scratch your own itch”

  1. jessamyn

    You know, I think what you’ve outlined here is relevant to any cooperative creative endeavor. Music, writing, improv… great advice for anything, really!

  2. Jackie

    I think it’s incredibly important to emphasize — well, all of these things, but I am especially struck by (1) and (2) and the line “It is fine to simply piggyback on existing projects and drift around a bit learning lots of little things that way”. Because _yes_, and because there’s so much implicit disregard of these ideas and not much explicit discussion about either; I agree there should be more.

    Like tutorials for new frameworks you want to learn or whatever: are there blogging platforms you could use already? sure, of course, but if you want to do the blog tutorial on the Django website it is an unqualified super awesome that you _made_ that and starting out with help is a GOOD thing. I struggle with this even though I believe it and I’ve found this piece hugely helpful for sorting that out. I often get caught up in wanting to make things that are _generalizable_ and forgetting how satisfying and useful to me it was to write that small script that would do a specific random thing I wanted done. It’s easy to say “time on the ground is what helps” and get caught up in guilt-circles that you’re not spending time on the ground doing *new* things, even though that’s not the case for practicing e.g. music (at least IME). All the practicing is (exceptions granted as always) genuinely useful.

    I’ve found this true in writing but don’t apply it enough to crafting my approach to programming or generally learning things: is that an unnecessary qualification? Away!

    Thanks for this!

  3. Andromeda

    Me? It’s that funny look on people’s face.

    You know. When I say something that I took for granted, something I thought was obvious, that didn’t even count as an idea, and they give me that Look. The one where their eyes go wide and they do a bit of a double take and I realize, oh, maybe that thing wasn’t obvious after all. Maybe it’s been worth making it explicit, saying it out loud, instantiating it.

    I keep thinking about Courtney Stanton’s post, also on this blog, about how she got 50% women speakers at her tech conference, and how much of that was that people in fact already had the ideas and they just didn’t know it. I think we do have the ideas. But sometimes it takes others’ reaction to us to elicit them, to identify for us where we’re stronger or stranger or better than we realize.

    I am practicing taking those reactions seriously.

  4. S.P.Zeidler

    A little suggestion to expand 3:
    Given a project you are interested in, and given at least one of its regular developers being a friendly person: Ask them if there is something you can take off their hands that’ll take 2-3 hours, your skill being .. (and everybody has skills. E.g. a native speaker of English willing to correction-read some documentation is eminently useful. A naive user trying to follow instructions, identifying gaps, is useful (but usually fails at staying naive :)).
    Expect something that the developer considers entirely pedestrian and boring; it may still have a learning curve to climb for you, but you can ask for advice, and having company is also nicer. If you liked it, do it again. You get to learn, and Achieve Useful Stuff, and as a bonus the more experienced developer gets to spend their time on tasks that challenge -them-.

Comments are closed.