I want to acknowledge your discomfort and hope that they are being sensitive to how much time this is going to take you, while also pointing out that this is a good problem to have. You are being paid to learn things while most people have to pay to learn things.
Here is what I think you can ignore in the beginning:
- Genservers
- Concurrency
- ETS
- OTP
- Recursive Functions
These things are all super powerful and you will be very well served by learning them eventually, but you can get away with making your initial progress without them.
Here are some of the initial concepts that you will need to learn right away, I am assuming you are doing web development with Phoenix:
- Read all the errors carefully, with the attitude that (I am going to be great at understanding these) understanding those in any language is a huge help.
- How to create a Module
- How to create named functions
- How to create anonymous functions
- How you call named functions, always on the module, you don’t do
"almokhtar".upcase
but insteadString.upcase("almokhtar")
. It is as if everything is a class method. - How to use the List, Map, String and Enum modules.
- Pattern match on function heads instead of using
if
statements (just go with me on this, if you ignore this and write your code with if statements you will be confused the moment you try to read someone else’s code). - Phoenix, if this is what they are wanting you to actually get done.