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
93
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
65
Minha Jornada em Developer Experience (DX) - DevOpsDays Salvador 2024
camilamaia
0
66
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
970
ScanAPI Workshop. DjangoCon EU 2022
camilamaia
0
850
factory_boy: testing like a pro. DjangoCon EU 2022
camilamaia
1
970
Como testar e documentar REST APIs com ScanAPI - Agile Testers Conference 2021
camilamaia
0
490
factory_boy: Testando Objetos Complexos Python Brasil 2021
camilamaia
0
570
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Un-Boring Meetings
codingconduct
0
430
First, design no harm
axbom
PRO
2
1.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Amusing Abliteration
ianozsvald
1
320
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Between Models and Reality
mayunak
4
470
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Curse of the Amulet
leimatthew05
3
15k
How Software Deployment tools have changed in the past 20 years
geshan
2
34k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
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