13 ms·
Worth noting that in our experience, hiring has gotten way easier for us since we became an Elm shop. We really struggled to hire React engineers (who have a zi
by rtfeldman 9y ago
Worth noting that in our experience, hiring has gotten way easier for us since we became an Elm shop. We really struggled to hire React engineers (who have a zillion positions to choose among - why would they pick ours?), whereas there seem to be a lot more great programmers who want to use Elm than there are companies hiring for Elm positions.
Here's a verbatim quote from a cover letter (one I happened to be reading this morning; we see a lot of similar stories):
> Despite my valiant evangelizing of Elm, my company has decided to embrace React over Elm, so I am looking for opportunities to develop Elm professionally.
Our Head of Talent said she'd never seen an inbound pipeline as strong as ours, and the #1 reason people cite for wanting to apply is Elm. The "Python Paradox"[0] is real!
[0] http://www.paulgraham.com/pypar.html http://www.paulgraham.com/pypar.html
- soulnothing 9y agoI have to ask, do you guys have the catch 22. Of we want you to have worked in it professionally before? I'm being totally serious. I worked in Elm, and loved it. I tried to get it in several positions I worked at. Applied to a few elm positions, but was told I needed prior professional experience. So moved all my personal projects to React so I could be more marketable. My day job is still using java server faces, or django templates largely. As noted above there are pros and cons. But if you're using a fringe language/tech and allow your team to contribute back upstream. That helps immensely. One of the other stands out I can think of is Jane Street and OCaml.
- _d8fd 9y agoJust tinker with Elm at work on your lunchbreak and say you uswd it at work. If you're awesome, no one will know and/or care where you picked up your awesomeness.
- not_kurt_godel 9y ago> say you used it at work Please don't do this. If you're not found out in the interview, you'll be found out on the job eventually due to your obvious lack of experience. Some of my most personally loathed coworkers have been people who have bullshitted their way into positions by claiming skills they don't have or aren't qualified in, making them a nightmare to work with.
- soulnothing 9y agoThis can get really messy. Using it on your job, creates a one-off orphan that no one knows how it works. Then I've seen a number of people claim they used it but didn't I've also found this as a partial negative. Positive you took initiative, and want to learn. Negative you've now written a product that only you can maintain, and doesn't listen well. I go down the honest path. Of I did a proof of concept, or scratch project in this language. But didn't get the buy in from the rest of the team. Which sometimes leads to why am I not good at sailing new technologies.
- quaunaut 9y agoIs there some way in which side project experience is different than professional experience no one has ever informed me of?
- always_good 9y agoAside, at least my side projects can be pushed to Github. I feel like committing to publishing a repo is the only reason I even finish anything, like writing a solid README, stubbing out a few issues, and then eventually closing them. I never know if someone has seen my repositories but it's been invaluable to have projects I can confidently link to. Until I got to that point, I remember an anxiety of "gee, I sure hope they take my word for my skills." Talk about imposter syndrome. But yeah, I agree with what you were trying to say. Whether you are honestly representing your skill level doesn't have much to do with whether your experience was paid or done in free-time.
- not_kurt_godel 9y agoThe aspects in which they differ are numerous and substantial. If a candidate expressed the sentiment that they are the same in an interview, I would not take them seriously since it would indicate that they are either ignorant or naive, and either apathetic about work, or likely to favor personal coding pursuits over the job they're applying for.
- quaunaut 9y ago
- s4vi0r 9y agoThe communities for languages like Elm are definitely smaller, but they're also "passion languages", if that makes sense. Nobody is learning elm because they've been or feel forced to (like you might with React, eg) or because they needed to maintain a legacy codebase at an old job or something. They're learning it because they're interested/like it, etc. So when it comes time to hire you have a small(er) pool of candidates than a react position might draw but the candidates are going to be people who've played around with Elm and enjoyed it and want to get a job writing Elm. I'm kinda surprised more companies don't take the risk - its not like these are bad languages, either. There's still a huge chunk people (in terms of absolute number, not portion of total devs of course) out there playing around with languages like Elm or Haskell or a Lisp/Scheme, or OcaML, F#, etc. who'd be super excited to use those languages professionally.
- boubiyeah 9y agoBut are language enthusiasts really better hires in general? I've known many of them who loved the theory and toying with a language but were not any better at producing actual value than the average joe.
- theossuary 9y agoThat's what a good manager is for, they're there to turn a powerful engine into a productive one.
- kqr 9y ago> But are language enthusiasts really better hires in general? I've known many of them who loved the theory and toying with a language but were not any better at producing actual value than the average joe. I think they may be safer hires, anyway. They will be able to program themselves out of a wet cardboard box, which is more than you can say about the average Joe who may just be good at bluffing the interview.
- crdoconnor 9y agoProvided you dangle enough money and have a good interview process you can easily cull those people who can't code themselves out of a wet paper bag. The thing that would worry me about niche languages is the amount of wheel reinvention you'd have to do. Not sure the cost/benefit calculation starts to look so great any more when you realize that your enthused elm developers will have to build a whole lot of stuff that you can just import in other languages.
- pbiggar 9y agoI saw the same at CircleCI with clojure. People want to use functional langs in real systems - we had a lot of Haskell lovers apply because "close enough". Way easier than hiring rails devs. One of the reasons I'm using OCaml/Elm in my new startup :)
- LeonidasXIV 9y ago> One of the reasons I'm using OCaml/Elm in my new startup Where do I apply? ;-) (To prove the point: yes, I'm one of those passion people, moving to Denmark to work in OCaml full-time, before working in Clojure full-time. Now someone give me an Idris job, heh!)
- rtfeldman 9y agoI'm not the quoted person, but we hire Elm devs (or people who want to become Elm devs - no prior Elm experience necessary; you can pick it up after joining!) all over the world. Most of our team is remote, including one from Copenhagen! http://noredink.com/jobs http://noredink.com/jobs
- desireco42 9y agoDamn you Richard, you hired all the best Elm devs and cornered the market :)
- rtfeldman 9y agoOh man, if only! There are soooo many amazing Elm devs out there. I'm excited for Elm Europe in large part so I can finally meet more of them in person!
- AngeloAnolin 9y agoYou and your team (NoRedInk, Evan, et.al.) could actually grow the number for amazing Elm devs out. I think part of the reason is that there's a very narrow avenue to traverse to even build production-level Elm apps. One of the sure fire discouraging factor for someone learning and wanting to embrace a language is when s/he is unable to see the same see the light of the day at the hands of real users/consumers. P.S. I'd love to learn and apply Elm across. I've applied at NoRedInk but did not get any response.
- stctgion 9y agoI'm a little confused. React isn't a language, or at least I thought it wasn't a language. When I hire people I'm not the least bit interested in which JavaScript framework they have already used. I kind of assume that if you can learn one you can learn them all. The idea of labelling yourself a react engineer seems really limiting to me
- jasonlotito 9y ago> I kind of assume that if you can learn one you can learn them all. Knowing C doesn't mean you can't learn React, but if you've only ever done C and low level systems programming means you have a lot to learn to get to the level of someone who has specialized in knowing React and it's environment. It's not just React. It's everything around it that also matters. Such as browsers, HTML, CSS, and all the best practices there. And while I'm sure anyone can learn that, the question is, would you do it in reverse? Would you hire someone who knew React, CSS, HTML, and web development to write systems level C and expect them to learn it all, and, most importantly, be effective in their role? Labelling yourself as a react engineer isn't limiting. It's just one of many things. You can have many labels, and adding a label doesn't take away from other things you can do. However, it is an effective way to communicate what skill sets you have to people that would be good to work for and with.
- dasil003 9y agoI would look askance at someone who calls themselves a "C Developer" in much the same way I would at someone who calls themselves a "React Developer". The reason being that it just smells wrong, like they read a "C for Dummies" book and are trying to fake it til they make it or something. The correct label is something more general about the domain (eg. systems developer, front-end developer, etc), although I realize these labels are imperfect and subject to their own anti-patterns (eg. devops engineer), they at least signal you understand something about the broader landscape.
- LeonidasXIV 9y agoWhere does that specialization stop, reasonably? Isn't this the same with JavaScript? If you have worked with any Algol-derived language you can learn them all.
- onebot 9y agoDon't you want people that care about your product instead of the technology behind it? I do. Because there may come a time when another technology is a better fit for your product and ultimately your customer's experiences. Then what? Now your not using elm and your team leaves or is disgruntled. I hire on passion for what we are trying to accomplish, not the technology stack.
- vanderZwan 9y agoI fail to see how your argument makes Elm a worse option than any other language?
- karmakaze 9y agoI tried this. Bought into the company vision despite lack of experience/desire for RoR. The plan was to migrate to microservices. This happened too slowly and rarely and I ran out of enthusiasm working with a legacy monolith. The scaling problems we're interesting although they could be sidestepped other ways.
- marcosdumay 9y agoYou don't get that choice. You can't select for people that care about your product, but you can select for people that care about some technology. And, if it is a good tech that fits your business, why wouldn't you?
- username223 9y ago> You can't select for people that care about your product, but you can select for people that care about some technology. If that's true, it's kind of awful. "'Once the rockets are up, who cares where they come down? / That's not my department', says Wernher von Braun."
- marcosdumay 9y agoWell, ok. Some people can select for caring about their product. But a random company is almost certainly not in this set.
- camelCaseOfBeer 9y ago"pearl may look like a cartoon character swearing..." ><
- sparkie 9y agoThe Python paradox is interesting in 2018. At time he wrote this, Java was the go-to language to teach in university and Python was reserved for hobbyists. It seems that has almost completely flipped now, and everywhere wants to teach Python first. Evidently, there's an awful lot of no-so-smart python programmers available on top of the smart ones now. It looks just like Java looked in 2004.
- Pieman103021 9y agoI definitely disagree that java is looking like - or even starting to - python did in 2004, it still has a huge market share, even compared to python. Yes python is definitely more popular now, enough so that the python paradox doesn't even apply, but it will probably never apply to java, or at least not in the current computing paradigm.
- sparkie 9y agoYes sorry, I worded that badly and didn't intend to mean that Java was in any way like Python was in 2004. Only that Python is no longer something you'd consider someone smart for using.
- Can_Not 9y agoThe Python-Paradox-Paradox.
- mooreds 9y agoMaybe I read GP wrong, but what I took it to mean was that the market/talent position of python in 2018 is similar to java in 2004, not that java in 2018 is similar in any way to "2004 python". Elm, Haskell, Clojure, etc, seem like they fulfill the role of "2004 python" in 2018.
- cies 9y ago> Elm, Haskell, Clojure, etc, seem like they fulfill the role of "2004 python" in 2018. And ReasonML, PureScript and Kotlin the role of 1995 Python?
- Fiahil 9y agoStrangely, if you switch Elm for Scala, you get the exact opposite result (at least where I work). We got mostly inexperienced candidates and the ones able to understand the codebase can get more interesting offers elsewhere.
- Cyph0n 9y agoSo you know that experienced Scala devs won't like your offers, but you aren't interested in the less experienced devs who apply. What are you looking for, exactly? As an "inexperienced" Scala dev, I'm genuinely interested.
- Fiahil 9y agoScala has a steep learning curve, so we're looking for devs having at least one or two real production projects (that aren't using spark) on their belt. It turns out to be quite a challenge to find someone who have experience in the ecosystem and the language, AND who _like_ working with it.
- lmm 9y agoPlenty of developers have significant Scala experience and like working with it, but the demand greatly outstrips the supply - if you look at a chart of average salary by language Scala is a huge outlier.
- JonnyNova 9y agoI would totally be interested in hearing more about this. My email is jonnynova00 at gmail
- rb808 9y agoInteresting, I wonder if there is a fade on the Python effect, where the talented devs that pick up on new languages move on to something else. eg If you want to create a big new long-lived project you pick a new language to get a good team, but for maintenance you'll struggle if that language doesn't become popular.
- czardoz 9y agoKinda off topic, but isn't it a better practice to not hire for specific technologies, but go for good fundamentals?
- kod 9y agoYes, but having worked in an ML family language is a good proxy for having certain fundamentals
- quickthrower2 9y agoYes it's the ol' Haskell tax. As a part-time Elm enthusiast that's why I'll probably use it to build my own stuff to opensource/sell, rather than try to get a job doing it, lest my family goes homeless. Hyperbolic, but kind of true! However it's great for the company hiring. They can get solid code at a solid price. I've seen the same with a Haskell/Blockchain job. The company owner admitted in a chat channel that he would have said "Berlin Salary" rather than "Not quite SFO" in the job ad if he had know the response rate he would have got.
- brokenbyclouds 9y agoWorth noting is that you haven't been able to find a single criticism of elm in years. You hired the language designer so it's understandable that you'd have an easier time with the language. However, you've consistently kicked dust in everyone's eyes every time anyone has anything remotely critical to say about elm. It's frustrating because you are so smart and so insightful and it just looks like you're deliberately obfuscating the issue and for what? To what end? Because the language is so good? Bullshit. It isn't. It's a closed off, stagnant language that has no clear plan for its own future and zero plan for what would happen if Evan goes away. Please, for the love of God, just be able to point to a thing that is less than perfect about this average language.
- anthonybullard 9y agoMaybe it would be useful to list your criticisms of the language? All Robert did was point out a single point about how NoRedInk's decision to go all in on Elm has been a net win on hiring, why such a negative comment without anything constructive being said?
- rtfeldman 9y agoElm doesn't support code splitting or `insertRule` styling, both of which are important for performance. `elm-package` is currently piggybacking GitHub's infrastructure instead of having its own hosting. I think Elm should have more patch releases. I don't think `comparable`, `number`, or especially `appendable` should be in the language, and hope they get removed someday. I don't think `==` should be `a -> a -> Bool`. If I were in charge, ports would work with `Value` directly instead of doing automatic conversions at the edges. Also, your comment was needlessly harsh. If you wanted to know what I consider Elm's flaws, you could have tried just asking.
- DisownedWheat 9y agoI'm always impressed by your ability to keep cool when someone seems to be making a personal attack (though I'd like to assume they aren't). I think Elm/Evan is lucky to have you as a kind of evangelist.
- 9y ago
- leshow 9y agoYou really ought to disclose that you also hired the language's BDFL when you make comments like these. With that said, I sort of agree with the sibling comment here. Most other people involved with a language that I've seen are still able to make objective criticisms about it.
- merlinsbrain 9y agoSpecifically with respect to the hiring advantage it’s a little disingenuous to not explicitly state that the creator/designer of the language works there. That’s a significant enough reason to pick one shop over another and also a reason to opportunistically apply. “You get to work with Evan/Guido/dhh/Gosling” is a different sell than “we use Elm/etc”.
- rtfeldman 9y agoPart of the reason we hired Evan was because the hiring advantage had been so great already, we started to ask the question "how do we maintain this hiring advantage as Elm gets more popular and the Python Paradox eventually wears off?" I don't think we're especially close to that happening yet, though. Obviously the opportunity to work with Evan is a big differentiator for us among Elm shops, but the cover letter I quoted exemplifies a person whose reason for leaving their current position was that they wanted to work with Elm, not React. There are plenty of opportunities for companies to attract people like that. :)
- sriku 9y ago> there seem to be a lot more great programmers who want to use Elm than there are companies hiring for Elm positions. While I understand that, I find it quite paradoxical given that Elm purportedly targets normal programmers. (Elmer here.)