Executando verificação de segurança...
6

A dificuldade de achar projetos Open Source sendo Junior

Eu programo há algum tempo como hobby. Sempre gostei de aprender por conta própria, testar ideias e construir pequenos projetos.

Mas, neste último ano, decidi dar um passo além e me profissionalizar de verdade. Foi aí que comecei a sentir uma dificuldade: encontrar projetos Open Source que ainda estejam no começo e onde minha contribuição realmente faça diferença.

Muitas vezes os repositórios já estão muito avançados, com arquiteturas complexas, padrões bem definidos e uma curva de entrada alta. Como dev em processo de crescimento, às vezes parece difícil encontrar um espaço onde a ajuda seja realmente útil e não apenas superficial.

Queria saber: isso acontece só comigo ou outros devs (principalmente juniores) também sentem essa dificuldade?

Talvez a solução seja outra…
E se a gente se unisse para começar um projeto Open Source do zero?

Um projeto colaborativo, feito por devs que estão evoluindo juntos, aprendendo na prática, errando, melhorando e construindo algo relevante ao mesmo tempo.

Se você também sente essa dificuldade, comenta aqui.
Quem sabe esse post não seja o início de algo maior 🚀

Carregando publicação patrocinada...
11

E se a gente se unisse para começar um projeto Open Source do zero?

Nada te impede de começar um sozinho, não tente fazer algo complexo, não tente reinventar a roda, faça algo pequeno e que resolva um problema específico.

isso acontece só comigo ou outros devs (principalmente juniores) também sentem essa dificuldade?

Todos os iniciantes ficam perdidos. Eu lembro que minhas primeiras contribuições foram pra projetos muito pequenos de plugins de Minecraft.

Encontrei um plugin com um problema e investiguei até encontrar a solução. Não sabia resolver então abri uma discussão no Github informando tudo que eu tinha encontrado, incluindo qual era a função do código problemática e com que parâmetros ele tinha que testar.

Com essas informações ele corrigiu o plugin rapidamente.

comecei a aprender a programar plugins, fiz diversos sozinho, desde utilitários pequenos a minigames complexos.

Sabendo programar muito bem me aliei a youtubers grandes e comecei a criar servidores inteiros.

Virei referência no desenvolvimento de plugins e servidores. Fiz projetos gigantescos, e em um desses projetos conheci meu atual sócio.

Sim, uma das minhas empresas (que não tem nada a ver com jogos) começou comigo sabendo resolver um problema no Minecraft.

3

Minha história na tecnologia um pouco menos empolgante tem Minecraft como ponto de partida também.

Quando criança sempre quis criar um servidor para jogar com meus amigos... Resuminho a história já fiz servidores das mais diversas formas possíveis sempre buscando aprender mais. Com o tempo cheguei a ter 5 servidores rodando ao mesmo tempo: ATM9, SkyATM, BetterMC, Vanilla, Stoneblock 3)

Por causa de muitos desafios e as diversas platformas que usei pra fazer servidores java: Android (Userland), Windows, WSL2, Debian, Ubuntu. Acabei adquirindo muito conhecimento de redes.

E hoje eu posso dizer que tenho um emprego porquê eu decidi aprender a fazer servidor de joguinho 😃

1

Cara, minha história é a mesma que a sua, aprendi a programar com 10 anos, usava muito o eclipse, bukkit, spigot, bungercoord, tempo bom, hoje ainda estou na area porem focado em cyber segurança, mas é bom saber que nao fui o unico que o Minecraft deu uma profissão.

1

Que sensacional o relato de vocês! Meu interesse por programação também começou usando redstone e blocos de comando e, eventualmente, criando data packs.

Em 2019, de um jeito ou outro, acabei me tornando o mantenedor do Note Block Studio, um app de criação musical bem conhecido pro Minecraft. Em 2024, fundei e desenvolvi, com meu colega de faculdade, o Note Block World, um site para a comunidade do programa compartilhar suas músicas. Hoje o projeto está com cerca de 30 mil usuários ativos e mais de 2 mil músicas enviadas (ainda estou pra fazer um post sobre ele aqui no TabNews, hahaha), e foi, acredito eu, o maior contribuinte para que eu conseguisse minha primeira vaga em tech.
(Conversando com o assunto inicial do post, o projeto ainda está numa fase bem inicial e precisamos MUITO de contribuidores! 🙏🏻)

Hoje, ainda tô escrevendo minha dissertação de mestrado em Computação Musical sobre o projeto.

Assim como vocês, tenho muito a agradecer a esse joguinho quadrado, viu? 😁🙌🏻

3

