Realizando sonho de trabalhar full time com Open Source
Newsletter about software engineering, team management, team building, books and lots of notes I take after reading/studying (mine or yours)… :D
É extremamente comum ver amigos que começam a contribuir com open source quererem arrumar um “emprego” para passar o dia contribuindo com o projeto (em geral, deixando o Github verdinho...). Será que é realmente legal, como muitos imaginam, trabalhar para uma empresa para só contribuir com open source?
Costumo dizer que contribuir com open source é viciante, faz você passar horas e horas entendendo o projeto que alguém (ou alguma empresa) idealizou, até que chega o momento de mandar o primeiro PR (pull request, patch e etc) e defender sua implementação. Vem a aí a primeira skill que o desenvolvedor (você) precisa evoluir (caso ainda não tenha). Sim estou falando de venda. Não venda de produto e sim da sua ideia (aprender a se comunicar via texto - em geral em inglês
) Está aí outro problema, pois texto não passa sentimento. Hoje acho bom, principalmente pensando em uma contribuição, pensar na evolução do software e não levar só o que acreditamos para dentro do software (se você mantém um software open source, esteja aberto às novas ideias/necessidades).
Em um primeiro momento sim, mas como qualquer sonho nem tudo é previsível (principalmente quando você nunca ocupou essa posição antes). A ideia de escrever esse blogpost é expor um cenário que provavelmente você não analisou. Quando estamos apaixonados achamos que o caminho a percorrer é composto de flores.
Vamos direto ao ponto!
Quando você contribui com qualquer projeto (principalmente open source), dedica algumas horas (dias, meses e até mesmo anos) do seu tempo para entendê-lo e após compreendê-lo, existem duas linhas a seguir:
- Propor/implementar alguma necessidade que você tem;
- Assumir alguma issue proposta por alguém.
Ou seja, a escolha (autonomia) está em suas mãos. Esse é o ponto no qual eu quero chegar: autonomia.
Mas quando eu estiver dentro de uma empresa será igual? Então, bem provavelmente não. Sabe por quê? Porque você está sendo pago para implementar as necessidades que a empresa tem e não as suas necessidades! Se você chegou até esse ponto, isso pode piorar, principalmente se você estiver contribuindo com um grande projeto open source.
Já pensou que a empresa em que você trabalha pode necessitar de um recurso que você não concorda em ter no projeto? E você terá que defender uma ideia que não concorda, pois está sendo pago para isso? Esse é um ponto que muitas pessoas que querem ser pagas para contribuir com open source não pensam e te desafio a pensar o que você faria quando passasse por este cenário (caso queira ocupar uma posição desse tipo).
- O que você faria?
Tenha em mente que nada é para sempre e amanhã você pode estar em outra empresa, mas a pessoa que defendeu/propôs/lutou/se expôs (use a palavra que se encaixa no seu mundo) o recurso X, Y e Z foi você e não a empresa que te pagava!
Então não devo aceitar trabalho para contribuir com open source?
Acredito que surgiu a seguinte duvida: Durante quase todo o texto parece que você (Avelino) apoia o fato de que a pessoa deve fazer aquilo que ela está sendo paga para fazer, mas no último parágrafo parece que você (Avelino) muda de ideia e traz a mensagem de que é o indivíduo que contribui e não a empresa e que deve-se ter cuidado.
Não existe certo ou errado, estou escrevendo esse blogpost para fazer você refletir que ser pago para contribuir com open source pode não ser tão divertido como muitos pensam. Minha dica seria você evoluir os seguintes skills:
- Venda: não necessariamente vender um "produto" e sim sua ideia;
- Comunicação: nem todos irão abraçar sua ideia (isso é bom não é ruim);
- Aprenda a dizer não: costumo dizer que o aprender dizer não vem com a senioridade. Nesse contexto a palavra não expõem que você não concorda com alguma coisa proposta, não que você é contra a pessoa, ou seja, não é uma negação a pessoa e sim ao contexto (nesse caso proposta) a ser seguida;
- Aprenda a debater idéias, não convicções;
- Aprenda a ouvir: extremamente importante.
Por último e julgo o mais importante você ter ciência é: Open Source é mantido por pessoas
Lição aprendida na PythonBrasil[13]