Faça isso para aprender Elixir
Tags: fullstackelxpro, elixir, beginners, liveview
Published: 2022-06-14 10:23:18

# Saudação

**ps: voce pode acompanhar este material no youtube: https://youtu.be/OuEarkbPoKk**

**Do you want to learn Elixir in three months? https://elxpro.com/sell**

 
Seja muito bem vindo, seja muito bem vinda a FullstackElxpro

Aqui nós discutimos as estratégias e dicas de sua jornada de aprendizado em Elixir. Isso é do zero até a sua primeira vaga como desenvolvedor elixir. Eu sou o Gustavo e o tema de hoje é:  Aprender elixir Como e por onde começar.

E antes de começar eu gostaria de te dar um pouco de contexto sobre a linguagem. 

O Elixir foi lançado em 2012 e criado por José Valim, através de um projeto da empresa de consultoria de software Plataformatec. Seu código é executado através de processos isolados, que trocam informações por meio de mensagens.
Esse isolamento dos processos permite que eles sejam coletados de forma independente, reduzindo as pausas e, consequentemente, utilizando todos os recursos da máquina com máxima eficiência. Os processos, ainda, se comunicam entre máquinas diferentes na mesma rede.
O seu criador já havia se destacado no cenário do desenvolvimento e, na época, participava do Rails Core Team, grupo responsável pelo desenvolvimento do Ruby on Rails. Este é um framework livre que aumenta a velocidade e facilita o desenvolvimento de sites orientados a banco de dados. Uma vez que permite criar aplicações com base em estruturas pré-definidas.




# Qual e o seu porque?  




Elixir foi importante para mim quando o Nubank ficou famoso entre os programadores pois utilizava Closure uma linguagem funcional, conversando com um dos gerentes de uma empresa que eu trabalhava ele falou do elixir e eu logo fiquei confuso, pois a linguagem não era conhecida e pouco se falava dela (isso há 4 anos atrás) hoje ela é muito falada e foi importante pois era alguém tecnicamente referência para mim.

**E voce? Qual e o seu porque quais as razoes que levam a voce querer começar a utilizar Elixir?**




# Primeiro contato com a Linguagem




Foi quando esse gerente foi para a Stone para virar techlead e ele me falou dos benefícios da linguagem e quão robusta ela era por causa do Phoenix e onde eu mais me sentia frustrado era em linguagens web sem um bom framework (na minha percepção) e muita coisa para estudar. 

Espero que o meu primeiro contato te inspire a seguir os proximos passos que voce vai ver nesse artigo. E quem sabe o seu porque seja apos esse artigo? =D

# Quanto tempo eu demorei para aprender Elixir? 



Eu comecei a me sentir confortável com a linguagem após 1 ano de um grande período de estudos de duas horas diárias. E procurando exemplos para começar a usar a linguagem no meu dia a dia. Ha 5 anos atras nao existia esse mar de conteudos de Elixir (que na minha opiniao ainda e escasso) que te ajuda. Mas e bem provavel que HOJE a sua curva de aprendizado pode diminuir muito. 


# Por que investir tempo e dinheiro em Elixir?




É uma linguagem que vem crescendo no mundo inteiro, principalmente entre os brasileiros. Pela facilidade de uso, concorrência paralelismo e neste mesmo artigo você vai ver números 


# O MEU porque invisto tempo com Elixir. 

Por incrível que pareça o meu porque com Elixir foi muito egoísta. Queria trabalhar com a linguagem, era algo funcional e resolvia muitas das minhas frustrações como programador como:  Falta de clareza no que acontecia por debaixo dos panos, dificuldades de debugar alguns frameworks muito famoso hoje (em outra linguagem), frustrado por ter que estudar muito Javascript e frameworks web e também, eu queria migrar para uma linguagem funcional. Hoje o meu Porque é um pouco diferente e você pode ver os números abaixo: 

Mais de 182 mil pessoas foram impactadas pelo Elxpro
Mais de 2040 inscritos que esperam conteúdos semanais no Elxpro
E um dos mais importantes para mim e as pessoas que ajudei a conseguir trabalhar com a linguagem. 




ElxproBr - 144.7 mil visualizações
ElxproBr - 1410 inscritos
Elxpro - 37,6
Elxpro - 630 Inscritos
Total Visualizações: 182,3
Total Inscritos: 2040
Mais de 80 Alunos (que muitos já conseguiram a primeira vaga com Elixir no Brasil e no Exterior), vou citar alguns nesse artigo. 


**ps: bora trocar uma ideia? **

Qual o seu porque?  ta afim de me contar? tu pode me enviar uma mensagem no meu [linkedin] (https://www.linkedin.com/in/gustavo-oliveira-642b23aa/) e eu vou adorar escutar a sua historia. :D


# Quais as vantagens de usar Elixir?

Eu tenho alguns amigos na Polinia e uma empresa que eu gosto muito que se chama Curiousm. Eles postaram esse artigo bem legal que voce pode conferir [clicando aqui](https://curiosum.com/blog/why-elixir-phoenix-great-choice-for-modern-web-app) 

**ps eu ja tive a oportunidade de estar com eles em eventos falando sobre elixir, vou deixar alguns links abaixo**

- [How to start using TDD with Liveview](https://youtu.be/KfW3l3qJPH8)
- [The right way to use Phoenix with LiveView and Components](https://youtu.be/q-B6QIiJpUY)

Mas o que mais curto em ordem de importancia sao: 

1. Produtividade com pouco custo
2. Excelente Framework Web
3. Escalabilidade


# Qual é o melhor momento para aprender Elixir?

Na minha opinião, o melhor momento para aprender e quando você se sente seguro com as estruturas básicas de programação como: 

Recursão
Algoritmos 
Estruturas de controles
SQL 
HTML e CSS (básico)

Elas vão possibilitar utilizar recursos incríveis como: patterns matchings, collections, Enum e libs da linguagem, Ecto, Phoenix.


# Por onde começar?

1. [ElxproBr](https://www.youtube.com/c/elxproBR)
2. [Elxpro](https://www.youtube.com/channel/UCLzHBFuE6oxPdP6t9iqpGpQ)
3. [Elixir School](https://elixirschool.com/en)
4. [Exercism](https://exercism.org/dashboard)
5. Documentacao
6. [David Alencar (Elly Academy)](https://www.youtube.com/c/ELLYACADEMY)

# Como organizar estudos?

O melhor seria separar pelo menos 40 minutos de estudo por dia.  Sendo 20 minutos focado no core da linguagem, resolvendo problemas e um site que pode te ajudar muito e o exercism. Outros 20 minutos algum dos frameworks core como: Phoenix, Ecto, Enum. 

# Onde você vê que as pessoas mais erram?

Não tendo consistência nos estudos, eu acredito que é o pior problema e talvez achar que alguns tópicos são irrelevantes como Processos, Enum e principalmente recursão.


Como eu cheguei nessa conclusão?

No meu dia a dia trabalhando com programadores que vieram da linguagem eu explico os tópicos básicos de Elixir e até mesmo quando vamos para discussões mais avançadas (que elas são necessárias) como um problema em uma página em live view, um comportamento específico do Ecto, quando é necessário debugar libs do phoenix, problemas em recursoes ou  até mesmo um comportamento inesperado de estado  (processos) as pessoas não sabem o porque isso está acontecendo.