Hacker Newsnew | past | comments | ask | show | jobs | submit | ptttr's commentslogin

what great answers could look like here?

A one way to address that is via tooling (e.g. to visualize state across time) but maybe there’s something more fundamental to be solved here? Or is it more about current tooling capabilities?


What? Does the idea of employment seem kinda novel in this take?

You can gain significant impact multipliers by focusing human attention on a single goal. And not many things do that better than throwing money at a problem.

However with individual's reach extended, the complexity and frequency of collaboration only increases so naive approaches get overstretched and, eventually, break.


AI destroys jobs but helps individuals create value.

he ones at the forefront now should find their own path by turning productivity into money and only then after many people do this will this kind of experience be valued in hiring.


> you should really use a well designed layer between yourself and FDB. A few are out there.

Any recommendations? All I could find is https://github.com/FoundationDB/awesome-foundationdb#layers - not sure how complete and up-to-date that list is.


If a person belongs to the society, then sick, suffering people are not a value but a cost and killing them becomes net gain for society. It's very dangerous to give away body autonomy freedom to the collective as it could be potentially weaponised to target not only sick, old and poor but political opponents as well.


I do definitely recommend Clojure - I've switched to it in 2019 coming from Rails and JS and never looked back.

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...


I love clojure, and would love a clojure job, BUT my hesitation comes from the companies choosing clojure or any niche language. Choosing a niche language seems like a very risky move, to me. My fear is that that its a small company and someone senior and technical (CTO?) just wants to have fun in a new cool language because they are bored.

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.


You may be right about many companies’ decisions, but I will say that Clojure is a very practical language. I think you’d just need to ask them why they chose it, and decide for yourself if you think it was a wise decision.


Ask them during the interview stage.

Sometimes a strange/obscure language is the correct choice for a very good (and fun/interesting!) reason.


I understand your worry, but I've had a quite opposite take on this.

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


I can second this. I've worked in the industry in academia, enterprise and industrial. Switching to Clojure not only has me at my highest salary ever, but I'm consistently working with some of the best people I've met in my entire career. The community is incredible, the job market is open and the people who seem to be attracted to the ecosystem are fantastic engineers and generally great people.

30 years as a professional dev, and I've never been happier.


The SO chart shows Erlang is actually highest at $120K salary. Also note the median years of experience is 13. Making $110K after 13 years is not all that great. The chart would be more useful if it showed a trajectory over time for each language. Overall I don’t think this chart should influence anyone’s decision to pick a programming language.

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.


The problem is that learning a niche language like Clojure should demand a higher salary but it doesn't. Companies realize they can get an existing experienced developer to learn it. It's also not wise to jump ship to a niche language like this unless you really have the funding for it and even then, the talent pool is much smaller and you find yourself its not an employers market in that niche.

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.


I've heard the argument that using niche tech is a good way to retain good engineers who you'd pay a lot anyways


The Haskell community refers to this as "the Haskell tax," although I think all niche languages suffer it.


I was one of the few professional F# devs at a time when F# was ranked #1 in pay (though that wasn't why I used F#). Spoiler alert: The pay difference is not large enough to be worth making a career decision off of. Use the languages you are the most happy with. Niche languages that get paid well don't seem to have a steady spot on the list.

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.


I'm using Clojure at my day job as well. Though, my employer is not on the list there.


These salary numbers in the survey are so low it seems like a joke.


As the other poster said, it's due to other countries confounding the data. Check this for example: https://survey.stackoverflow.co/2022/#section-salary-salary-...

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.


My guess is that the salaries of developers outside of the US, and western countries, pull down the averages


Almost any other western country other than the US and Switzerland will massively pull down the average. Especially in the US salaries are extremely inflated. I know academics in physics who are effectively chained to the US because they are so used to the huge amount of money. In Germany for example you cannot expect to make more than 70k euro max, probably more like 50-55k euro a year even as a senior software engineer. I don't think a lot of americans appreciate how vastly inflated american wages are


Ok, having recently worked in Germany its a bit overexaggerated. I think now, senior engineers can be reaching 80-110k quite easily. Secondly, american wages are not inflated but are high due to original demand being in US.


Where did you work in Germany? I've never heard of a 100k wage. My wife is a senior design engineer and she makes 55k in Hamburg


Salaries in the eu is most def. Lower than us, but earning 100k with a couple years experience is pretty common in London/Berlin/Scandinavia etc.

Biggest difference is that not a lot of people are earning 200k+ salaries in eu.


100k in Berlin is pretty extreme, Scandinavia and London I can see it more. I live in Hamburg and 100k is basically unheard of.


In Europe, good money is in contracting. For senior devs, salaried jobs are for people who for some reason won't switch to contracts (e.g. they're immigrants and need a full time job for visa purposes)


> Especially in the US salaries are extremely inflated.

Funny way to spell "fairly compensated".


I didn't spell it wrong, you are suggesting a different idea. Own up to it rather than using a lame linguistic deflection tactic.

It is beyond fair compensation, because the standard of living is fine in Europe, even though I know a lot of americans think we live in squalor. The pay in the US is beyond what can possibly be expected in other developed countries.


You'd be singing a different tune if you were a US citizen with our complete lack of socialized safety net, inadequate health care system, etc etc.

I'm sorry as a non-US citizen that you're so poorly compensated, but clearly the market and corporations can afford to pay much better than they do in Europe.


> our complete lack of socialized safety net

The US spends a larger share of its GDP on its social safety net than Canada does.

