I wanted to write this post for a long time and actually written several drafts which I all deleted. I want to talk about a) how I went into programming and b) how most of my stuff was created.
The very first time
My very first experience was programming languages when I was about 12 or 13. The language was Turbo Pascal and I actually found the book:
I started to read it and did a few exercises. My first program was a super cheap text adventure – I had learned how to print, read and use conditionals. I remember it being super exciting but I wanted to do a more complex logic and somehow I didn’t know how to do it without copy the code. Even then it seemed to me somehow bad to do this.
Back to coding
For a few years I didn’t program anything at all. I wanted to become a graphic designer and worked hard at learning it. At most I’ve written some HTML (which isn’t programming) but I rather avoided it.
I was in a gaming clan at the time and we needed a new website. I made the design and a clan mate – who was studying CS at the time – offered himself to program the whole thing. There was one problem though. The programmer had his finals coming up and not much time. He asked me if I want to do the coding side. I said that I don’t know how. He offered me his assistance and I said: “OK, why not?”.
In the process of installing a CMS there was a bug in the system. Nothing extraordinary. If I remember correctly, there were some characters before each page on the site. I didn’t like that and opened the text editor to look into the source code which was written in PHP. After some time and trial and error I finally fixed it and it worked.
Programming as a tool
My first ‘real’ piece of software was a management tool for our items in Diablo II. These were on several accounts and characters and we needed a tool to find the items we needed. I still have the code and it’s absolutely terrible, buggy and just ugly – but it somehow worked. Later on basically all my software was inspired by a need in the communities I was in.
Diablo II was a big part of it because it was one of my most time-consuming hobbies. I’ve created websites, written IRC bots, created tools to categorize items, worked on strategies, etc. Programming was a tool most of the time. Only later I started to do exercises but still 80-90% was about solving real problems of real people.
After I began studying economics I still had the same mindset. I worked for a junior consultancy in the IT department and we wrote software to monitor the e-mail access statistics of the members. Later I worked as a research assistant and I used my programming skills to solve problems which other’s solved by hand. I’ve written quite a few statistical stuff as well.
What is community-inspired software development?
In case you don’t want to read my history here’s the short version. Community-inspired means that you solve problems within your community. The kind of community doesn’t matter and that’s the beauty of it.
For example, I see a lot of great tools for programmers. My hypothesis is that a) programmers solve problems of their own and b) they also solve problems of their community. I think that in this community a) is a bigger motivator or inspirer but b) helps to sustain that. You maybe write a command line tool for something you want to be done. If you know that there are lots of people out there with the same problem you are even more motivated to solve it.
I think a lot of communities are undersupplied with good software or even the possibility of that. Some of my friends work in industries which are far away from tech. It’s incredible if you hear their stories. There are companies with 100 employees who don’t use an interface between their website and an internal database. Instead they employee 4 people to do that manually. Copy & paste.
edw519 shares this philosophy and I’ve written about this in the past: Problem Solving II
Also somebody on HN once said:
“If you see somebody using a spreadsheet you just witnessed a business opportunity”.
But even if it’s just for fun – for me personally, it’s more fulfilling writing something that solves the pain of people than just doing some toy exercise.