I’d love to hear more about it. I’m a new grad who’s done a bunch of internships using functional programming languages but didn’t find a new grad position that does

  • kamstrup
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 years ago

    I have written a bunch of Clojure in previous positions. But it has undergone the same fate that almost all functional code bases I have knowledge of (in corporate product settings): Colleagues have hard times getting into the functional mindset, and it becomes hard to maintain. Over the years it gets replaced with some more pragmatic hybrid- og OO language.

    I have seen the same with projects written in Haskell, Erlang, and Elixir.

    It’s all a really nice idea, but in practical reality it runs into issues with “social scaling”

    EDIT: Realizing this was not super helpful. If you want to look for positions where fp can be employed I think something academia related, or a startup where there is greater technical flexibility is something to look for

    • kronicmage@lemmy.caOP
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      What do you think is the secret sauce that lets companies like Jane Street have a 99% ocaml codebase even with 2000 or so employees?

      • kamstrup
        link
        fedilink
        arrow-up
        3
        ·
        2 years ago

        Not sure. But I think starting out early in the growth fase of the company and having a strong core of senior enginnees that can push for it and ensures everyone learns good practices

      • cercerillaM
        link
        fedilink
        arrow-up
        2
        ·
        2 years ago

        The company I work for is much smaller but we’ve still grown a lot with a nearly 100% Haskell codebase (on the backend at least). For us, the main thing has been setting expectations and doing a lot of upfront training and mentoring. We hire people who don’t know Haskell or who have never done FP and put them through training. We have a lot of mentoring ongoing afterwards.