Live data from Hacker News

Ask HN: What is the job market like for niche languages (Nim, Crystal)?

news.ycombinator.com

141–150 of 273 posts

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#141
post #50

Earlier quoted context omitted.

It really amazes me how often I see this fallacy. The total amount of supply doesn't matter much. What matters (both for the employer and the job-seeker) is the ratio of supply to demand. E.g., let's say JavaScript has the most demand of any language and there are 2 zillion job openings. This sounds great for job seekers initially, but what if there are 5 zillion JS devs seeking jobs? In that case job hunting might b…

Niche language means fewer companies to pick from. If I don’t like any of them, what do I care how desperate they are?

Explained twice and yet still missing the point.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#142

Best strategy for becoming a high paying/good software engineer would be to think of yourselves as problem solver and language as just one of the tool for problem solving. Thinking of yourselves as someone who is a writer of a certain programming language is self constarining and missing the point.

That's a horrible advice. Knowing a language is helping you read/write the code in a good quality. Knowing the ecosystem and solutions in this language is your sellingpoint. Take any language and tell me one can be productive in no time without knowing the ecosystem around it.

This is good advice.

Within our team we use 5 different mainstream languages to accomplish different goals within our system.

We handle a single service, but we manage the full stack using many different languages and frameworks.

We don't have to be expert in the frameworks, we just need to be experts at what we are building. And we learn each framework to the point where we can accomplish that.

The "selling point" that we value is to be able to deliver.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#143

Best strategy for becoming a high paying/good software engineer would be to think of yourselves as problem solver and language as just one of the tool for problem solving. Thinking of yourselves as someone who is a writer of a certain programming language is self constarining and missing the point.

I used to think this way and wound up completely exhausted in my career. Coming from web dev, I used to volunteer to dive into a Objective C repo to fix some random bug in a mobile app and then a week later my boss would ask me to build a big feature in that app. I'd spend a few weeks getting up to speed on the language and build the feature, and then I would never use what I learned again. My boss would ask me to di…

> contributes to poor code quality

I have another perspective, I think code quality are pretty uniform across languages, either all of ones code quality is poor or it will be fine across all language one writes.

Most of the code quality stems from logically dividing the building blocks and making it readable. Hence it should be logically traceable and uses the basics whenever possible. This is good, readable code.

Obviously some languages demands greater knowledge (e.g. C, Haskell) to master and use appropriately but they are a minority.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#144

Earlier quoted context omitted.

What's the cross platform / native story for F# (for real) ? Can you build a relatively efficient binary that just runs and does not take an hour to open a gui window ?

I had severe performance problems with F# async, but this may be fixed in F# 6.0

F# 6.0 added the 'task' computation expression, which is much more performant than the F# 'async' methods. It also makes interop with C# projects and libraries simpler, as is uses the same mechanism that C#'s async/await does. I have used it in production workflows without major performance issues FWIW.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#145

Earlier quoted context omitted.

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 engi…

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.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#146

Best strategy for becoming a high paying/good software engineer would be to think of yourselves as problem solver and language as just one of the tool for problem solving. Thinking of yourselves as someone who is a writer of a certain programming language is self constarining and missing the point.

This is very true but there's still is a very big difference between knowing languages like JS, Python, Ruby or Go but then jumping into a place that uses Elixir or a niche language that's different than a lot of other popular languages.

For example I took a position to do mostly infrastructure work. Most of their services are written in PHP which I haven't used since the early 2000s. I wouldn't classify myself as a PHP developer. Sometimes I find myself diving into the code to self-solve issues I have that are infrastructure related. My thought process is if I can solve a problem and it's within my scope of things to do I'd much rather just do it than add extra work to another developer on the team. In the worst case scenario someone with actual PHP experience who does the code review will offer suggestions to make the code better.

