The central enemy of reliability is complexity.
― Geer et al., 2003
Recently I had the chance to be a coach at ClojureBridge Berlin. You might not have heard about this event before, but maybe you know RailsBridge. ClojureBridge’s mission is:
ClojureBridge aims to increase diversity within the Clojure community by offering free, beginner-friendly Clojure programming workshops for women.
Of course I did not hesitate to volunteer for that. I have to admit though, that I also had a hidden agenda: I wanted to test the hypothesis, that a LISP (Clojure in this case) is well suited to get started with programming. When talking to experienced developers about Clojure, I often have to face a negative reaction towards LISPs, sometimes also about (mostly) pure Functional Programming (less these days, as FP is so hip again). When I told some colleagues, including some with a formal computer science education as well as way more experienced devs that me, that I am going to help programming beginners to get started by using Clojure, they most often asked back if this is some kind of sadistic prank.
Well, let me tell you, that the ClojureBridge event worked very, very well! Yes, of course there were some challenges to tackle for the attendees, however, those were not the ones that your usual senior OOP developer would think of. Pure functions, immutability and such were no blockers at all. Furthermore, no one complained about too many parentheses…. 😉
This ain’t no final conclusion, but I take this as an indication, that experienced developers, with a strong background in OOP, might find Clojure difficult to learn, because of all their existing expertise. Reminds me of Japanese wisdom (probably from one of the cheap and crappy Samurai movies I watched), that a cup needs to be empty to be filled. It’s not hard to learn a LISP from scratch, but it might be hard to unlearn your old habits, which get into way when developing in Clojure. If you know about the history of SICP, you should not be surprised by that, as MIT was using a LISP for introductory programming classes for many years (not anymore these days, though).
So much about my “secret agenda”. More importantly, this was a really nice event, very well organized, great attendees, awesome co-coaches and great support from the sponsors. We are going to continue learning Clojure in learning groups and I am really looking forward to keep on coaching.
So, if you consider being part of the next ClojureBridge, I really recommend it, whatever role that might be. Furthermore, please get in touch with me, if you would like to learn to code with Clojure, you might want to join one of the learning groups.