Live data from Hacker News

The case for language agnostic hiring

alphalist.com

21–30 of 124 posts

Re: The case for language agnostic hiring

#21

Elixir, Haskell et al. require concepts that are not required at all in e.g. Java. The functional programming module at my university had the highest failure rate after the math and statistics classes. Even something like C can require new concepts. I was a tutor for a university C programming course and students that had no problems with Java struggled hard with direct memory manipulation, pointer arithmetic etc., b…

A working dev should be well beyond the understanding of a third-year CS student. This is not "advanced" from the perspective of someone in practice, it is the requirement to get in to the practice.

(I know people get programming jobs without CS degrees, but if you can do that, you can teach yourself how pointers work)

Re: The case for language agnostic hiring

#23

Elixir, Haskell et al. require concepts that are not required at all in e.g. Java. The functional programming module at my university had the highest failure rate after the math and statistics classes. Even something like C can require new concepts. I was a tutor for a university C programming course and students that had no problems with Java struggled hard with direct memory manipulation, pointer arithmetic etc., b…

This is a bit overblown, IMO.

I'm currently in the process of interviewing and hiring for a dev to work on an Elixir code base and I barely care at all whether or not a candidate has ever used it before.

Last year I worked with an (excellent) ex-Bridgewater dev whose experience was mostly JVM and JS and he ramped up on Elixir and Phoenix very quickly. We pair programmed a couple of hours a day and he was productive in a few days and over 90% of the way there in terms of picking up needed frameworks, libraries, etc in a month. Learning lower-level concepts with C/C++/Rust is a bigger challenge, but still not that big if someone is using it all day at work.

I'd be very concerned about devs who can't self-teach, regardless of whether or not they have a CS credential. That said, I do believe in mentorship on the job and some slack during paid hours for people to learn and improve.

In many ways, learning is the job of a software engineer.

Re: The case for language agnostic hiring

#24

Elixir, Haskell et al. require concepts that are not required at all in e.g. Java. The functional programming module at my university had the highest failure rate after the math and statistics classes. Even something like C can require new concepts. I was a tutor for a university C programming course and students that had no problems with Java struggled hard with direct memory manipulation, pointer arithmetic etc., b…

If you only know java are you even a real (professional) dev? I'd expect any dev wanting a job using a language he doesn't know to have some understanding all of the concepts you're talking about. It's not language specific, it's just the basics of programming.

>If you only know java are you even a real (professional) dev?

lol, if I were java dev I'd be pissed off.

honestly this unsound argument that dev which knows more languages is better just because of that needs to die.

Concepts are above languages

You don't have to know languages in order to be familiar with the concepts.

Additionally certain languages do not offer real value to the other

For example I've been writing shitton of C# and from time to time I jumped to js/lua

Messing with those languages didnt gave me anything except pain.

Meanwhile one harder project can give you times, times more - try writing browser, compiler, etc.

__________

Software engineering is deeper and more important than fancy language features and handier ways to express things.

But yea, it's easier to mess with people about their lack of understanding of monad than

arguing about system design, practices & approaches to system modeling cuz they do require context :)

Re: The case for language agnostic hiring

#25

Elixir, Haskell et al. require concepts that are not required at all in e.g. Java. The functional programming module at my university had the highest failure rate after the math and statistics classes. Even something like C can require new concepts. I was a tutor for a university C programming course and students that had no problems with Java struggled hard with direct memory manipulation, pointer arithmetic etc., b…

If you only know java are you even a real (professional) dev? I'd expect any dev wanting a job using a language he doesn't know to have some understanding all of the concepts you're talking about. It's not language specific, it's just the basics of programming.

> If you only know java are you even a real (professional) dev?

You surely are, everyone who gets money for developing applications is.

FYI, functional programing and low-level programming isn't even a part of the curriculum in some universities, let alone bootcamps.

Re: The case for language agnostic hiring

#26

Elixir, Haskell et al. require concepts that are not required at all in e.g. Java. The functional programming module at my university had the highest failure rate after the math and statistics classes. Even something like C can require new concepts. I was a tutor for a university C programming course and students that had no problems with Java struggled hard with direct memory manipulation, pointer arithmetic etc., b…

This is a bit overblown, IMO. I'm currently in the process of interviewing and hiring for a dev to work on an Elixir code base and I barely care at all whether or not a candidate has ever used it before. Last year I worked with an (excellent) ex-Bridgewater dev whose experience was mostly JVM and JS and he ramped up on Elixir and Phoenix very quickly. We pair programmed a couple of hours a day and he was productive i…

What would have happened if your team didn't already have a bunch of experienced Elixir users on it? You'd have the blind leading the blind.

Re: The case for language agnostic hiring

#27
This varies from language to language, and from role to role.

If I'm hiring for someone mostly working with Go, I'm not going to be that bothered if they only have experience with e.g. Java, Ruby, and some Typescript. It's a language that's almost explicitly designed to be easy to pick up and work with, and I'd be confident that a developer with a few years of experience would be able to become productive pretty quickly.

If it's about working with C++, that's probably different. In my experience, there's so much hidden knowledge in there that engineers with no previous contact are really going to struggle. I've found it's better in that situation to allow developers from other teams to explore and contribute to the codebase and learn from others as they develop their skills.

Similarly I'm unlikely to hire a frontend with no previous frontend experience, regardless of language – but if you were previously working on games and now want to do robotics, there is probably enough overlap to get started.

TLDR one size does not fit all.

Re: The case for language agnostic hiring

#28

I agree to an extent. A good software engineer should understand the fundamentals and be able to adapt to most environments. Unless... your team is doing something very unusual. I like to think of it as a professional sports team (let's say basketball). If you have a chance to sign a skilled player who is an all-star, 7 feet tall, and can hit 3 pointers you sign him and it will probably work out!

In a football team, if you sign a fantastic player and you place them in a position where they can't thrive, they will leave after a counterproductive year. There are plenty of historical examples of it... Just imagine Neymar playing as a center back ;)

The same happens if you hire a C developer for a Node.js gig, game developer for writing a mobile app, or someone who's been building React design systems all their life to help you with your deep learning stack.

This whole article is assuming that smart people can and want to learn anything, which can be true, but for most of cases, it isn't.

Re: The case for language agnostic hiring

#29
I hate requirements about experience with specific technologies a lot as I enjoy learning new things normally, not doing what I have already done thousand times before.

But what's missing from such rants are good hiring criteria. Leetcode performance? Verifiable successful projects? Being able to appear as a smart guy to team members? All of these are problematic in one way or another.

Re: The case for language agnostic hiring

#30
post #21

Elixir, Haskell et al. require concepts that are not required at all in e.g. Java. The functional programming module at my university had the highest failure rate after the math and statistics classes. Even something like C can require new concepts. I was a tutor for a university C programming course and students that had no problems with Java struggled hard with direct memory manipulation, pointer arithmetic etc., b…

A working dev should be well beyond the understanding of a third-year CS student. This is not "advanced" from the perspective of someone in practice, it is the requirement to get in to the practice. (I know people get programming jobs without CS degrees, but if you can do that, you can teach yourself how pointers work)

Right, "advanced" into their studies, they weren't freshman but almost done with their bachelors degree.

And yeah, I believe that most developers can learn pointers and FP, sure, but on the side with pair programming and "mob programming", while still working a full time dev job?

Post reply on HN