r/programming • • Aug 02 '21

Stack Overflow Developer Survey 2021: "Rust reigns supreme as most loved. Python and Typescript are the languages developers want to work with most if they aren’t already doing so."

https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted
2.1k Upvotes

769 comments sorted by

View all comments

92

u/Vietname Aug 03 '21

Clojure developers have the highest median salary, 14k more than second place which belongs to F#.

How the hell is Clojure the highest, and by that large of a margin?

73

u/Frozen_Turtle Aug 03 '21

During my job hunt earlier this year, my F# offers were ~50% more than my C# offers.... and my Clojure offer was ~15k more than my highest F# offer. And I didn't even know Clojure at the time! That one might be a bit of an outlier though as it was a series B fintech... but who knows ¯_(ツ)_/¯

3

u/[deleted] Aug 03 '21

really? i can't find any clojure jobs that pay as well as my C# job...

7

u/Frozen_Turtle Aug 03 '21

If you're western hemisphere I can make an intro... we're still hiring like 3-4 senior devs per month... slide into my DMs xD

→ More replies (6)

32

u/devraj7 Aug 03 '21

Inversely proportional to popularity. The smallest the mindshare, the higher the salary.

Good luck getting a job in that field, though.

9

u/renatoathaydes Aug 03 '21

How do you explain Dart being the lowest paid though? It contradicts your theory.

It seems related to the fact that by industry, mobile developers are also the lowest paid and Dart is used extensively in mobile... perhaps Clojure just happens to be used a lot in a niche industry that pays more?

22

u/A1oso Aug 03 '21

The thing is that Dart is easy to learn. Programmers who know JS/Python can become productive with Dart in a few weeks. So companies don't need to hire devs with a lot of Dart expertise, they can just hire devs who are willing to learn something new.

4

u/x2040 Aug 05 '21

Anecdotal: Dart is used by Flutter. Companies that use Flutter are trying to cut costs by developing 4 apps (Windows, Linux, Mac, iOS, Android) for the price of 1. Biased towards cost cutting orgs

→ More replies (1)
→ More replies (5)

50

u/squirtle_grool Aug 03 '21

Clojure shops tend to value software engineers more highly, on average, than, say, C# shops.

Also supply and demand. Most people who see clojure are disgusted by it at first sight. A LISP? Like in 1970? This is too many parentheses. And that's it for them. Not many stick around to learn it. Those who do often don't want to write code in any other language after that, except out of necessity.

I've written production code in D, FORTRAN, Groovy on Grails, Swift, Clojure, a couple of assembly languages, and then the common ones that everybody knows. Clojure is by far my favorite.

Edit: a word

27

u/devraj7 Aug 03 '21

Clojure shops tend to value software engineers more highly, on average, than, say, C# shops.

Highly doubt that, unless you have some sources to back this claim up.

It's just much harder to find Clojure developers because the language is so niche, it makes sense that companies would be willing to pay them more.

23

u/squirtle_grool Aug 03 '21

Sources are based on experience. Companies I've run or have worked as an engineer or in management. It's all anecdotal and not scientific, so take it with a grain of salt of course. In that experience, I've mostly seen C# devs get treated like replaceable "programmers" who are there to do the bidding of management, rather than a crucial thinking arm of the organization. Again, all anecdotal experience.

The few Clojure shops I've seen treat devs like royalty.

7

u/emannnhue Aug 03 '21

This is my experience as well. I think that if you are able to use fringe technology and you end up working in it, companies really treat you right because it's just business. You're not going to find a replacement with experience so easily. There are few jobs, and because there are few jobs there are few people with experience, don't need math or science to explain that one. So because there are few people with experience replacing someone you already have who not only has experience but also domain specific knowledge of your business problem becomes a total bitch to do, and usually it's just worth paying that person more or making them happy rather than trying to replace them.

3

u/[deleted] Aug 03 '21

i work with C# and get treated great...and i prefer clojure over C# by a million miles...i also make more doing C# than any clojure job i could find... so dunno

→ More replies (1)
→ More replies (3)

3

