Coding with Confidence

Thomas Sattlecker
Making Mimo
Published in
2 min readJun 29, 2018

Over the last months, we have been using Elm to build the new web app here at Mimo. We released the initial version back in January and are close to releasing the first significant update on the whole learning experience. Using Elm as the primary tool for building a web application is a fantastic experience, and lots of people have already outlined different aspects on why this is the case. But there is one underrated aspect we should talk more about, Confidence.

“As soon as the compiler and I are on the same page the app is up and running again.”

The type system and the compiler enforcing it are the main reasons why I have no problem to refactor core parts of our application. It even makes me happy to make such changes 😁. I have done this several times now, and nearly every single time, as soon as the compiler and I are on the same page, the app is up and running again.

“Elm minimizes the number of errors that you can make.”

This creates a kind of confidence in my code which I never had before and which not even a huge test-suite could create for me. It is like a superpower, you kind of know that you will not fuck up. You know that after the next deployment you are not getting angry calls from your boss. This does not mean that you can not create bugs, of course, you can. But Elm minimizes the number of errors that you can make.

It also creates another kind of confidence. The kind that tells me that I do not have to get everything right in the first place. Elm makes it extremely safe and easy to refactor your code. I still think about a good data structure right away, but I don’t have to consider every possible future feature or requirement. I know that I can make these refactorings and changes later.

Overall I am stoked to release the next version of Mimo, and I am confident that you will need to look very hard to find any bugs! 😉

--

--

Thomas Sattlecker
Making Mimo

Teaching how to code @getmimo | ☕️ love good espresso ☕️