Hacker News new | ask | show | jobs
by fooey 2236 days ago
One of my main things I argue strongly for on any new project is "don't do anything weird". Don't use weird fringe languages, don't use weird fringe frameworks. If the thing you want to do doesn't exist, think real hard about why it does not.

At my office, we've somehow ended up with a critical graphql server that's written entirely in Kotlin, which is cool but completely impossible to hire for or get any kind of community support for it. It feels like absolutely everything you want it to do, you have to do build yourself, whereas if we'd used a normal off the shelf graphql server it all already exists.

I'm so sick of maintaining old weird forks and unnecessary custom code that doesn't need to exist.

2 comments

I think the advice is sound, but Kotlin and Graphql are pretty mainstream. This sounds like a local market problem.
I think if you're putting out "Senior dev with 3+yrs experience in GraphQL and Kotlin" ads you're going to have real trouble in most markets, if not all.

Of course you shouldn't be doing that, is the thing, but that's how most job ads read.

Yeah, this is what I mean

Kotlin is fine, and GraphQL is fine, but when you combine those, you have a very small niche.

Kotlin is really very similar to C#. Java developers shouldn't have much of a problem either (now that Java finally has lambdas), and I hear Scala is mostly a superset of Kotlin.

GraphQL and (Kotlin or C# or Java or Scala) probably isn't that small of a niche.

Edit: Also, Kotlin does have near total compatibility with Java and can use any Java library (aside from the most magical bytecode-rewriting annotation processors) so I don't understand what you're saying about having to rewrite things that exist.

I'd put it the other way around, Kotlin is a subset of Scala that the masses might be ready for. I would always prefer the kind of candidate who's excited about stuff like Kotlin over others.
The nice thing about Kotlin is that you can just bind to the existing Java GraphQL libs. Clojure is similar in this respect. Sure it means you have to also be familiar with Java and the Java ecosystem, but it's actually great to interact with Java-the-ecosystem when you don't have to write any java. ^^
Why are people even hiring specifically for such a niche subset? These are not huge complex systems, anyone can become familiar with GraphQL in days.
I would further describe 'weird' as being out of the norm for the company and where hires come from. In general, I have a 'weird' budget of 1.0 thing(s) for non-critical projects.

Recently, I've been spending it on Vuejs/TypeScript (with Go backend) at a company that uses React/TypeScript, GraphQL, Rails/Ruby, and Go.