Next Steps

We have a bunch of foundational knowledge now. The next steps are all about gaining experience and building relationships.

Build Something

Experience is a great teacher, so I recommend building an application that interests you. If you do not have something in mind, maybe something like this:

  • Expand Examples — Take some of the examples from this book and add to them. The code is here! Mess with elm-spa-example.
  • Something from Work — Maybe there is something you do at work, and you want to see how it might work in Elm. Try it out on your own and see how it goes! This will set you up well for the advice in How to Use Elm at Work.
  • Data Visualization — Use a package like terezka/line-charts to display data that interests you. I would start with some fake data, but maybe work up to trying to showing data from somewhere else. There is a ton of economic and health data available that would benefit from better presentation!
  • Games — I got into programming by making games like pong, breakout, and space invaders. Maybe you will like that sort of thing too! Start by drawing stuff with elm/svg. From there, try responding to events like onKeyDown, onMouseMove, and onAnimationFrame. At some point, you can even get into 3D graphics with elm-explorations/webgl!

Ask Questions

There are loads of friendly and knowledgeable folks on Slack and Discourse. Whether you just started programming or have 20 years experience in industry, the #beginners channel on Slack is great for people new to programming in Elm! Maybe you have an error message you are stuck on? Maybe you are struggling to understand JSON decoders? Maybe the Task type is tripping you up? Maybe you are curious to get some feedback on a custom type you defined? Whatever the problem, you can always ask for help!

Meet People

There are meetups all over the world. We encourage organizers to run code nights where folks can build projects and relationships. The obvious benefit is that you can get help with whatever you are working on, but you also meet everyone else who is using Elm in town. Maybe someone is working on something cool that inspires you. Maybe you learn a technique you did not know you did not know. Maybe someone has a job opening. Maybe knowing a bunch of local Elm programmers will help your case at work. Maybe it is just a fun time. Programmers tend to undervalue the benefits of these personal relationships, but it is one of the most important parts of a healthy programming language community!