SlideShare une entreprise Scribd logo
1  sur  10
Contribuindo para o Elixir
Background
● Rubero com orgulho!
● Apaixonado por open source
● Profissionalmente
○ O que já fiz?
■ Manutenção de app legado
■ Apps pequenas do zero (sob medida)
■ Apps grandes do zero (produtos)
○ O que eu estou fazendo?
■ App preparada pra crescer do zero
Why open sourcing?
● Porque sim! Porque é o certo a se fazer
● É a única maneira de uma comunidade crescer
● Você pode ser reconhecido pelo seu trabalho (internet points!)
● E por quê VOCÊ deveria contribuir para o Elixir?
○ Feito por um brasileiro
○ A comunidade está no começo e precisa de ajuda
○ Menos gente = mais fácil de ser reconhecido pelo seu trabalho (mais internet points!)
Primeiros passos 🐣
● 80%
○ Abrir tópico em foruns
○ Participar de discussões
○ Revisar PRs
○ Melhorar a documentação
○ Corrigir pequenas issues
○ Espalhar a palavra do Elixir pelo mundo
○ Vir na meetup de Elixir 💜
● 20%
○ Corrigir bugs cabreiros
○ Melhorias ou features novas
○ Criar um projeto novo
Singing in the rain ☔
● Umbrella projects = componentização sem complicação
● Quantas apps você quiser! Quanto menor melhor!
● Código desacoplado!
○ Classificação de domínios diferentes
○ Organização das dependências entre eles
○ Todas as vantagens de usar múltiplas apps OTP
○ Micro-services! But gradually!
● Meio caminho andado para abrir o código
Triplex 👮
● Não é no Guarujá
● Multi-tenancy através de schemas no postgres
● Baseado na gem apartment
● Como aconteceu?
○ Procurei uma lib pronta e não achei
○ Fiz o código dentro do mesmo projeto (monolith first FTW)
○ Extraí para uma app dentro da mesma umbrella (refactor FTPW)
○ Precisei do mesmo em outro projeto: executei a task `mix hex.publish` no triplex e pronto!
○ Depois:
■ Extraí o projeto para um repo só dele no github (open source FTGW)
■ Fiz muitas melhorias que necessitei para projeto novo
■ 1.0.0! 🎉🎉🎉🎉🎉🎉
Estamos contratando!
Dúvidas e comentários?
Curitiba | São Paulo | San Francisco, US
ateliware.com.br
+55 (41) 3010-2275

Contenu connexe

Tendances

Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App Engine
Luiz Cláudio Silva
 

Tendances (20)

GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
GitLab Pajamas Design System (2022-01-20 @ “Design systems tratados por tu” p...
 
Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015
 
O PHP Como deveria ser
O PHP Como deveria serO PHP Como deveria ser
O PHP Como deveria ser
 
PHP: Além do sitezinho
PHP: Além do sitezinhoPHP: Além do sitezinho
PHP: Além do sitezinho
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento web
 
Integração contínua - Você não tem dsculpa para não usar
Integração contínua - Você não tem dsculpa para não usarIntegração contínua - Você não tem dsculpa para não usar
Integração contínua - Você não tem dsculpa para não usar
 
Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App Engine
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Scrum Gathering Rio 2014
Scrum Gathering Rio 2014Scrum Gathering Rio 2014
Scrum Gathering Rio 2014
 
O novo ASP.NET - Verity IT - Janeiro/2017
O novo ASP.NET - Verity IT - Janeiro/2017O novo ASP.NET - Verity IT - Janeiro/2017
O novo ASP.NET - Verity IT - Janeiro/2017
 
Do zero ao python em 40 minutos!
Do zero ao python em 40 minutos!Do zero ao python em 40 minutos!
Do zero ao python em 40 minutos!
 
Introducao ao ruby on rails
Introducao ao ruby on railsIntroducao ao ruby on rails
Introducao ao ruby on rails
 
Webdev
WebdevWebdev
Webdev
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do Windows
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do Windows
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!
 
#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia
 
Workshop - Introdução a linguagem C#
Workshop - Introdução a linguagem C#Workshop - Introdução a linguagem C#
Workshop - Introdução a linguagem C#
 
O novo ASP.NET - ThinkUP! - Janeiro/2017
O novo ASP.NET - ThinkUP! - Janeiro/2017O novo ASP.NET - ThinkUP! - Janeiro/2017
O novo ASP.NET - ThinkUP! - Janeiro/2017
 

Similaire à Contribuindo para a comunidade Elixir

Usabilidade de Ferramentas
Usabilidade de FerramentasUsabilidade de Ferramentas
Usabilidade de Ferramentas
André Willik Valenti
 
Formando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosFormando Desenvolvedores Efetivos
Formando Desenvolvedores Efetivos
Diego Santos
 
Software livre: filosofia, utopia ou alternativa viável?
Software livre: filosofia, utopia ou alternativa viável?Software livre: filosofia, utopia ou alternativa viável?
Software livre: filosofia, utopia ou alternativa viável?
flisolmaringa
 

Similaire à Contribuindo para a comunidade Elixir (20)

"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 
Usabilidade de Ferramentas
Usabilidade de FerramentasUsabilidade de Ferramentas
Usabilidade de Ferramentas
 
Formando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosFormando Desenvolvedores Efetivos
Formando Desenvolvedores Efetivos
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
Uso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open sourceUso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open source
 
Esqueça a linguagem e vire um programador de verdade
Esqueça a linguagem e vire um programador de verdadeEsqueça a linguagem e vire um programador de verdade
Esqueça a linguagem e vire um programador de verdade
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Fork it - Contribuir para projetos Open Source
Fork it - Contribuir para projetos Open SourceFork it - Contribuir para projetos Open Source
Fork it - Contribuir para projetos Open Source
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Empreendendo com soluções Adobe para plataforma RIA
Empreendendo com soluções Adobe para plataforma RIAEmpreendendo com soluções Adobe para plataforma RIA
Empreendendo com soluções Adobe para plataforma RIA
 
Traducao de software livre
Traducao de software livreTraducao de software livre
Traducao de software livre
 
O caminho para a sua primeira contribuicao open source
O caminho para a sua primeira contribuicao open sourceO caminho para a sua primeira contribuicao open source
O caminho para a sua primeira contribuicao open source
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
Hackeando o Facebook com Python
Hackeando o Facebook com PythonHackeando o Facebook com Python
Hackeando o Facebook com Python
 
Como transformar seu código em negócio (e ganhar dinheiro com isso)
Como transformar seu código em negócio (e ganhar dinheiro com isso)Como transformar seu código em negócio (e ganhar dinheiro com isso)
Como transformar seu código em negócio (e ganhar dinheiro com isso)
 
Mergulhando no ecossistema .NET
Mergulhando no ecossistema .NETMergulhando no ecossistema .NET
Mergulhando no ecossistema .NET
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Brasil, Open Source e o Mundo dos Negócios
Brasil, Open Source e o Mundo dos NegóciosBrasil, Open Source e o Mundo dos Negócios
Brasil, Open Source e o Mundo dos Negócios
 
Software livre: filosofia, utopia ou alternativa viável?
Software livre: filosofia, utopia ou alternativa viável?Software livre: filosofia, utopia ou alternativa viável?
Software livre: filosofia, utopia ou alternativa viável?
 

Dernier

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Dernier (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Contribuindo para a comunidade Elixir

  • 1.
  • 3. Background ● Rubero com orgulho! ● Apaixonado por open source ● Profissionalmente ○ O que já fiz? ■ Manutenção de app legado ■ Apps pequenas do zero (sob medida) ■ Apps grandes do zero (produtos) ○ O que eu estou fazendo? ■ App preparada pra crescer do zero
  • 4. Why open sourcing? ● Porque sim! Porque é o certo a se fazer ● É a única maneira de uma comunidade crescer ● Você pode ser reconhecido pelo seu trabalho (internet points!) ● E por quê VOCÊ deveria contribuir para o Elixir? ○ Feito por um brasileiro ○ A comunidade está no começo e precisa de ajuda ○ Menos gente = mais fácil de ser reconhecido pelo seu trabalho (mais internet points!)
  • 5. Primeiros passos 🐣 ● 80% ○ Abrir tópico em foruns ○ Participar de discussões ○ Revisar PRs ○ Melhorar a documentação ○ Corrigir pequenas issues ○ Espalhar a palavra do Elixir pelo mundo ○ Vir na meetup de Elixir 💜 ● 20% ○ Corrigir bugs cabreiros ○ Melhorias ou features novas ○ Criar um projeto novo
  • 6. Singing in the rain ☔ ● Umbrella projects = componentização sem complicação ● Quantas apps você quiser! Quanto menor melhor! ● Código desacoplado! ○ Classificação de domínios diferentes ○ Organização das dependências entre eles ○ Todas as vantagens de usar múltiplas apps OTP ○ Micro-services! But gradually! ● Meio caminho andado para abrir o código
  • 7. Triplex 👮 ● Não é no Guarujá ● Multi-tenancy através de schemas no postgres ● Baseado na gem apartment ● Como aconteceu? ○ Procurei uma lib pronta e não achei ○ Fiz o código dentro do mesmo projeto (monolith first FTW) ○ Extraí para uma app dentro da mesma umbrella (refactor FTPW) ○ Precisei do mesmo em outro projeto: executei a task `mix hex.publish` no triplex e pronto! ○ Depois: ■ Extraí o projeto para um repo só dele no github (open source FTGW) ■ Fiz muitas melhorias que necessitei para projeto novo ■ 1.0.0! 🎉🎉🎉🎉🎉🎉
  • 10. Curitiba | São Paulo | San Francisco, US ateliware.com.br +55 (41) 3010-2275

Notes de l'éditeur

  1. Depois: Todo mundo já pelo menos brincou com elixir? Já sabem sintaxe e etc? Não vai precisar, nem vai ter código, mas só pra saber
  2. Rubero com orgulho! Mais alguém rubero? Ou ex? Profissionalmente Apps de 2 semanas, 1 mês e até 2 anos em um produto (Pipefy) Depois Vamos entrar no assunto mesmo
  3. Comunidade está no começo No começo mas ativa! Já perceberam a quantidade de issues no github? Mostrar Depois Convencidos? Alguém acha que não vale a pena? Alguém já contribuiu? O que achou? Então vamos ver como contribuir
  4. Antes Pessoas confundem o que é contribuir no open source Abrir tópico em forum Mostrar o forum Corrigir pequenas issues Alguém que achava que não contribuiu já fez alguma dessas coisas? Então já contribuiu! Espalhar a palavra Esse é um dos que mais faz a diferença Vir na meetup do elixir É brincadeira mas é sério, contribuir localmente é também importante Criar um novo projeto IMPORTANTE: criar um projeto novo DEVE ser exceção, não caiam na maluquice do NPM...
  5. Antes Alguém conhece CBRA? Umbrella Alguém não conhecia umbrella projects? Micro-services Cuidado com o 8 ou 80: ainda acredito em monoliths, só que apenas para um pré-MVP Meio caminho Abrir o código ou até mesmo criar um produto diferente que vendo só uma parte do seu sistema!
  6. Multi tenancy Multi-tenancy contrasta com multi-instance Apartment Alguém conhece a gem apartment? Extraí Refactor = componentizando Melhorias Melhorias que ganhei praticamente de graça no projeto de onde extraí a lib
  7. Não queremos tirar você de onde você está, se você estiver feliz Vocês viram um pouco do que acontece por aqui Pra trabalhar com Elixir