I have always been a bit of a polyglot programmer. Always trying every new language at least a little. When I got my first blog RubyGeek.com I looked for a more generic name besides “RubyGeek” but I couldn’t find one that I liked that was available. I was doing Ruby at the time and totally loved it and I still love Ruby, but I needed a switch.
Earlier that year (2013) I picked Clojure as the language to learn. Lisp was an inspiration for many of the languages that I had used over the years and I always heard it was good to learn a Lisp sometime in your career. I also wanted to learn a Functional Language, hearing that it was good for your brain to learn it.
I looked at Scala and tried the Coursera class on Scala. Wow that was so hard, I am not sure I even completed the first lesson all the way. I had no idea about functional programming, so different! Then I looked at Clojure.
In Austin at the time there was an active (10-15 people) local user group for Clojure. I went to my first meeting after only learning a little Clojure. I only talked to one person, and soon as it was over, I left. I felt a little bad about leaving so quickly, I mean after all, I am not usually so shy at meetups. I run AustinRuby and Women Who Code – South Austin now helping to organize AustinClojure.
Why did I run out when it was over?I had no idea what they were talking about. I was like a beginner again. I distinctly remember seeing datomic code at that first meeting and thinking “wow what a strange database” and what is an immutable database?!?! how is that possible…
I took notes furiously so I could look up those things at home.
At the next meetup, I apologized to the organizers for making a mad dash the previous month and went out after for post-meeting food and conversation.
Every 3-4 months I have stopped and tried to decide if I want to keep up with Clojure. It is hard sometimes. I feel stupid and think, OH GEES, maybe this is not for me. Whenever I think that, I remember Russ Olsen’s talk “To The Moon!“. Not that my learning goals can even come close in comparison to landing on the moon, but I like the mindset.
in my own words
I am not learning Clojure because it is easy.. but because it is hard.
I want and need to challenge myself.
I am not saying Clojure is hard, but was so different than the procedural code I wrote as a kid in Basic and C then OOP when I got to college. Functional blows my mind sometimes but I love it.
A few months ago I decided I am All In on Clojure. I stopped playing around with other languages unless I needed it for my billable work (currently node). Clojure is my focus now.
I have lots of support on my journey learning Clojure. Austin Clojure members Sam, Norman and Dar have been there for questions, screen sharing or meeting up at a coffee shop. Bridget Hillyer has lead a weekly online study group that has kept me doing at least some Clojure when I was uncertain about continuing. I installed Clojure on a chromebook and when I posted on Twitter, Justin Gehtland sent me some Clojure stickers and a handwritten note “Thanks for being so enthusiastic about Clojure” that I read when I feel like it is too hard.
Russ Olsen said at the end of his talk:
“You see, I’m familiar with the impossible. I saw it done on TV when I was a kid.”
I hope everyone has something hard to pursue. If there is nothing you are excited about, then find something hard to make possible.
I guess you could say, Clojure is my moon.