Getting things done with Elixir - tips?

I think we’ve all been there with different languages and technologies. I’m sorry to hear that “Programming Elixir” didn’t teach you how to approach problem solving in Elixir. When I read it I had gone through the “Getting Started” + “Mix and OTP” series on elixir-lang.org and after those two I felt like I was properly prepared to put together solutions in Elixir. Obviously, your mileage may vary and we’re not all the same.

Do you feel comfortable with working with OTP and do you recognize what it is about and why it’s a good thing to have? Does the Zen of Erlang resonate with you yet? I think those two questions are central to solving problems on the BEAM.

On a practical note, have you (already done or) considered solving a toy problem like writing a (distributed?) logging server using Elixir? You could write a daemon that takes logging requests for different files/topics that it then stores in-memory and periodically persists to disk, and can be queried for the logs of a certain file/topic. This can start super small (only storing the given log for a topic in-memory and not persisting it at all) and not even using UDP/TCP from the beginning, maybe ending up doing a whole high-performance UDP server that uses ETS to store logs, etc..

It’s obviously hard to appreciate someone’s arbitrary suggestion for a project, but I think this is at least a problem that fits the platform and language.

Luckily, your user profile of “back end apps that are highly DB and moderately computationally intensive” is exactly what Erlang/Elixir is about, so once your thinking fits the platform you’re exactly the type of user that will love it and get the most out of it.