17 comments

[ 2.8 ms ] story [ 52.2 ms ] thread
I'd be interested to know if people who have chosen to specialise in a niche language have had any difficulty finding employment or is it actually easier given sufficient demand?
My role is mixed, but it wasn't hard at all. What helps is that a lot of these companies hire remotes.
There are definitely less jobs but also the competition is less, the jobs and the people you meet, more interesting.
As someone who been doing Clojure for the last couple of years, haven't had any difficulties at all. The competition for roles is usually really small. Depends on if you're aiming for remote/in office though, as in office will depend on your local scene a lot (of course).
Clojure companies tend to be on the remote side of things for a long time due to this reason. It was difficult enough to recruit locally, that they decided to go for remote sooner.
I'd like to work in lisp or assembly. Haven't had much luck finding work in either but am also quite lazy in the search. It probably varies with which niche language one likes.
Lisp and assembly are rather different. Now Clojure by most is considered a lisp, but lisp jobs tend to mean common lisp which is very different from clojure.
I've chosen to specialize in Clojure and it hasn't been difficult at all, in fact in a lot of ways it has been easier. I was already a senior dev when I started with Clojure, but having Clojure experience on top of that has made me a very valuable commodity on the (admittedly smallish) Clojure job market.

It's a trade-off of course, there are fewer job openings, but Clojure isn't that niche, and everyone is aware that it is more difficult to recruit from the small pool of Clojure developers or those willing to learn. So when they find someone with seniority and experience putting Clojure into production they will court you pretty aggressively.

I have some questions, if you don’t mind answering them! Everyone is welcome to respond, of course.

1. Did you learn Clojure at work or on your own?

2. Did you first ship production Clojure code at a job that already used it?

3. If not, did you/someone on your team push to first give it a try, or did you get hired as a Clojure dev by a shop that was already using it?

I’m asking because I know that I want my next job to be working with Clojure/script, but I found and learned and loved it on my own in 2018. So I’ve not yet worked on a team that uses it, and I’m wondering how hard it is to break into the Clojure scene. I’m a senior dev, been working mostly in front-end for the past decade, and not attached to staying there.

Hi! in case you're open to moving to Lyon, France my company is looking to hire a clojure developer. feel free to shoot me a message on clojurians slack, here is my id U9W44J4RW
Hi, thanks for replying. I’m quite settled in my current area, which is unfortunately nowhere near France. You might get a response from someone else reading the thread though!
I did learn Clojure on my own, and the first time I shipped Clojure was doing some contract work with some other clojurists I met at a meetup.

As for breaking in, I'd suggest meeting some other developers if you can, small industries have even more of a "recommend a friend" approach to hiring than the average.

If you can't, a small online presence, some open source code or blogging about some Clojure you wrote or similar will probably get you fast tracked. That's not even really necessary, you'll find that most places advertising Clojure jobs are already willing to train people and don't get a ton of applicants, so coming in already knowing the language is going to a big boost.

I do encourage you to build a network of Clojure developers though, from what I've seen for myself and others it is pretty easy to find work once you have this. It is more about choosing between opportunities than trying to find them.

"necessary and inherent complexity of the project makes the programming language the least of our problems when facing development: building a design platform is no small feat."
In case the blog authors are reading, there is an error in the JS example.

            {Array(props.total).fill(1).map((el, i) =>
              <li key={i}>{{item + i}}</li>
            )}
“props.total” has no business being in a functional component where “props” is not defined, and that makes it hard to understand the mapping to (map-indexed vector options) in the CLJS example.
It seems like they just forgot to massage the examples they pulled this from to include 'total' in the prop destructuring.
I like the abstract concept of clojure (everything is immutable), but learning the syntax is an exercise I haven’t undertaken.

It appears to be quite fast on a regular jvm, and GraalVm supports it on AOT Native Image with the usual caveats.

For small stuff you can also use babashka - which is graal aot interpreter that is decently fast for scripting. It might be a good gateway drug into clojure.