11 ms·
That doesn't bode well for the rest of us if someone this accomplished can't land a Haskell job. This makes me wonder if it's been worth learning functional pro
by xupybd 5y ago
That doesn't bode well for the rest of us if someone this accomplished can't land a Haskell job. This makes me wonder if it's been worth learning functional programming. I've put hours and hours of my free time into F#. I'm not sure that it was a wise move. That said I love F#.
- SonOfLilit 5y agoAuthor doesn't say he has trouble finding a Haskell job. If I had a Haskell blog that regularly reaches the HN front page, I'd write a "looking for a job" post there as the first thing in my search, not after exhausting all other avenues.
- IshKebab 5y agoAll he's done is write a blog post yesterday saying "does anyone want to give me a Haskell job? I have no substantial experience in Haskell". Bit early to say he can't land a Haskell job.
- xupybd 5y agoThis is a very fair point.
- Cthulhu_ 5y agoIs it because they might be overqualified, so any company that happens to do haskell (which I can imagine aren't many) are intimidated? I mean how many people here, currently working in language X, would want to hire someone that is better than they are? I mean rationally it makes sense - bette for the company, learning opportunities, etc, but emotionally it would seriously piss me off if someone came swooping in and basically made me obsolete and look stupid. (I'm not saying the author of the article would do so, I'm just speaking in general and thinking up hypothetical scenarios)
- deleted 5y ago[deleted]
- dagw 5y agobut emotionally it would seriously piss me off That is why choices like that should be left to project managers. As someone who is coding less and managing more these days, I have none of that ego left. If I could hire someone twice as good as me I would do so in a heart beat[1] and then go home and celebrate my great luck. [1] Assuming they aren't an asshole etc. etc.
- omnicognate 5y agoThat attitude among Haskell devs is one of the problems. The conviction that it is a fundamentally better way of programming and that anybody who chooses anything else for anything is a worse programmer certainly hampers its success. But the main reason, at least in my 20+ year career in my industry, is that it simply doesn't have a track record of success. Haskell isn't remotely new. It was mainstream in academia when I was at university and since then I've seen multiple attempts at adopting it in a large scale commercial setting. I've seen a couple of successes, on small, well defined projects that were relatively "academic" in nature (i.e. the challenges were in the comp-sci type aspects rather than the engineering, and the interactions with other systems were minimal). I've seen more failures, projects with lofty goals that went nowhere. F# has been more successful, and I've seen some significant infrastructure built with it, but it's certainly not proven itself superior to the alternatives (in an industry where successful solutions always get mimicked). Basically, it's 2022. People have tried it and it hasn't worked out.
- captaincaveman 5y agoI have similar opinions on Scala, lots of theory that it makes things better, but the only measurable difference is that its a nightmare to hire for, more expensive and we often have to invest time training people ... who then leave to become contractors. I'm not anti functional or Scala, but I'm yet to see any reports etc that actually indicate there is a pay off.
- grumpyprole 5y agoI don't even view Scala as a functional language, as functions (methods) are not first class. Lambdas are encoded as objects with a single method. It's much more expressive than Java and so better at expressing many functional programming ideas, but it's not a functional-first language, it's an evolution of Java. The underlying issue is that it's a complex language with many experimental and interacting features, which can and do cause a lot of distraction. This is not the fault of functional programming. Have a go at OCaml or F#, which are nice practical sweet spots.
- 5y ago
- tluyben2 5y ago> I mean how many people here, currently working in language X, would want to hire someone that is better than they are? I have always tried to hire better than I am (and ever will be); not to say i'm very good, but a lot of people are very bad. I hired, multiple times in my (30+ year) career people who are much better than I am at pure tech stuff like creating great code. I would love for someone to make me obsolete (I don't think looking stupid is a thing), then I can focus on other stuff. In my first company I was the founder and CTO; I replaced myself with a much better CTO who was so much better that I suddenly had literally nothing to do. So I went on to create + run our research (r&d) group which was a lot more fun than being CTO. Far too many people stay in positions they don't like for pure ego; I don't care what they call me as long as I like the work and I get paid enough, in that order. I guess when you have a job and this happening it would be less good. Although I would see it as a sign to go do something else.
- jodrellblank 5y ago> "as long as I like the work and I get paid enough, in that order." If you can deal with not getting paid enough, in what way is it "not enough"?
- jen20 5y ago> I mean how many people here, currently working in language X, would want to hire someone that is better than they are? Isn’t the adage “A players hire A players, B players hire C players”?
- yanmaani 5y ago> worth There's other things in the world than money. Even if that is your philosophy, consider that learning obscure functional languages might make you a better programmer across the board.
- pkdpic 5y agoAnd it blurs the line between programming and art. As if there needs to be any line at all.
- dagw 5y agoFinding "F# jobs" is a lot easier in my experience, due to easy interop with C#. Many places using .Net or C# are willing to let you use F# in places if you can convince them it makes sense. As to the question of it being "worth it". I learnt more about becoming a better programmer by learning Haskell than probably any other single thing I've done. And while I've never written Haskell professionally and haven't used Haskell in probably a decade, I use many of the concepts and principles I discovered via Haskell almost every day.
- jll29 5y agoOnly if other people at the company can maintain F#, though - interoperability is importnnt, yes, but experienced managers will want to plan for the time after you are gone.
- throwaway81523 5y agoF# means Windows right? That is a pretty big turn off for some of us. Ocaml seems perfectly nice though.
- akdor1154 5y agoIt's fine/great on dotnet core.
- dagw 5y agoF# means Windows right? In theory no, as F# runs perfectly fine on Linux. In practice all real world uses of F# in paying jobs I've seen has been Windows. The big advantage however is that there are probably at least an order of magnitude more F# jobs than Ocaml jobs.
- aloisdg 5y agoWe hire F# dev. You can work on whatever OS suits you need as long as you can maintain it. If most of my colleagues are windows users, more and more are switching to tux. (mandatory, I use arch btw). Thank you dotnet core. https://news.ycombinator.com/item?id=30165023 https://news.ycombinator.com/item?id=30165023
- 5y ago
- ReleaseCandidat 5y agoFinding Haskell jobs is the problem, not 'functional jobs' in general.
- MaxBarraclough 5y agoI'm reminded of an old joke: This could be a great year for Haskell's usage in industry, we hope to see its adoption rate jump by as much as 25%. That's right, a whole engineer! Back on topic: I imagine you're thinking mainly of Scala and Clojure?
- ReleaseCandidat 5y agoElixir has most job offers, if I'm not mistaken. But that's just what caught my attention recently. I hear many people complain that they can't find Haskell jobs. Could of course be that OCamlers, F#ers, ... don't complain that much ;)
- hocuspocus 5y agoJust search your favorite job board, you'll see that Scala is far more popular than anything else in this space. Elixir is pretty niche, you can clearly see that on https://whoishiring.io https://whoishiring.io (that is scraping HN among other sources).
- throwaway599281 5y agoEven if you don't use F# directly, you might apply something you learned when reasoning about any problem, or coming up with more elegant solutions. Also, having the discipline to study to improve your skills, will most definitely be beneficial in other spheres of your life.
- theK 5y agoI think getting to grips with Haskell and the like is worth it even if you are not going to end up using it day to day. In the pst I have been running a program where I was introducing devs to Haskell (immutable data, purism and quickcheck lostly) and then watching how their code evolved in their classical language projects. Over all it always was a great benefit. Still, I think our industry is seriously behind in the adoption curve of pure force languages. It is mindblowing really that important software is still mainly written in Java C and the likes…
- lolive 5y agoHaskell makes you think about code composition. My Java skills (and object composition) has changed drastically after reading about Haskell. [java8+, of course]
- makerofthings 5y agoI learned Haskell because I love programming and it was fun. If you enjoyed learning F# then your time was not wasted :)
- xupybd 5y agoYeah you're not wrong it's loads of fun
- yodsanklai 5y ago> I've put hours and hours of my free time into F# It can't be worse than playing video games or watching tv shows. Seriously, this is never lost. The more languages/paradigms we know, the easier it gets to learn new languages. I think it's a good investment.
- CreepGin 5y agoPro gamers and TV critics are rolling their eyes. =D I feel like in this day and age, you can be successful at anything if you put in enough hours. Key is probably in being active and critical instead of being mindless.
- jerrre 5y agoYou could argue that if you see an activity as an investment, by definition it is NOT free time?
- motohagiography 5y agoThe counter argument could be that this defines free time as measured by its opportunity cost against something else, and not as just what you enjoy. I tell people all the time that what I'm doing isn't procrastination, it's sacrifice.
- pharmakom 5y agoLoads of F# jobs advertise as “.NET” or “C# with an interest in functional programming” since they want to encourage strong C# developers to apply. Seriously, F# is used a lot more than you might think in the financial world!
- burntoutfire 5y agoThere's a fair amount of FP jobs in Scala land.
- burntoutfire 5y agoAlso, I'm not an expert on Haskell, but to my knowledge, popular Scala FP libraries such as cats or zio are basically ports of Haskel into Scala.
- sideeffffect 5y ago> cats or zio are basically ports of Haskel into Scala Not really. And ZIO takes special pride in that not being the case. That's not to say that the authors didn't know (about) Haskell and its libraries. But these are distinctly Scala takes on the topic. Especially ZIO, heavily relying subtyping and vairance, is very far from Haskell while still being pure FP. ZIO's "FP" library called "ZIO Prelude" totally revamps the "traditional" Type Class hierarchy, using Scala's intersection types feature. The name ("Prelude") is the only Haskellism there :) https://www.youtube.com/watch?v=OwmHgL9F_9Q https://www.youtube.com/watch?v=OwmHgL9F_9Q https://zio.github.io/zio-prelude/docs/overview/overview_diagrams https://zio.github.io/zio-prelude/docs/overview/overview_dia... https://github.com/zio/zio-prelude/ https://github.com/zio/zio-prelude/
- deleted 5y ago[deleted]
- aloisdg 5y agoWe are hiring F# developers: https://news.ycombinator.com/item?id=30165023 https://news.ycombinator.com/item?id=30165023
- NicoJuicy 5y agoIf you can also write c# that's a nice combination to pick the right tools for a use-case
- mdm12 5y agoLearning is its own reward. Also, if you are looking for an F# job, ping me and we can chat :)
- pyrale 5y ago> That doesn't bode well for the rest of us if someone this accomplished can't land a Haskell job. As an opposite experience, we're currently hiring someone with no experience to do haskell and purescript. The key here is that there are few haskell companies, but also few haskellers: companies have trouble finding haskellers just like haskellers have trouble finding companies. While most of the work in a traditional tech company receives lots of CVs, we typically experience the opposite, where it's hard to find many people to apply.
- hsn915 5y agoI think this is not a useful or productive mindset. I mean the idea of "I spend hundreds of hours learning $TECH in order to get a job in it". If you learn it because it is interesting to you and you enjoy the process of learning and using the language/tech, then that's all good. How to "monetize" your hobby is a separate question that should not factor in whether you should or should not cultivate it. There are probably many ways to monetize it. Landing a job is just one way.
- BatteryMountain 5y agoF# knowledge is valuable even if you don't use it. I've been down that rabbit hole a few times in the past 10 years or so, and even though I don't use it for work, it changed the way I code.
- deleted 5y ago[deleted]
- knocte 5y agoWe're looking for F# devs, pls drop me an email to andres@nodeffect.com.
- gilbetron 5y agoAfter running a whole lot of coding interviews, one thing I've noticed is that people that take a functional approach to solving problems more typical end up having a hard time. Mostly because the functional style is more difficult to debug.
- toastal 5y agoBecause they didn't use state? Can you elaborate what you mean?
- gilbetron 5y agoI haven't really figured out the "why", but the observation is that people that start using the typical functional portions of a language (map/reduce/whatever) are more likely to get bogged down if the code doesn't do what they expect. And this is even for people that seem really good at it.
- sulam 5y agoThis is because creating the exact right abstraction for the job is time consuming. It may pay off later, and your typical FP person is fairly convinced that it will in terms of being able to be confident you got things right without having to test a lot of basic shit first (types tend to replace tests). This is not suitable for the typical interview format.
- deleted 5y ago[deleted]
- gilbetron 5y agoThat theory seems relatively sound. I'm digging more into functional programming again, because I think reading code needs to be easier than writing code, or at least reading code should be as easy as possible, and maybe it can meet that need.
- deltaonefour 5y ago
- cflyingdutchman 5y agoIf you want a job in F# at enterprise company, let me know. I'm hiring at all levels.
- deltaonefour 5y agoDon't worry about it. The functional style can be translated to helping you code functionally in other languages and solve problems with a functional bias. It's a good thing.
- trashface 5y agoThere's a big difference between Haskell and F#. I like F# because I can get messy and impure if I want to. I've only written a little Haskell but it seems very much the opposite - its has to be perfect or else it doesn't even compile. Businesses generally aren't looking for perfect code. They want code that does the job well enough, that others can maintain, and they want it done fast. Haskell doesn't seem great for that, the people who can actually crank it out fast/well enough seem quite few in number. In most cases, as a business, you don't want to have an IQ minimum of 140 for people to be able to maintain and extend your code (exception for safety critical software of course). F# has the potential to be suitable for more businesses, the skill floor is lower, and when the going gets tough you can just take on the technical debut and f**ing hack it - and someone else will be able to understand the hacks.
- roguas 5y agoI would disagree, but only a bit. >Businesses generally aren't looking for perfect code. Mostly you don't want that, but there are a few industries where its jackpot. For instance building some state control engine for rockets etc. Also Haskell does not force you to write perfect code, but forces you to write code that is considering all the possible outcomes, so even if you handwave some stuff it will be pretty clear to everyone reading you handwaved some stuff.
- golemarms 5y ago> For instance building some state control engine for rockets etc. Just out of curiosity: are there companies actually writing mission-critical code in a Haskell? My impression is that those normally tend to get written in C++ and the like.
- tome 5y ago> Ogma, a new open-source NASA tool, written in Haskell, to generate hard-realtime C runtime monitoring applications from high-level specifications https://www.reddit.com/r/haskell/comments/r80djm/ann_nasas_ogma/ https://www.reddit.com/r/haskell/comments/r80djm/ann_nasas_o...