How to get into BEAM from different ecosystem / projects, learning, job


Currently I’m working in .Net ecosystem (and mostly its unfortunately legacy and a lot of powershell/sql script work for now). I got information that my company has departament where they work for Ericsson and Telecom industry. I’d like to spend few months learning and working on Erlang after hours to try to change departament.

Last year I spent learning Elixir for about half year - its amazing, but job opportunities are low so i had to get job in another language and try to create my it experience and then would be easy. Elixir as many of you knows has simpler syntax, is much more web dev related language (thanks for Phoenix). There are also many many resourcers, videos etc that helped me getting to know language pretty fast and I could create simple apps (webdev related so reproducting it in erlang make no sense).

The question is how to get to know much more about creating programs in Erlang. Syntax is not a problem as there are books, documentation, discussions etc. There are not many resources about architecture, how modules should be linked/related to each other. On github there are mostly really big projects that can overwhelm with many files and tousand lines of code each with a lot of cryptic variables (not explicitly defined).

Just for clarification, when you wrote
“Elixir as many of you knows has simpler syntax”
you forgot to say “simpler than WHAT?”

It’s not clear how much simplicity of syntax is
an advantage. CHILL has lots of syntax, assembly
code very little. On the whole, I’d rather try
to read CHILL.


If you want a more elixir related discussion you can try:

I recently switched from Elixir to Erlang myself, the syntax took some getting used to.
Suddenly my_elixir_variable is an atom.
Looking at the code in a properly setup editor with lsp, go to definition, hover docs makes it a lot easier.

Good starting point: Table of Contents | Learn You Some Erlang for Great Good!
Also Joe Armstrong’s Thesis
Has a chapter “SW Engineering Principles”.

I would say embrace the simplicity of Erlang, start with the basic building blocks, message passing, processes, links, monitors.