Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cumbuca Dev: Ensinando com Open Source - 71º Py...
Search
Camila Maia
January 26, 2024
Technology
0
45
Cumbuca Dev: Ensinando com Open Source - 71º Python Floripa no MeLi
https://www.meetup.com/floripa-python-meetup/events/298597924/
Camila Maia
January 26, 2024
Tweet
Share
More Decks by Camila Maia
See All by Camila Maia
COMO E PORQUE ENSINAR A PROGRAMAR COM OPEN SOURCE - Python Brasil 2023
camilamaia
0
38
Como testar e manter APIs de qualidade - Codecon Digital 2023
camilamaia
0
270
factory_boy: testing like a pro. DjangoCon US 2022
camilamaia
0
260
ScanAPI Workshop. DjangoCon EU 2022
camilamaia
0
210
factory_boy: testing like a pro. DjangoCon EU 2022
camilamaia
1
290
Como testar e documentar REST APIs com ScanAPI - Agile Testers Conference 2021
camilamaia
0
170
factory_boy: Testando Objetos Complexos Python Brasil 2021
camilamaia
0
270
Open Source: Você conhece? Sabe como e por que contribuir?
camilamaia
0
190
PrograMaria 2021
camilamaia
0
190
Other Decks in Technology
See All in Technology
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
110
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
670
Platform Engineering for Software Developers and Architects
syntasso
1
520
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
520
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.5k
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Lexical Analysis
shigashiyama
1
150
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
260
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
330
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
630
Featured
See All Featured
Unsuck your backbone
ammeep
668
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Ruby is Unlike a Banana
tanoku
97
11k
What's in a price? How to price your products and services
michaelherold
243
12k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Building Applications with DynamoDB
mza
90
6.1k
Bash Introduction
62gerente
608
210k
Code Reviewing Like a Champion
maltzj
520
39k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Transcript
71º Python Floripa no MeLi Cumbuca Dev: Ensinando com Open
Source
speakerdeck.com/camilamaia
Camila Maia
Eu LGBTQIA+ PcD Jogar bola Bateria
Comunidades DX Open Source ScanAPI 2010
None
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…
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
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
Markdown Fork Issue PR
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
None
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: 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
None
15 contribuidores
+200 PRs
120 issues resolvidas
135 ⭐
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
Obrigada!
@cmaiacd camilamaia.com github.com/camilamaia github.com/antoniamaia