Feelings on ecosystem growth rate

I am trying to understand the current momentum, pace of growth in Elm packages. Is the growth staying linear (is the slope steep or flat?) or faster than linear, and do people have any expectations of rapid growth in 2022? Do people find themselves frequently surprised at new and useful packages emerging?

2 Likes

I can’t speak to growth rates, but I am periodically surprised by new, useful packages. Surprised might be the wrong word though as the Elm community has always seemed to provide new and useful packages. I guess I see what appears to be a steady rate of useful packages coming from the community.

I don’t expect rapid growth as that’s never been Elm’s target, though I’m not especially against it either. More that I don’t see a need for rapid growth. Speaking to growth alone and not to Elm, I’ve seen rapid growth as a negative before, as rapid growth can be followed by rapid decline/crash. I would dislike for Elm to see rapid growth followed by a crash, the likes of CoffeeScript.


I’m curious as to what you’re looking to find with growth rates though. Is this a research paper?

5 Likes

I recommended and used elm at a prior company, years back. I am trying to figure out how much risk I am taking aligning myself with Elm over React in the present, working in developer experience/productivity role. There is a small chance that my next job will start or evolve into working in developer experience, and I would invest heavily in understanding package manager, dependency tooling, build tooling, etc, either supporting Elm or React front end, and I don’t want to learn a bunch of tools and find that the job market around it is shrinking over time. I am okay with slow or moderate growth.

Well if you want developers to be happy, elm is definitely the right choice ^^. I can understand the fear regarding job market though. 4 years ago I felt (and told to friends) that in a span of 3 or 4 years Elm would be the most wanted language for web dev. For obvious reasons from the developer point of view. But reality is that I had a blind spot regarding Evan’s (Elm creator) way of working and regarding what actually drives adoption. I now understand that, adoption is mainly driven by advertisement, communication and pushes from big companies.

In my opinion, if you are in a position where Elm is an option you should definitely go for it.

Now regarding tooling and dev experience I highly recommend you check out the Incremental Elm discord (Incremental Elm). It’s a place where a lot of elm tooling authors hangs to collaborate on building the Elm ecosystem.

5 Likes

If you all add an open source mirror like Matrix or Zulip, happy to watch that discussion.

I don’t think anyone has setup something like that for that discord server. Also don’t know if there is someone able to bridge those two. Maybe @wolfadex will know who that could be?

@dillonkearns would be the go to for setting up a Discord bridge likely for the Incremental Elm Discord (happy to assist if they’re interested in setting that up).

As someone who currently works on a Developers Experience team and has used Elm, React, and other front end web frameworks and also works in roughly 9+ languages every week (typically reading them), I’d still vote in favor of Elm as having the best developer experience. React’s tooling is, in my experience, much more fragile and complex than Elm’s. Which means there will be lots of work for you to do, mostly fixing broken builds and trying to compensate for Webpack, Rollup, etc.

As far as job markets and growth rates, it’s a bit harder to make good estimations. JS will always be around, and React has a large enough presence that it’ll likely be around for decades in some for or another. If that’s your concern then PHP is likely a better choice, assuming you’re looking to stick with web related development, as it has a far larger reach and user base than Elm and React combined.

If however you’re just looking to have marketable skills, then I don’t think Elm or React specifically is going to make you more marketable by themselves. It’s more about what you do with your tools. I can say that for my current role I was not hired because I know React or Elm but because of my diversity of experience and my ability to speak about my experience and how I can (and have) applied that experience to work. But again, it depends on what you’re trying to accomplish.

1 Like

I don’t plan to setup any mirrors for the Incremental Elm discord, I’m happy with the current setup.

But yes, there is a lot of exciting stuff happening right now. I think this will be a very exciting year for Elm! This Discourse is a good place to watch for announcements as some of these new projects get released. There will be some great stuff this year. We also talk about a lot of these new projects on the Elm Radio Podcast.

3 Likes

For me breaking changes in 0.19 and not being able to find great learning resources were the reasons I stoped learning Elm. Programming Elm, Elm in Action and Richard Feldman’s cousre at Frontend Masters all were released after that. The best resource for learning Elm 0.18 was Pragmatic Studio’s course called Building Web Apps with Elm which I returned and refunded after not being able to use it with Elm 0.19.

I also remember that React surpassed Angular in popularity when Angular 2 brought breaking changes.

1 Like

I spent a few months learning various npm related build tooling including exploring the more exotic stuff like neutrino, so I have already sunk some time there. I’m hoping to stop sinking any more time into it, although I am curious about how vite evolves.

Generally, I want to focus on backend and CI, but I imagine most places, besides pure API startups, will have me end up voting on the front end stack, even if I am only contributing to the front end build. I am trying to be ready with my vote.

I regret spending brief periods in my career using Haskell, OCaml, and Scala, so I’m hoping not to make another mistake like that again. My regret there is the ecosystem size, growth rates, and small variety of companies. Tentatively, I am aiming for golang/python with elm/react as my preferred tech stack at work. I’m debating whether to keep elm in my preferred tech stack list.

1 Like

Hi,

