"Non-coders" in Open Source projects or: On aliens – Confessions of a "non-coder" (1)
In the last months, I thought about how to attract new committers to Open Source projects, especially how to attract people who are not developers themselves. I talked to people about it, read about it, and stumbled upon a few posts, mainly addressing “coders” and talking about how to attract “non-coders”. While reading, I often felt like those “non-coders” were either pets, aliens or any other strange species which no one really knows anything about :)
I believe now is time to change this. By thinking out loudly about “non-coders” in Open Source projects, a topic that is very important to me, I hope to to help you and your Open Source project.
And the first and most important thing is: I don’t code, but still
I am not a “non-coder”.
As we all know, it is possible (and pretty easy, at least for many of you, I guess) to depict the world by just using the numbers “0” and “1”. But, as all of us also know: the world is far more than that. As soon as you get away from thinking in binary system, you realize it’s not only white and black, 0 and 1, but also many shades of grey and 0.5. And, talking about humans: the human race is more than “coders” on the one, and “non-coders” on the other hand. It is, of course, possible to differentiate like this. But if you do so, it’s in some ways the same like talking about food and having “pizza” and “non-pizza”, just because you are pizza or you know pizza well or you like pizza pretty much and don’t care about all other food. This kind of world view is, in fact, pretty arbitrary and not really differentiated.
Although this binary “black or white”- / “pizza or non-pizza”-system is pretty easy-to-use, it tends to subvert one thing: overall, we’re all the same. We are all human beings. And so am I. And I am not just defined by you: I am not just your opposite, I am not a “non-coder” just because you are a person who writes code. I am a human being, just as you are. But, still:
Of course, I’ve also seen people calling themselves “non-coders”, often in communications with “coders”, and I totally see that this term also makes many things easier. It expresses in a short term who you are not: you are not a person who writes code, and this may be pretty convenient as it don’t need further explanation in many cases. Yet, it ends at that point: it does not express who you are.
I want to compare this to the developers’ universe: when asked by a stranger in a bar, it may usually be enough when you, asked “what you do”, state “I’m a developer”. But is that really about it? Are you really “a coder”? You and I, we both know that there’s so more than that. I mean, even though many of you may be typing things into terminal or browser windows, you are not remotely all doing the same exact same thing. And eventually, when you start working with somebody, there will come a day when you have to confess:
“I’m a Delphi developer.”
… or whatever it may be. (btw.: sorry, Delphi devs, no offence).
And so, I have to admit:
We made pigeon-holes, too
In general, human beings tend to pigeon-hole other people. That’s good, in a way, because it keeps us from freaking out all the time because we don’t understand everything deeply. And it keeps us from attempting to understand everything deeply and freaking out anyway (because we’re not capable to). As soon as it comes to things like coding and nerdery, you (the coding people) often get pigeon-holed. (I know for sure, I’ve done it, too.)
We all know the clichés, so I’ll just get to my point right away: pigeon-holing is not really cool, but it’s more or less okay-ish, if you want to keep your binary pizza-system. So if you want to define your worldview by talking about “coders” and “non-coders”, go for it. But as soon as you want to get a closer relationship with people, e.g. by drinking lemonade with them, hanging out or, particularly, working with them, you have to give up pizza thoughts (or, naming the thing by its name: give up your “coders and non-coders”-concept of the world) and get to know them. Get to know us. And so will we have to do.
Non-coders do other magic
As soon as we get to know each other, I will try to understand what your job is, what you are working on and who you are. And I’ll expect you to do the same.
But, be warned: I may never fully understand what you’re doing exactly when typing some things into your terminal. But, hey,
That’s your job, anyway.
And you can be really happy I’m not starting to code. I think everyone should be trying to do what they’re good at. What I am good at, you’re asking? Oh, that’s easy:
My job is non-coding.
What “non-coding” means? Oh, “non-coding” can be almost anything (apart from coding, of course). So if you want me to help out with your company or your Open Source project, I can’t be “the non-coder” anymore. As long as you’re not willing, able or prepared to differentiate and not just consider me as “the non-coder”, we can’t work together. You’re good at writing code, we both know that. But do you know what I am good at? Perhaps I can copywrite in a way that compells people to do something. Or I know how to design user experiences that will make many more people use the app you built. Or perhaps I’m good at doing ten things at a time and know how to organize an event about your project. You should be interested in those things, the same as I will be interested in the things you do.
why should non-coding be of interest for your Open Source project, you ask?
Ok, so let me tell you about these:
Code is relevant
Look at my code, my code is amazing. Yep. Totally agree. As said: I like code. Open Source projects usually consist of code
(and a cool name). Code is the core of an Open Source project. Code is, most of the times, the “product” you have. And it is important that this product is great. Products have to rock. And I totally understand this. Nevertheless:
Code is not everything
I am relatively new to contributing to Open Source projects. Had I known about the multi-faceted Open Source-“scene”, the huge amount of projects existing, the opportunities to help, had I known about all of this before, I could’ve gotten started waaaaaay earlier. Thing is: I didn’t know. I’ve been interested in tech topics for more than ten years now and I’ve worked in software companies for around five years (which, alltogether, just means I wasn’t a total n00b when I got where I am now). But whenever I even heard of “Open Source” (which didn’t happen so often at all), the second thing I heard was about coding, developing, programmers. I never heard about anything else. What I never heard: that Open Source can be way more than this.
So, before getting to the questions why I think that many Open Source-projects may need more than just code and what you can do if you think this applies to your project, let me get to the short story
How I became an alien in an Open Source project
I, personally, am a writer (of prose, short stories, copywriting all the things), a photographer (of people, landscapes, journeys) and someone who knows about communications (like doing marketing and talking to customers). I’ve done various things to make a living in the past ten years, I’ve met various people and I’ve been around the internets™ for quite some time. A few years ago, I met Jan on Twitter, and one year ago, while I was about to quit my job in a startup, he told me about this “exciting new project” he was just starting to work on. He told me some details and, honestly, the only thing I really understood was the project’s name. And its name was Hoodie.
Three months later, I had an email in my inbox, subject “Lena meets Hoodie”. And this is how it all began.
What I am working on
Of Team Hoodie (which are more or less 7 people who work on Hoodie directly and continuously), I am the only one who doesn’t code. The first project I worked on was to figure out what I could work on (which means: I just created a job for myself): first, I set up a communications strategy and discussed its main points with the team (disclaimer: the strategy has never been realized. But, though, it was good for me to try and understand at least a bit of Hoodie). Secondly, as we’ve been working on client projects throughout last year and I’ve done such things various times before, we also decided that I would do project and account management.
So, what the other team members and I basically did was: we figured out where I could help and how we could share work fields. My main goal was to do the things that I am good at and so help the other team members focus on what they’re good at (which is, for example, coding). This, by the way, turned out to be a pretty good strategy. And besides this, I was glad to get to know more and more people from the Open Source community. And I was very happy when I was asked to help out a few conferences and events by writing blog posts, doing research and copywriting for them.
During the last months, I discussed about read some things about attracting people to Open Source projects. Usually, these posts were talking about new contributors in general, but usually meaning direct contributors to software: coders, developers, engineers. Aiming to dig deeper into the topic, I stumbled upon a few notes on attracting “non-coders” to Open Source projects.
I’ve just taken this as an example for the intro of this piece because it’s in some ways a good one as it encapsulates some topics (more on that later) and I found interesting how I reacted to it. Actually, based on it I want to point out some things about attracting “non-coders” and working with them in Open Source projects.
As this all is pretty cool and awesome, question is:
Why have I never heard of something like this before?
In my opinion, there’s a few reasons for this. During last JSConf EU-week in September in Berlin, I talked to various people (mainly developers) about this topic because I wanted to hear their opinions on it. And it turned out what I already knew:
Everybody loves coding
And this is amazing. Code is important, it is the core value of most Open Source products (I said this a few times before and I will keep on saying it because I think it’s important).
But, still, what all of the people I talked to mentioned, too:
Often, there’s something missing
So, the next question we could think about is: what could Open Source projects mean and include besides the very important coding parts? And there could be a bunch of things to do:
- writing about your project
- maintaining a blog
- improving your documentation
- finding bugs
- improving the UX
- translating your software and / or documentation
- designing a good website, logo, UI and much more
- creating tutorials
- designing slides for conference talks
- getting funds for your project
- getting the press write about it
- organizing events
- attracting new users
- attracting new contributors
- by the way: I will not talk about “giving money” in this context. Yes, almost everyone is happy about money, and it’s so good that there are people and companies who support Open Source projects with their money. So, if you don’t code and want to give money, don’t hesitate! There are many projects that can make use of it :)
Thing is just: many of these things are often forgotten. There’s no time, no resources, no one who could (or would want to) do it, no money to pay people, no “need” to, etc. I know. And I understand all of them, so I don’t want to blame anyone here. Nevertheless, I want to tell you:
Focus on coding. But don’t forget about the rest.
Because there is another question to think about which I haven’t mentioned yet. And the question is, what you want to achieve with your project. Do you want to
- provide good, useful software for other developers
- provide good, useful software for other users
- enable people to realize their dreams
- change the world of technology
- be well-known in the Open Source scene (and beyond)
- provide good documentation so people can easier use your product
- create valuable content that compells people to do something
- offer Open Source alternatives to common software
- make the world a better place
- attract new contributors who help you to move on with your project
No matter which of those you consider important for you: all of them got in common that you need people who support you for achieving one or more of these goals. But attracting people, may they be developers themselves or not, is pretty much of an effort: it takes time, you’ll need to do a ton of things, and all of this costs time in which you can’t code to develop your core product (your code) further. And this is
where we get into the game
We, the “non-coders”.
We, who are designers, marketing experts, press relations or communications people, bookkeepers, tax advisors, law experts, bloggers, writers, photographers, … . This is who we are. This is what we do. And there are various ways how we can help you with your (in the future: our) project.
So, for now, this is part one of “Confessions of a ‘non-coder’”, talking mainly about the non-existence of “non-coders” and why we may be important for your Open Source project. Next Monday, we’ll publish the second and last part of this tiny series, focussing on how to attract more of us to your project. Because, who knows, one day you may need one of us, the “non-coders”.
And then stop calling us “non-coders”. :)