Know your limits

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… :P

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? :)

  • Stephane

    Jono:” I suck at coding. I really do.”

    Me:”Crap!I just bought your book!”

    :mrgreen:

  • Ken

    Observation #1: Damn … where do you work? I want to work there. (Lots of my coworkers try to extend themselves into areas they suck at.)

    Observation #2: Jokosher is really firing on all cylinders these days, which is cool to watch (even though I don’t have much interest in the app itself). I’m guessing that the planet.gnome.org publicity helped you attract enough of the right people. (Or maybe not: where did Laszlo come from?)

    My strategy has now become (1) blog about my project, (2) get on planet.gnome.org, (3) get other people to do all my work for me. :-)

  • http://www.digitalprognosis.com Jeff Schroeder

    The absolute BEST leaders of all time were humble. Take a look at Winstin Churchhill…

    Admitting your flaws shows that you have what it takes to keep the project running in spite of pride/ego. Way to go and rock on jokosher!

  • http://raraavisresearch.com/memo/archives/2006/12/23/building-a-project-that-endures-past-your-own-involvement/ Elliot Murphy 28:1 » Blog Archive » building a project that endures past your own involvement

    [...] Kudos to Jono for a very brave post in which he take a hard look at himself, and decides that Jokosher has gotten enough contributors that he should no longer be contributing with his weaknesses. Jono is a founder of the excellent Jokosher project (a brilliant multi-track studio application), and if you read the post you will notice that Jono is not sticking with the part he enjoys the most, he is sticking with the part where he makes the most meaningful contribution. That kind of candor is amazing. [...]

  • http://linux.wolphination.com J_K9

    Stephane – Crap… So did I :shock:

    Keep up the great work, Jono – Jokosher is turning out to be a brilliant application!

  • pel

    It takes some guts to admit that. Bravo! OTOH, don’t give up just because others are more talented than you are – instead try to be inspired! That’s what got me off the safe and comfortable ground of the hobbysist back seat programmer lifestyle.

    Additionally, in my opinion, it will never be a bad thing to be reminded of your own weakneses – it keeps you honest; and the world (the computer buisness esp.) needs more honest people.

  • Plob

    Me too! :mrgreen: Oh well at least I got a CD!

  • jono

    Thanks for the kind words. For you book buyers, I should clarify that the code in the book is good – I am a much better PHP coder than GUI desktop coder. :)

  • http://aidy.is-a-geek.org Aidy

    Aww! Anyways, it’s really good that you can fully focus on the thing you’re good at: community and vision!

    greets

  • http://www.happyassassin.net AdamW

    I believe the word is bagpiper :)

  • http://schalken.wubbles.net Schalken

    I haven’t used Jokosher at all but I must say the screenshots are impressive! I hope it feels as good as it looks! (…did that sound a bit wrong?) I must try it out next time I’m in Ubuntu, and I wish the project the best for the future!

  • http://www.jonobacon.org/?p=856 jonobacon@home » State of the Jokosher

    [...] Recently the development team have been hammering on bugs, ploughing in new features and working on all of the services and community resources around the Jokosher project. We have also seen our excellent development team growing – its nice to see the project becoming self sustaining. As I previously blogged about, I have stepped away from the coding side, and I am pleased to see the slack taken up with these extra developers. Welcome to the team chaps! [...]

  • http://munckfish.net/ Munckfish

    Jono, I don’t think you need to be so hard on yourself. There will always be people who are at a more advanced level than where you feel you are now. IMO knowing and feeling that is the key to improving.

    In fact I think you’re lucky to be involved in a project with such good coders contributing – you must be learning stack loads!

    All the best.