Where can I find a mentor?

@badlydrawnrob I feel your pain.

A few high-level thoughts based on your question:

  1. It’s probably better to attack your problem head on rather than indirectly. For e.g. don’t read “Functional Programming Made Easier” and then try to transfer that knowledge to Elm, instead try to learn from Elm specific resources. Try one of these Learn Elm.
  2. Don’t try to know or understand everything before starting to build. Learn a little, build a little, repeat. For e.g. I started by reading https://guide.elm-lang.org/. Then, I picked a project that wasn’t too much of a stretch for me to build and tried to apply the knowledge. One of my very first projects in Elm was GitHub - dwayne/elm-todos: An Elm implementation of the TodoMVC's to-do list web application.. Why? There were already a lot of existing implementations I could learn from after trying to build it myself.
  3. If you’re trying to learn to do specific things in Elm then you don’t need a real-life problem you just need a contrived problem that allows you to practice those skills. Only build out as much as you need to understand how to solve the specific thing you’re trying to solve with Elm.
  4. Your HTML/CSS background will help you tremendously when it comes to building Elm views. That’s something you can lean into to start reaping the benefits of Elm early on. Here’s a short preview of my process for building Elm web apps: design, prototype in HTML/CSS, translate to Elm views, add business logic. For the design part, I usually don’t do that myself. When learning I use existing designs and for work I use a designer. For e.g. when I wanted to learn about handling animations in Elm I used the existing design for 2048 so I could focus on the other parts of my process: prototype in HTML/CSS, translate to Elm views, add business logic.

Here’s how I did it. Be forewarned, my process requires patience.

In conclusion, if I were starting to learn Elm now I’d do pretty much the same thing. There are newer better resources, for e.g. Frontend Mentor, comes to mind but the approach would remain the same, i.e. learn, build, repeat.

P.S. As for getting a mentor. I think the Elm community consists of really thoughtful and helpful people that the #beginner channel on Slack is all you’d really need. Start working on something and when you hit a dead end reach out for help. If after a few tries you’re not getting the help you need then reconsider.

8 Likes