I suck at coding. I really do. Its odd y’know, as when I was a kid I really, really wanted to be a good coder, the whole idea of writing code and running programs excited me. The idea of controlling the raw power of that 386 got me all-a-fruity sometimes. Not for want of trying, I went to night-school at 14 to learn C, read countless books, learned C++ for the KDE project and recently Python for various projects such as Jokosher. Although I can get by and write code, it is not particularly elegant code – I am a hobbyist coder, and it looks that way. My code is akin to those people who are convinced they can play the bagpipes – they can utter a sort of tune, but it is no where near the quality of an experienced bag-pipeist (if that is a word…maybe it should be bag-pipician).
Now, when Jokosher started out life, we had basically no-one involved. Not a sausage. With only a few hands on the deck I needed to muck in and help out like anyone else. I wrote chunks of the GStreamer support in it, wrote the LADSPA effects support, the track minimisation, instruments, preset support and fixed bugs where I could. At this point, life was about writing code and making it happen – we were all so determined to make Jokosher a success that some of my less-than-stellar code was acceptable. This is not to say Jokosher is riddled with bad code – the code was not that bad, it was just not as good as it could have been, and any bad code that I wrote got fixed by better coders such as Laszlo.
Things are different now. We have a growing development team, a community forming, and the project is finding its feet. As Jokosher becomes its own thing, it is important that my less-than-stellar code does not hold it back. My strengths in the project have been far more suited to the design, usability and community building aspects than my coding abilities. And now the project is up on its feet more, I am going to step back from writing as much code and instead concentrate on the design, usability and community building. This means (a) more time spent on things that I know I am half decent at, and (b) I am not compromising the quality of the code. Laszlo Pandy, one of the hackers who writes a huge chunk of the code is a stunning example of someone who truly understands coding, structure and elegance. 5% of his coding ability is my 100% – I admire him for his talents and commitment to Jokosher. Actually, I hate him and envy him, the clever shit, but lets keep that out of the picture…
I have always followed the belief that a good leader steps down when appropriate, and although I am not stepping down at all from the project, I also believe a good leader needs to identify their strengths and play to them when the community no longer needs them contribute with their weaknesses. There are too many projects out there with leaders who turn control-freak and demand control over every aspect of their project, despite having better people to make those changes and decisions. Those people irk me, and I never want to be one of them.
So, expect less code from me, but more of the other stuff like UI and community building. We have a really rather special project here with Jokosher, and the possibility to kick some serious arse in the multi-tracking world. It is an exciting time, and who knows what is possible?