Nossa, que relato legal!
Eu acredito que esteja faltando um pouco isso hoje em dia, gostar, tentar fazer, pessoal comentar, aí aprender e tentar melhorar.
Eu quando adolescente fazia CDs personalizados e convites de aniversário no computador para vender, tive que aprender a fazer capas, ajustar impressora pra imprimir em adesivo redondo etc.
Uma amiga da minha mãe tinha uma empresa e usava um software (dos, bem velho) que a empresa fechou, eles cobravam uma mensalidade e todo mês iam lá pessoalmente e aumentavam mais 30 dias (pré internet ser rápida e existir saas, não me julgue). Tudo da empresa dela lá dentro é não dava mais pra usar. Ela perguntou se eu podia tentar ajudar de alguma forma já que "mexe com computador".
Eu não fazia ideia que estava fazendo, sabia o básico do básico sobre programação pois minha irmã mais velha estava fazendo um técnico e tinha uns livros lá dela que eu lia de curioso. Abri até o hexadecimal do negócio procurando se dava pra abrir o programa de algum jeito, sem fazer ideia o que tava fazendo, procurando datas, números qualquer coisa que fizesse sentido. Sabe-se lá Deus como, depois de ficar tentando mudar várias coisas aleatórias que eu chutava que podia ser, o programa abriu e ela conseguiu não parar a empresa. Isso me rendeu meu primeiro emprego, comprei um livro de visual basic, recriei o programinha lá que tinha destravado para Windows e banco de dados access (que era o que ensinava no livro), fiz site, programei um sistemas para outras empresas da cidade, depois para outras cidades, para umas empresas maiores que começaram a precisar de cloud/aws, montei operações em vários setores e hoje sou CTO de uma empresa.
Tudo porque destravei um software.

1

Eu acredito que esteja faltando um pouco isso hoje em dia

Sim, lembro que na minha adolescência o tédio era constante, precisava achar o que fazer.

Ficava horas e hoas vendo placas de eletrônicos sem entender nada, comprei um livro de eletrônica e ficava procurando os componentes que tinha estudado para ver com o que eles se ligavam (claro, nunca consegui entender um circuito completo, só partes dele)

Hoje não tem esses momentos de tédio, tudo o que tu precisa está a 15s de você.

Acredito que tenha criado uma geração extremamente imediatista.

Se não consegue fazer em poucas tentativas -- desiste

2

Existe a Kalify Inc para isso, além de termos vários projetos open source, temos o apoio da comunidade para criar novos projetos, ajudar a divulgar e também compartilhar ideias para criar ainda mais.

A ideia da Kalify é justamente essa, auxiliar o Junior a entrar em projetos open source no mesmo nível corporativo, aprendendo e absorvendo conhecimento ao mesmo tempo.

Discord: https://discord.gg/jhSepmE7nN
WhatsApp: https://chat.whatsapp.com/ESgYKVgH8KZ5U5lHLvv8j0
Github: https://github.com/kalify-inc

1
1

Estou procurando a mesma coisa... tente olhar perfis pequenos, no Discord você acha servidores voltados à programação, e sempre tem alguém novo que se apresenta e coloca o github lá...

1

Me encontro na mesma situação, e acho que seja bem comum mesmo. Se você for iniciar algo, compartilha aqui, e vai ser bem legal estar colaborando com o projeto.

0
1

É normal esse sentimento, fique tranquilo. Contribuir com um projeto não precisa ser difícil. Claro que alguns já tem toda uma dificuldade de entrada, mas isso é assim para impedir pessoas mal-intencionadas. Normalmente os projetos tem algumas issues com uma label "Good First Issue" ou "Good First Contribution", então procure por elas. Se quiser ajuda pra achar, me diga um ou mais assuntos que você tenha interesse que eu posso te indicar alguns projetos (eu tenho um histórico de contribuição e de pesquisa de projetos)

1

Eu agradeceria muito essa ajuda, me interesso em qualquer tipo de projeto que posso contribuir no back-end, principalmente se fosse com alguma stack envolvendo JS.

1

Infelizmente foi um pouco difícil achar alguns bons exemplos (não são o tipo de projeto que mais curto).

  • O mais óbvio que você pode contribuir é com o próprio tabnews
  • Tem alguns projetos de JS/TS nesse repo
  • E você pode encontrar issues para iniciantes nesse dois sites (1 e 2)
1
1

Fala maninho, realmente, é muito dificil conseguir projetos open source no começo, é até assustador.

Eu não sei qual o seu conhecimento, ou o que você está procurando, mas, como um membro do Tab disse aqui nos comentários, nada impede você de começar o seu projetinho.

Eu tinha criado um repo (uns 2 meses atrás) com esse exato foco, fazer um projeto OSS para resolver uma dor para a comunidade, um encurtador de link muito rápido.

