(no title)
ptttr | 3 years ago
Clojure's job market is great, there's no shortage of offers, even for newcomers and it has been the top paying lang in stackoverflow surveys for years https://survey.stackoverflow.co/2022/#section-salary-salary-...
However, the most important part is that Clojure is a very powerful piece of technology that made me reevaluate what software engineering really is. You can efficiently use Clojure for both backend and frontend with easy access to libraries from JVM and npm so you will never run into the problem, common in other niche langs, of too few libraries. Nevertheless, Clojure's own ecosystem is filled with many great, cutting-edge ideas that you wouldn't find working so well elsewhere. The community is very welcoming, growing and diverse with people coming from all different programming backgrounds - all sharing the disillusionment with other programming languages and determination to find and build a better way.
https://jobs-blog.braveclojure.com/2022/03/24/long-term-cloj...
patrickthebold|3 years ago
Don't get me wrong, I also want to have fun in a new cool language because I'm bored, but that's not a good decision for a company to pick that as a tool.
Anyway, I'm worried that the culture is not entirely practical in their technical decisions, and that's my hesitation.
wtetzner|3 years ago
shocks|3 years ago
Sometimes a strange/obscure language is the correct choice for a very good (and fun/interesting!) reason.
ptttr|3 years ago
I think we can agree that it's not that hard to find ANY job as an experienced developer. However it's much more difficult to find a great, satisfying job. For that you need to navigate around a lot of corpo-bullshit type of projects, and Clojure has served me well as a useful filter in doing that. My reasoning is that Clojure is niche enough that when company is using it, you can assume that it's due to a deliberate technical choice, and not just because of its popularity. That tells me two things that are symptomatic, in my opinion, of a healthy tech company culture: - tech decisions are made by engineers, not by top-level executives, - their conclusions and bets align with mine because we all see and agree on Clojure's edge over more popular solutions.
Admittedly, there's always a risk that someone just followed the hype and got out of their depth but I think this risk is relatively small, because Clojure's no longer a new kid on a block and choosing a tech stack is a major decision and usually done by senior tech leadership, hopefully less hype driven.
Of course, Clojure is no silver bullet and it's just a tool that gives you enough rope to hang yourself. Messy codebases are just as possible as in other languages, especially when the team is new to lisps that are very different from mainstream languages, but that's a nature of software development - you learn with the experience. I do cringe when I look at the Clojure code I wrote when I was just starting and wasn't fully grasping Clojure's way of thinking, but the more I use it, the more I come to appreciate how powerful it is.
Great intro that made it click for me: https://www.youtube.com/watch?v=vK1DazRK_a0 (Solving Problems the Clojure Way - Rafal Dittwald, 2019)
Having said that, no software project is ever complete and so isn't Clojure as an ecosystem. The tooling is constantly evolving and new patterns are emerging. What's great about Clojure open-source community is that everyone seems to share the desire to harness complexity and Rich Hickey has convinced each one of us at some point that the way to do it is through simplicity https://www.infoq.com/presentations/Simple-Made-Easy/
Even within Clojure's community there's a diversity of approaches, and I think it's necessary to improve and evolve. The more recent trend, I've noticed is that the community is converging at Data Oriented Programming that's applicable in other languages as well, but has always been at the core of Clojure's mindset that is especially well suited for it.
Dropping some links relevant about DOP: https://youtu.be/8Kc55qOgGps?t=4175 (Rafal Dittwald, “Data Oriented Programming” 2022) - whole talk is valuable, but long so I'm linking to the most juicy snippets) https://blog.klipse.tech/dop/2022/06/22/principles-of-dop.ht...
Moreover, Clojure has already grown past the threshold of being just a niche toy and has sufficiently big market that it won't die off anytime soon. When you study history of programming languages, you'll notice that it's enormously difficult thing to do for an emerging player, especially without big corporate backing. And Clojure is as grassroot as it gets: https://clojure.org/about/history
casion|3 years ago
30 years as a professional dev, and I've never been happier.
thebigspacefuck|3 years ago
I worked with a few teams using Clojure and there was nothing magical about it. One of the Clojure teams’ API was very thoughtfully done and reliable. Another Clojure team s’ API was a mess and caused loads of issues. I suspect the first team chose Clojure organically and the second team picked it due the SO salary.
yomkippur|3 years ago
So as a business owner by choosing clojure:
- I can't afford to lose experienced clojure devs but my budget is fixed
- I am going to be constantly requiring onboarding, training existing non-clojure devs
- I simply cannot reverse this decision.
To me the third point is the biggest risk but back to your point, it can become unmanageable unless you have the best and the brightest.
In any other language, you could still operate the business with middle of the pack but with these niche languages the risks are just much higher. It would require a Product Manager or even a CTO with extensive clojure background and those would be even harder to find and keep.
Like the SO survey shows, not everybody is willing to pay top dollars for a clojure dev and this should make anyone pause before jumping into it.
I personally liked clojure but the tooling was still painful like working with Java. Readability wise its a nightmare and if your entire team quits, there is a very good chance your business will fail, as it is that much harder to scale up your team or find experienced talent who now feel they are owed a much higher wages (which they should).
Nim on the other hand is more promising. It doesn't have any radical shifts, it still reads like Python and its very fast. But it doesn't even show up in the SO survey which makes me think its far too early.
Nuzzerino|3 years ago
You can't get paid the big bucks if you get forced out of a job for poor performance, and in this economy, expect that to be a real risk.
jcadam|3 years ago
throwaway1777|3 years ago
eulers_secret|3 years ago
You can specify the location - the salaries are more inline with what you'd expect if you select the USA. Also note that 8,540 of 37,546 respondents are from the US - so MOST of this data is not relevant to the USA.
mattyb678|3 years ago