I don't really know PHP but I can look around and navigate the code without issues. There's nothing that looks too foreign and the code is easy to grep to find stuff. It's also not too bad to trace code in a large app and understand the logic. There's also a massive amount of Google results for almost any problem you can think of. It really means for a lot of cases you can combine previous experience and be productive in a similar language without really knowing it. Enough to contribute real code that gets shipped to production.

I ended up doing this yesterday where I added an IP whitelist address exempt config option to one of our apps. I wanted to at least toy with the idea of doing IP range detection within a CIDR block.

In Python this is really easy, the standard library has functions to do this with 1 line of code. Ruby's implementation is even easier and built into the language. For PHP I had to Google around but found a pretty small custom function to use in less than 2 minutes. For Elixir? Well you have to use a 4 year old+ third party dependency or dive down into Erlang and understand pattern matching and write a bunch of code to manually do the comparisons. Maybe there's a good Elixir solution but it wasn't on the first 3 pages of Google when searching for similar terms as I did for Python, Ruby and PHP. Weirdly enough if you search for "elixir check if ip address is in cidr block range" most of the top results are StackOverflow posts for other languages. There's no contest in comparing the amount of effort it took to get a solution.

I know this is 1 just example but I also know when I tried learning Elixir (and did end up writing about 10k lines of code of it) I kept running into situations that took half a day or longer to figure out while actively trying hard to learn and use the language. These problem could be fully solved in a production ready way in 5-10 minutes with Python or Ruby (and I guess PHP too) either by knowing how to solve it in an imperative way or finding nearly a perfect solution when Googling that's digestible enough to where you can fully understand it and apply it back to your problem.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#147

Earlier quoted context omitted.

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 engi…

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.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#148
post #134
post #55

Earlier quoted context omitted.

That's pretty excessive. I've switched languages whenever I get a new job, every 2-5 years. I think this is more what OP had in mind.

How do you switch languages during a job search? Are you avoiding companies with language requirements (four years Ruby)? Do you run into language/framework tests and/or homework assignments in languages you are unfamiliar with?

Does anyone still have language requirements? I did my Google interviews in Perl and wrote mostly Java and Go there. At my current job, our codebase is all Go (expect frontend) and pretty much nobody we hire has prior Go experience.

Prior experience is almost a curse these days. I learned Go by having the Go team review every one of my CLs for a year. Now I do Go code reviews and think "that simply isn't done, I would never have been allowed to check that in", but often have a hard time supporting my arguments. (When Effective Go, Code Review Comments, and Test Comments fail me, I usually resort to snippets from the standard library. "This pattern appears 0 times in the standard library, I don't think we should use it." It's a lot of work, but I will say that a few things I thought were simply never done are actually done. And that's my standard; I hate it, but Go itself did it to implement Go, so you can too.)

Side rant: I guess the Go team stopped doing this. Read Kubernetes for the current state of Go at Google. Wow.

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#149
post #7

In my experience the job market just revolves around business needs combined with transferrable skills for an affordable price. Most business needs are a cheap version of CRUD+Business Rules. As a result, the biggest languages (keep in mind that most businesses have large amounts of existing code) are also relatively old (except Go, C# and Swift which are relatively young). Languages I see with my current clients and…

I wouldn't call C# a young language anymore.

Yes. But the inhouse pile is very location specific (C# is not popular in every country and every business)

Re: Ask HN: What is the job market like for niche languages (Nim, Crystal)?

#150

Earlier quoted context omitted.

What lessons do I learn from learning webpack? Or whatever the new way of bundling things in FE is called now? Compare that to understanding C or UNIX. There are skills that decay much slower than others.

> Compare that to understanding C or UNIX. There are skills that decay much slower than others. Correct! Knowledge around C, Linux, CPUs and optimization last many decades. Knowledge of tools and libraries in high-churn languages last years at best.

I've found a lot more career happiness with focusing on a long-term domain (networking), long-term expertise (testing), and a stable tech stack (python, c, etc). Got pretty close to burnout chasing the latest libraries in the latest languages a few years ago but now I'm very happy making sure the product is cutting edge but the tech stack is stable.
Post reply on HN