Acabou que os trampos e freelas estão consumindo todo o meu tempo, mas se quiser dar uma olhada:

https://github.com/luannzin/the-fastest-url-shortener

O projeto tá no start ainda, não tem integração com db, mas da uma olhada na estrutura de pastas, tenta entender oq o dono do repo (el hombre que vos fala) estava pensando quando começou o projeto, fazer isso vai te ajudar a entender projetos maiores.

Boa sorte, parceiro.

1
1

A curva de entrada em projetos consolidados parece alta porque você está olhando pro output (a arquitetura polida, os padrões estabelecidos), não pro processo.
Repara: esses projetos são justamente os que têm good-first-issue e maintainers com paciência de monge. A comunidade open-source adora mentorias, é tipo vício, se você aparece com humildade e um PR que resolve algo real, os caras te explicam absolutamente tudo.

Mas aqui vai a verdade: essa metodologia de "achar projeto para colaborar" é meio quebrada. Você caça repositório no GitHub como se caça emprego no LinkedIn, tudo genérico, distante, abstrato. O resultado? Você contribuindo pra corrigir um typo no README de lib que ninguém usa, achando que fez network.

A solução é óbvia e ninguém fala: colabore com o que você já usa. Aquele parser de Markdown que te irrita? Aquela CLI que falha quando o path tem espaço? Você já sabe o que falta. Começa aí. O "contexto de domínio" que você acumulou usando a ferramenta vale mais que qualquer arquitetura limpa que você vá inventar do zero.

E se tá estudando, investe no GSoC (Google Summer of Code). Não é só pelo dinheiro (que é bom), é pela estrutura: eles literalmente te ensinam como a comunidade de codigo aberto funcioan..

1
1

Realmente... Existe essa dificuldade.

Mas podemos pensar em algumas coisas.

  1. Escopo: repos q usem stacks q vc ja sabe alguma coisa. N adianta tentar contribuir para uma linguagem q nunca usou.

  2. Contribuir para algo q vc ja usa, boa parte das coisas q usamos são opensource, uma lib, plugin, template etc. Por exemplo eu usei bastante uma lib específica de python para evaluation de llms (RAGAS). Lá eu tinha um problema, entrei no discord e perguntei se alguém tinha uma solução, o mantenedor criou uma issue para isso e eu mesmo fui lá e desenvolvi a solução.

  3. Existe muitos projetos opensource tanto no início quanto mais maduros q são bons para first pr/issue. Vc só precisa acha-los. Aqui no tabnews é comum alguém fazer um projeto colocar opensource e pedir contribuição.

  4. Mentalidade: pq vc esta contribuindo? Pq vc gosta muito daquela lib, pq gosta da stack, pq quer criar portfólio/network. O seu pq vai de dar um norte para qual tipo de projeto quer ajudar.

  5. Bom senso: faça bem feito, a galera percebe quando um código e PR foi gerado totalmente por i.a de qualquer jeito. Veja o perfil daquele repo, ele esta morto, possui muitas issues cheio de teia de areia? Os mantenedores são aqueles religiosos radicais q implicam com tudo? Se tiver muitos negativos n vale a pena gastar tempo nisso, veja onde esta se metendo. Seja humilde, tente fazer parte da comunidade (discord, conversar etc). E não chegar do nada querendo jogar um monte ideias, isso pode soar como um intrometido sabe.


Mas tenha certeza, existem vários repos muito interessantes, vai ter q cavar até achar um

1
1
1

Eu concordo com tudo que você disse. Essa sensação é bem real, principalmente quando a gente ainda está ganhando confiança e pega um repositório enorme cheio de padrão, arquitetura complexa e histórico gigante.

Mas queria adicionar uma coisa: aqui no próprio TabNews já surgiram vários projetos open source bem legais criados por devs da comunidade!

Um exemplo é o Mortal Kombat dos Devs (feito pelo samdeoliveira, um dev junior inclusive). É um projeto que dá perfeitamente pra entrar, criar uma issue, fazer um fork, abrir um PR com fix, melhoria ou feature nova. Não é aquele tipo de repo que assusta logo de cara.

Acho que às vezes a gente procura “o projeto open source ideal” lá fora, mas tem muita coisa boa nascendo dentro da própria comunidade.

Também vejo bastante isso no LinkedIn: devs compartilhando projetos pessoais e a galera apoiando, revisando código, abrindo PR, sugerindo melhoria. Às vezes contribuir não começa em projeto gigante, começa apoiando projeto de outro dev que está no mesmo nível que você!!

Talvez uma boa estratégia pra quem é junior seja exatamente essa: contribuir em projetos de outros devs em crescimento, em vez de tentar entrar direto em projetos gigantes.