Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
COMO E PORQUE ENSINAR A PROGRAMAR COM OPEN SOU...
Search
Camila Maia
November 04, 2023
92
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
COMO E PORQUE ENSINAR A PROGRAMAR COM OPEN SOURCE - Python Brasil 2023
Camila Maia
November 04, 2023
More Decks by Camila Maia
See All by Camila Maia
GitHub Actions - Semana DevOps LINUXTips.pdf
camilamaia
0
59
Minha Jornada em Developer Experience (DX) - DevOpsDays Salvador 2024
camilamaia
0
65
Cumbuca Dev: Ensinando com Open Source - 71º Python Floripa no MeLi
camilamaia
0
90
Como testar e manter APIs de qualidade - Codecon Digital 2023
camilamaia
0
1.2k
factory_boy: testing like a pro. DjangoCon US 2022
camilamaia
0
960
ScanAPI Workshop. DjangoCon EU 2022
camilamaia
0
840
factory_boy: testing like a pro. DjangoCon EU 2022
camilamaia
1
960
Como testar e documentar REST APIs com ScanAPI - Agile Testers Conference 2021
camilamaia
0
480
factory_boy: Testando Objetos Complexos Python Brasil 2021
camilamaia
0
570
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Un-Boring Meetings
codingconduct
0
410
Designing Powerful Visuals for Engaging Learning
tmiket
1
530
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
930
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
Thoughts on Productivity
jonyablonski
76
5.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Why Our Code Smells
bkeepers
PRO
340
58k
New Earth Scene 8
popppiees
3
2.5k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Transcript
COMO E PORQUE ENSINAR A PROGRAMAR COM OPEN SOURCE
speakerdeck.com/camilamaia
Camila Maia
Eu LGBTQIA+ PcD Bateria Jogar bola
Comunidades DX Open Source ScanAPI 2010
ANON
None
None
None
None
None
None
None
None
None
None
None
EXPERIÊNCIA TRABALHO
None
None
Largar o emprego para poder estudar mais? ?
None
Como vocês ajudariam Anon?
ACONTECEU COMIGO
E mais de uma vez…
E mais de uma vez…
None
Teoria: Cursos/Material de apoio
Tempo Limitado
Não reinventar a roda
Foco em apenas um curso por vez
Prática: Open Source 🤯
OPEN SOURCE
None
Código projetado para ser acessado abertamente pelo público
Todas as pessoas podem vê-lo
(e deve ser compreensível por pessoas programadoras)
Modificá-lo conforme necessidades
Distribuí-lo conforme necessidades
Descentralizado e Colaborativo
COMO?
1:1's Objetivos Conhecer a pessoa Medir temperatura Laço / Vínculo
1. Aula/material sobre o tópico
2. Pair comigo guiando
3. Pair com a pessoa guiando
4. Fazer por si
TÓPICO: GIT + GITHUB
None
Fork Issue PR Markdown
Hora de ir para a vida real!
BRUTILS
None
None
Criado em 2017
Não recebia mais manutenção nem novas features
Tapa inicial: automação, doc, lint…
É o projeto ideal!
As regras de negócio não são complexas
Cada funcionalidade tem escopo bem definido
Não precisa aprender sobre frameworks, múltiplas libs, web…
Fácil de compreender o valor e o propósito
TÓPICO: BIBLIOTECA PYTHON
Para que serve O quê é Estrutura Como funciona
PyPI
TÓPICO: EXPERIÊNCIA DO USUÁRIO
READMEs
Repensar assinaturas dos utilitários
Pensar em Padronizações
TÓPICO: TDD
Alteração das assinaturas dos utilitários
Refatoração
Criação de novas funcionalidades
Regex
TÓPICO: CI/CD COM GITHUB ACTIONS
Para que serve CI/CD O quê é CI/CD Estrutura GHA
O quê é GitHub Actions
Makefile
Workflow para checar lint
Workflow para rodar testes
TÓPICO: DEPENDÊNCIAS
dependabot
TÓPICO: APRENDENDO A FAZER RELEASES (PYPI)
Versão Semântica
Poetry
CHANGELOG
Workflow para publicar release
TÓPICO: COLABORAÇÃO
Licença
Código de Conduta
Criação de templates para issues
Criação de templates para PRs
Criação de grupos no GitHub
Contributing: local
Contributing: release
Revisão de PRs
Resolução de conflitos de código
TÓPICO: GERÊNCIA DE PROJETOS
SCRUM
POR QUE?
Experiência profissional REAL
Contempla o ciclo completo de desenvolvimento de software
Planejamento ➡ operação/manutenção
Colaboração
Gerenciamento de Projeto
Portfólio
GitHub Sponsors 🤑🤑🤑
Currículo
Entrevistas de Emprego
Impacto
Consegue entender se gosta de fato
RESULTADOS
hacktoberfest
+1k downloads por mês
13 contribuidores
+165 PRs
94 issues resolvidas
+90 ⭐
EXPANDINDO A IDEIA
None
Promover a diversidade e a igualdade na área de TI,
empoderando grupos minoritários através da educação.
MINORIAS NO TOPO
COMUNIDADE
EXPERIÊNCIA TRABALHO
EXPERIÊNCIA TEORIA + OPEN SOURCE + COMUNIDADE OPORTUNIDADE
Ajudar poucas pessoas por vez, mas com foco total
Não reinventar a roda: material e comunidades
🐣
cumbuca.dev
VOCÊS SÃO FODA
@cmaiacd camilamaia.com github.com/camilamaia github.com/antoniamaia