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
96
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
Infraestrutura não é caridade - Keynote Python Brasil 2026
camilamaia
0
11
GitHub Actions - Semana DevOps LINUXTips.pdf
camilamaia
0
67
Minha Jornada em Developer Experience (DX) - DevOpsDays Salvador 2024
camilamaia
0
69
Cumbuca Dev: Ensinando com Open Source - 71º Python Floripa no MeLi
camilamaia
0
94
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
870
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
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Accessibility Awareness
sabderemane
1
250
Code Review Best Practice
trishagee
74
20k
Test your architecture with Archunit
thirion
2
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
Technical Leadership for Architectural Decision Making
baasie
3
610
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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