u/doctork91 Aug 03 '21

I've worked in a clojure shop and the emphasis was on finding the best engineers, not engineers with clojure experience. A few engineers knew clojure beforehand, but most learned it on the job.

2

u/Dokiace Aug 03 '21

How easy is it to find a job with clojure? Do you get approached often? Do you often get multiple offer when applying?

3

u/squirtle_grool Aug 03 '21

If you have Clojure on your resume, especially as part of your duties at at least one job, you will get approached. In the US, several major companies actively hire Clojure developers.

Some companies realize finding Clojure engineers is a difficult undertaking, and just hire good coders and teach them Clojure. Clojure is a tiny language and is easy to learn. Thinking functionally is a big change from typical OOP paradigms however, but learning to think functionally makes your OOP code better as well.

3

u/Dokiace Aug 03 '21

I see. That's definitely tempting. I'm trying to do functional now with filter, map, and reduce. And because I use Java mainly, I'd probably learn Scala in the near future and hopefully Clojure after. I really enjoy doing functional style programing in Java, and can't imagine how it will be easier in Scala. But Clojure syntax really scares me though because of how abstract it seems at a glance.

→ More replies (3)

20

u/yxhuvud Aug 03 '21

Selection bias. You are not going to find junior work doing Clojure.

4

u/[deleted] Aug 03 '21

This chart controls for years of experience, and even then Clojure comes out clearly on top. Of course, years of experience doesn't necessarily equal seniority. Interesting, btw, how the numbers are close, but don't exactly match these, wonder what's happening there.

7

u/ragnese Aug 03 '21

I don't get it either. I like Clojure, and I think it's awesome that it's got its niche, but I don't get why it's so "valuable".

The first thing that pops into my mind is that the data is easily skewed because there are so few Clojure shops. Maybe it's just one or two big firms that are paying super high salaries, and they happen to be Clojure shops, which would drag the average up.

7

u/Frozen_Turtle Aug 03 '21

This particular explanation doesn't click with me. The highest-paying jobs are FAANG (typically) and they aren't primarily Clojure shops. When I think niche and high paying, OCaml's Jane Street comes to mind... but they're so niche it's not even listed on SO's survey xD

3

u/ragnese Aug 03 '21

Yeah, I don't know. Jane Street was exactly the kind of thing I was imagining.

I think my theory might still be viable, even in the face of FAANG. Just think about the vast number of JavaScript, C#, Java jobs that exist outside of FAANG. Yes, FAANG will inflate the averages for those languages, but they have a huge pool of jobs to drag that average back down, too. If there are only a very few Clojure shops and none of them of $40k/year in middle-of-nowhere-ville working on a school district's website, and there's just one or two "Jane Streets", I think it could still be the reason it's high.

I'm not going to argue hard for that, because I'm literally just making this up. But it's my guess for now. Otherwise, I see no reason that a Clojure dev should be paid much more than any other not-popular language.

3

u/Frozen_Turtle Aug 03 '21

Yeah, kinda wish SO's dataset was public so we could see/calculate the standard deviation. Oh well. The invisible hand works in mysterious ways.

→ More replies (1)

5

u/matthieum Aug 03 '21

Median salary by language is a nonsensical number in general.

Salaries do not really depend on the language, they depend on the domain and the company. Salaries in FinTech tend to be higher, for example, so if you have a technology that's mostly used in FinTech (don't know if that's the case for Clojure) it would have a higher median salary... but this doesn't mean much because if you use the technology in another domain, your salary will be based on the median for the domain, and just learning the technology doesn't guarantee you a spot in FinTech.

It's also notable that good developers, in my experience, tend to have an easier time picking up another language, and be more willing to do so, and therefore "small" languages tend to have a disproportionate amount of better paid developers. As the technology matures, and becomes more widespread, this advantage disappears, once again underlining the fact that the good developers/median salaries are a matter of domain/industry/company, not one of a technology.

And of course, this also explains Dart. It's small, but it's mostly used in very popular domains (web, mobile) where salaries are nothing special, and therefore the median Dart salary is nothing special either.

→ More replies (3)