What you're confused about is the difference between what a nation spends and what it gets for that spending. The US doesn't lack a social safety net, it has exceptionally incompetent government systems at the state and federal level while simultaneously spending a very large sum on its mediocre social safety net. US Government systems spend like European welfare states and the US doesn't get the same results from that spending.

If the poorest 1/4 of the population being covered by wildly expensive (for the taxpayer), free healthcare isn't part of a social safety net, then what qualifies exactly?

EBT (free food for the poor, aka food stamps) and Housing First are two other prominent social safety net programs. The US spends an enormous amount of money on EBT ($111b just at the federal level for 2021). The US housing first program was so successful it brought the US homelessness rate down to approximately where France and Canada are at.

Social Security and Medicare are social safety net programs, and the two largest by cost in world history. Neither program pays for itself properly, it's subsidized by taxpayers (and more so by the day).


The US also has a large incompetent population, compared to Europe. Europe only recently got a huge surge of under-skilled refugees, and this should weigh down on the system (some countries like Italy/Spain are already near bankruptcy).

The US also spends a lot on its military, which is part of the social safety net. Europe ignored military for other expenses and is now paying heavily for it.

That being said, the US does not make good use of its resources. But it's a much harder problem that you'd expect.


Do you think I’m defending the lack of compensation?


If I as an Engineer bring in $1M to the company in a year, and I make $50k a year. Where did that other $950k go? Sure there is some overhead: taxes, hr, accounting, management, etc. But the fact is that in the US engineers are currently just getting more of the share of value that their labor created. European developers should be fighting tooth and nail to get more.


How do you quantify that $1M? What about the product manager, designer, and QA person that were involved in the features you coded? What about the account manager and customer support rep that will now need to provide on-going support for your code?


You are thinking about market incorrectly. Thinking you have created 1M value for the company is a bit silly. Your work has this value only within context of that company, otherwise just take it away and enjoy the profits.


You are describing Marxism, but we live in a capitalist society, where it is seen as okay for companies to make a profit. Also, this is basically just victim blaming. I’m not saying it’s right that highly skilled people are paid so much less outside of the US, I’m simply pointing it out, because a lot of people don’t realise it. There are a lot of Americans who move to Europe and are shocked at how little they are compensated. Americans should be aware of this before moving, and so they can also get a global picture of wages


How is it fair to only compare raw salary numbers? There is nearly zero safety net in the U.S. Two weeks paid leave at best, you're expected to work long hours, healthcare is a mess... Compared to Western Europe, where there is affordable healthcare, saner labor practices etc.


These benefits in Europe are grossly inflated though


1. That totally depends on the country. The social safety net in the UK is not great for example, and the NHS is barely functional

2. Social safety net isn’t required for a tech worker who makes such huge amounts, and their cost of living is not greater enough to make up the difference


I have no idea why, but it seems like software engineering salaries in the UK (from what I've seen in job listings for remote work as an American) are near the lowest in the first world (yes, even when adjusting for GBP/USD exchange rate).


I went from Ruby on Rails, then Javascript/Typescript to finally land at Clojure in 2019 and I'm not looking back.

Clojure has been a perfect fit for my needs, very similar to what you describe, and neither Rails nor JS have been able to match that.

With Clojure/Clojurescript you get:

- sane, single lang for both backend and frontend (much more seamless than JS/node),

- REPL-Driven-Development - immediate feedback loop translating to huge productivity boost,

- a very refreshing approach to programming,

- access to both two largest ecosystems JVM, npm and of course clojure's own amazing libraries,

- vibrant and diverse community, converging people from all different programming backgrounds,

- much, much more.

Rails and Django are a bit tied to 2005ish MVC paradigm and while it's reliable and gets job done, it comes with compromises on flexibility and user experience - making it hard to be competitive in 2022 as a solo founder. Clojure on the other hand is known for empowering single/few developers to outcompete much larger teams.

Seriously, forget about Rails and Django and just focus on Clojure.


The last time I looked into the state of the art when writing web apps in Clojure, people were hand crafting SQL statements in the data layer, and the community seemed fine with this. Have things improved?


Would you say, for someone starting in the same place as OP, that it's better to skip K8s entirely and just go with Nomad?


If you don't need the things that K8s offers, try it and see if it works for you. It's pretty minimal. Most folks only need those features though.


The punctuation serves a purpose of separating thoughts from each other and conveying the tone. In messaging apps you separate thoughts by sending them as separate messages and convey the tone through emojis.

In the time-stressed and client-diverse environment of synchronous text conversations punctuation becomes redundant.


Nowadays, you can get VSCode support for Clojure pretty much out of the box with calva[1] extension working together with clj-kondo [2] almost without any configuration. It works great - I've switched over from Cursive and I'm not looking back.

[1] https://calva.io/ [2] https://github.com/borkdude/clj-kondo/blob/master/doc/editor...


You're on to something.

Low code platforms, at their core, allow you to define the software with data (from predefined components usually through UI) and that's how they enable super productivity, until you hit a wall.

Data Declarative programming paradigm could potentially achieve the same levels of productivity without its limitations but it's very difficult to get the right implementation.

The most interesting development in this area I had found, is Fulcro Rapid Application Development Tools [1] - a fullstack clojure framework that's performant, declarative and extensible. RAD is still alpha but it bases on battle-proved Fulcro. Once you hit the limits of declarative RAD you can easily extend it with regular Fulcro components which are, in their essence, a cheap abstraction over React/React Native components - offering industry standard performance.

[1] https://github.com/fulcrologic/fulcro-rad


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: