How to introduce Elm at work?

I really want to know the stories of people who at least tried to do it.


If I recall correctly, there are a few past elm-conf talks about this topic (though I don’t have a handy list of which ones those are).

Not sure exactly what you’re looking for, introducing the idea of Elm or trying to get a project going at work?

For introducing Elm, my company does occasional internal talks about nearly any topic. I took an opportunity like that to do a 20-30 min talk on Elm in general.

For getting a project started in Elm I spent 3 months writing a proposal, making a PoC, and having meetings about both the project in general and then pros/cons of us using Elm over other options. One of the meetings also involved someone from outside the company who did a 30 min Q&A about the benefits and costs of switching to Elm.

I don’t think it will work for everyone, but it did work for me. Now I’m into month 2 of writing Elm at work. I think it was partially being the right project at the right time.

Also that my proposal was focused mostly on the business benefits and costs helped a lot I think. It’s usually not as hard to think of reasons why a language is cool. It’s a bit more challenging to think of how this change would cost and benefit the company.

1 Like

If you’re looking for resources for teaching Elm, I’ve had a friend and a co-worker that really appreciated for an understanding of TEA, and for learning the syntax.


Yep, I used that animation in my what-is-Elm brownbag at work, I think it really gets the point across well!

I introduced Elm at work by doing a talk doing an internal conference, and animation some coding dojos.
After a VueJs + TS project in 2018, we were not very satisfied. So I created, with a coworker, a 3 days training, and we taught Elm to the 6 other members of our team in January 2019

Just after the training, some of the people who followed it created a first app. It was a unique page integrated in an existing JS SPA, with very limited interactions with the JS part.
I did not write a line of code of this first app. I just answered some questions, and made some code reviews.
This first development was a nice experience, so two of us managed to convince the other developers to use Elm when we started a new project in March of the same year. For this second project we had to do something very similar to some major parts of kite. So instead of rewriting all by ourselves, we integrated it in our app. And it proved to be much easier than we thought. Although kite is a full app, and not a library, we had no difficulties. Thanks to the fact the two apps are base on the same architecture (TEA), and thanks to all the qualities of Elm and it’s compiler, it took only one week for two of us to integrate Kite and redesign most of our GUI - without introducing any issue!

During the summer, another member of the team started a small project, on which he works alone.
He used Elm too for the SPA, and had no major difficulties. I just helped him once, by answering a series of questions, and that was all.

At the end of August, we had to put the second project in standby, for non technical reasons. We went back to the JS app in which we introduced Elm at first, and started the replacement of a big JS component (slickgrid), with which we had some issues, with an Elm one I created as a side project at first. We are nearly finished with this replacement, and just published today this component under an open-source licence (I will publish it as an elm package very soon).

By now I think most of the team is convinced and don’t want to use JS for our future app. The one who maybe are not convinced yet are in fact on a big data project since the beginning of the year and had no opportunity to use Elm until now.

The fact which blew up the last hesitations some of us could have was the reaction we had when going back to JS after a few months of nearly full-time Elm coding, in order to make some evolutions. The difference was so huge we all just wanted to go back to Elm as soon as possible!

All of our future front-end code should be written in Elm :slight_smile:


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