I’m working on my first-ever Elm project which is a total rewrite of a Laravel/jQuery application in the FinTech industry. As a software engineer and system administrator who has 10+ years experience in doing full-stack web development with PHP/Symfony/Drupal on the backend and JavaScript/Backbone/Angular on the frontend, I’ve never seen such a great language, ecosystem and community around! Here’s my reasoning:

Language

  • The best choice for entering functional programming realm (which I always feared of :grimacing:)
  • The best standard library for a frontend language (this comes with experience in other languages :wink:)
  • The best compiler messages ever (think of core team at your workspace :sunglasses:)
  • No more runtime errors (seriously, think about it. I’ll never return to Backbone and Angular again :x:)
  • Easy refactoring (no more fear of breaking existing codebase and work in weekends to fix your mess :sob:)
  • JavaScript interoperability (for when you want to talk with JS :speaking_head:)

Ecosystem

  • Elm Tooling (elm, elm-format, elm-analyse and etc)
  • Curated set of community packages for almost every need you have (when you see Composer/NPM packages :face_with_spiral_eyes: when you see Elm packages :blush:)
  • Positive influence on other communities (Redux, Vue and etc)

Community

  • Friendly folks with lots of experience at your fingertips (Slack, Discourse, Meetups and etc)
  • Great conferences (Elm-Conf, Elm-Europe, Oslo Elm Day and etc)

And one more thing, since I’ve begun designing and developing in Elm for the day-to-day work and hobby projects, Elm helped me faced with my mental health issues and become not only a better programmer/software engineer but also a much better human being :smiling_face_with_three_hearts:. I’ve never had this feeling in my entire life and it’s great thanks to Elm.

22 Likes

Here’s where I think we have different perspectives on work and life. To me, this isn’t sunk time as long as you learned something (anything) or it enriched your life. I’ve worked with a lot of very senior front end developers who I would consider only ok at their job because they weren’t well rounded and were only experienced in a few popular tools. Sure they could whip up a React app real quick, but as soon as they needed to do anything beyond that they struggled. Additionally the developers who came after them were presented with very messy and hard to use code.


This to me shows that you’re able to learn and pick up various different languages. That to me would put you above someone who’d only ever written C# or JavaScript. Especially for a Developer Experience (DX) position, where you’re having to work with many languages and frameworks. I’m a lot more productive with my coworkers who have used a variety of languages and tools because I don’t have to spend my time trying to explain to them the nuances of each language and how not everything translates 1-to-1. The coworkers who stick to only 1-2 languages/frameworks can often create more work for me as they often think there’s only 1 approach to a problem.

5 Likes

If you want to learn skills that will land you a job, one way to figure out what is in demand is to do some searches on a job board. Just input various skills one at a time and see how many hits you get.

In the UK I mainly use jobserve to find work. I have a set of RSS feeds on it to monitor postings on various things I am potentially interested in. For example Kafka (an event streaming system) is a hot skill right now, so I watch that one and try to learn more about it.

There are also recruitment companies (sorry don’t have details of which) that put together skills reports which might cover various market areas, pay rates and numbers of openings etc. Some of this info is free, some you have to buy the report - never bought one, but might be worth it - you can kind of figure much of it out by searching job boards anyway. I ended up taking the AWS Solution Architect exam based some stats that said it was the highest paid skill in IT (was fascinating to learn about too).

Outside of the Slack #jobs channel, there is very little demand for Elm. I occasionally see a job posting mentioning Elm, but often its a job involving some other FP language such as Scala, and Elm is put there alongside other FP skills just as background/nice-to-have. Overall, I think the Slack #jobs channel has been much more active over 2021 than any year before, so hoping this trend keeps up.

Graphs of the package system have been posted before. Does anyone remember who made them and how they got the data?

Not sure that package system growth rate is a reliable indicator of commercial interest in Elm, but still a data point worth consulting. In my view it shows that there is a sizeable and committed community involved in Elm, as well as a huge amount of value available in the published packages that a smart business can tap into.

1 Like

I think elm is loosing a low effort way to get better seo and advertising by preferring slack over discourse for peer discussions. If there was an effort to advertise how discourse discussions are more searchable, I think that would help.

4 Likes

I’m not so sure about that. There has been soooo maaany discussions about all this. Slack has a lot of inertia and many people like that it’s the same tool they use at work. There has been an attempt at using zulip in the past, it didn’t take off. I think some people are using matrix too.

In the end it’s also good to have a short-term memory communication channel. People feel more free to chat and ask “dumb” questions. What’s lacking really is people taking the time to summarize good discussions in discourse threads.

7 Likes

Not a mirror, but feel free to add some life to our matrix space https://matrix.to/#/#elm-space:matrix.org

4 Likes

This sounds perfect to me if your focus is on a good balance of developer happiness and alignment with the current dev and job market trends. The good news is that elm does move at such a slow pace, that it shouldn’t be hard to keep it in your arsenal alongside react, and keeping up with the latest in the react space will help you in the elm space, since build tooling will overlap, and interop will be a necessity, plus it will help highlight where elm can improve things compared to using react, which will be important context to have as an advocate. And in situations where you are still using react, your experience with elm’s architecture will have a positive influence.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.