Fork me on GitHub

I wrote a little something on hiring Clojure devs (in Norway).


Do you have the same experiences from other parts of the world?


As in, when hiring, is it hard to get qualified applicants? Or are you receiving tons of good cv's resumes when hiring for Clojure?


@slipset there's no comments section on your website, so replying here instead i am the head-of-engineering in a clojure/script company (actually i was the 1st tech employee here, and hence i got to decide the stack 😉 ) and have the following experience in clojure/script - i found exactly 1 candidate who already knew clojure, but didn't want to join (had moved to haskell, didn't want to look back, had other plans) - i actually interviewed 100+ experienced (2-7 years) candidates who i thought i could train on clojure -> selected 5 -> 1 joined - eventually, i hired 10 college freshers and trained them in FP + clojure/script (+ monger, re-frame, etc) in 2 months; they took another month to understand existing codebase and to become productive ps: this was my 1st hiring stint, so cannot compare to hiring for other languages


Good input all around. I'll add that I trained an interested and experienced (~4 years) colleague with some FP experience in Clojure and Datomic recently. I guessed that it wouldn't take long because of the conceptual simplicity. But I was surprised that, after 3 hours learning Clojure and 4 hours learning Datomic, he understood it well enough to be effective in the driver's seat while pair programming. That's just one data point—and he's a sharp one—but even so, I'm learning that it's perhaps easier to teach Clojure than I first thought.


Probably teaching Clojure is easier than un-teaching other languages first.


But it depends on the amount of un-teaching needed.


@slipset From my Oslo experience (2011-2016) it was quite hard to find any interesting place of work, so I didn't even bother looking around.


@slipset Interesting post! We've certainly found that advertising jobs for Clojure developers attracts a lot of candidates who would like to learn / program in Clojure -- so hiring for a mid-range Clojure developer is relatively hard (you can hire for senior and it's about as hard as you'd expect, or you can hire for junior and get swamped with people who would need to be trained up, but that middle-ground is much thinner on the ground -- so I wonder if mid-range Clojure developers are just much more likely to stay where they are, or whether we simply don't have all that many mid-range Clojure devs?).


We cross-trained a couple of our original developers. One left to go to a company where they could go back to their "home" language instead. I guess I shouldn't find that surprising really (and you mentioned that possibility too).


I think @dottedmag is right that devs who are steeped in Java-style OOP can have a really hard time learning the idioms of Clojure because they have to unlearn a lot of "bad stuff".

Karol Wójcik18:03:12

Hello I got almost 1 year commercial experience with Node.js. I'm pretty excited about clojurescript and I want to start my professional journey with it. I do know Node.js, little of docker, Vue.js, swagger(Open-apis). I do not have any commercial experience with clojurescript so hiring me would be a little investment but I can ensure you that investment in me gonna pay back. In my free time I'm trying to embrace functional concepts and develop the website of the science club with my friends. Maybe you want to see the code here you are. And this is me I'm in Poland so I'm looking for the remote jobs.


@seancorfield As a single datapoint, I'd consider myself a mid-range Clojure developer, and there are 0 onsite jobs for me (the island I live on has only 400k inhabitants, it's backwaters of Europe and I don't have inclination to move), and remote jobs are next to nonexistent (or only hire for super-seniors).


@dottedmag Yeah, hiring for remote can be a tricky business and most companies want people with a tried and true background in remote work already (which is a bit chicken and egg).


yeah, or at least demonstrating that you've worked remote successfully in the past


Does not work 🙂 Remote work experience does not really matter if a company needs a super-guru from the start.


onboarding a developer who hasn't done clojurescript into a cljs project is a fairly involved investment, IMO, and tricky to do remotely


especially with stuff like setting up the tools and environment it can help a lot to have everyone on the same physical keyboard


I guess if you're screensharing and talking the entire time it's possible


Or you can have a ./bootstrap script in the main repository?


☝️:skin-tone-2: Yes, this. Automate it all.

Christian Johansen20:03:54

@slipset re: hiring people. I’ve been involved in some hiring processes in Oslo (not for Clojure), and my impression is that “It seems like you’ll be lucky if you manage to get at least one somewhat qualified applicant.” is true for other languages than Clojure as well


Do you have any idea why it is so? It looks like it’s pretty similar to what happens here in Helsinki, and I cannot figure out why.


the good ones are taken ;)


Just to chime in --- I'm in this difficult place where I don't feel I'm a "junior" developer, because I have 10 years of at-home Linux, 7 years of Clojure hobbying, and the math background to understand theoretical computing (category theory, concurrency). And yet I've only had 3/4's of a year in professional development. I'm finding job-searching to be completely brutal. Like, to the point where I may have to learn all the things that you Clojure mentors think of as things to "unlearn," to find something in Java or Ruby or something.


that's partly the unfortunate nature of job hunting in general


although I will say that there's a ton you learn from working professionally as an engineer, outside of the language


I also have the math background for data science but, I blew two Python code challenges so, unless I spend a whooole lot of time learning to be idiomatic in that language, which I don't have the resources to do, I think I have to wait for functional languages to catch up


Certainly. The last gig I had was in professional training to do agile processes and incremental design


not just formal training, but things like managing your own project, working with product people, learning to constructively argue with your colleagues, handling production incidents (both during and after), etc.


While I won't dispute that's true, it is an instance of, I can't find a job to get the experience I need in order to get the job


I feel your pain though, when I was interviewing for my current job I had about 11 years of programming experience including hobby stuff


and several internships


but they only really cared about the 2.5y of full-time engineering I did when judging my "experience"


with hiring juniors, it's usually larger companies that can soak up the costs of training that are more eager to hire juniors


unfortunately, the big ones in our industry don't really do a lot of clojure


@mathpunk As a hiring manager of 20+ years, I'd be happy to look over your resume and make suggestions -- feel free to DM me about it. But... expect hiring managers (and the HR departments in front of them, acting as filters) to only consider your actual, paid, professional work history when doing a first pass evaluation for any job opening.


@seancorfield Thank you very much, I will take you up on that.

Christian Johansen21:03:46

@nilrecurring lots of demand for developers, I guess


So, to give you a indication of the level. I'm pleasantly surprised if I get a candidate who can code up fizzbuzz on a whiteboard.


A candidate who can write a testable fizzbuzz first try gets hired on the spot 😉


In a language of their choosing.


@jmglov I think you can find some answers to your questions here.