3

Seria possível criar o Silicon Valley digital?

Particularmente, gosto muito de A Rede Social (The Social Network). Tirando toda a parte crítica do filme, o que mais me chama atenção é a energia de pessoas construindo algo juntas: programando lado a lado, discutindo ideias, resolvendo problemas e transformando uma ideia em um produto.

Esse sentimento também aparece em outros filmes e séries sobre programação. E, apesar da dramatização, acredito que essa parte é real: quando pessoas talentosas se encontram com um objetivo em comum, coisas muito interessantes podem surgir.

Na prática, vemos isso acontecer em projetos como o Facebook, o Napster e, principalmente hoje, no movimento open source. É justamente por isso que tenho me aproximado cada vez mais da comunidade open source: ela parece ser um dos poucos lugares onde esse espírito ainda existe.

Mas existe um problema.

Criar conexões genuínas em uma comunidade enorme não é simples, principalmente quando você não tem audiência ou já faz parte de um grupo consolidado. Muitas vezes você contribui, abre PRs, participa de discussões, mas falta aquele ambiente em que as pessoas realmente constroem juntas no dia a dia.

Foi aí que comecei a pensar:

E se existisse uma espécie de "Silicon Valley digital"?

Não estou falando de criar outra rede social para desenvolvedores ou um lugar para divulgar projetos. Estou pensando em um ambiente cujo foco principal seja a interação entre devs: encontrar pessoas para programar em pair programming, criar projetos do zero, aprender uns com os outros, participar de hackathons contínuos e, quem sabe, iniciar projetos open source que realmente ganhem vida.

Além de ser uma forma divertida de construir software, isso também poderia acelerar a evolução de quem está começando e aproximar pessoas que, de outra forma, nunca se conheceriam.

Mas a pergunta que mais fica na minha cabeça é:

Como transformar isso em realidade?

Qual seria o melhor meio para isso acontecer?

  • Um software dedicado?
  • Um aplicativo?
  • Um servidor no Discord?
  • Uma plataforma que conecta pessoas por interesse e disponibilidade?
  • Ou será que o problema nem é a ferramenta, mas sim como incentivar as pessoas a realmente construir juntas?

Tenho pensado bastante sobre isso e, sinceramente, ainda não encontrei uma resposta.

Queria ouvir a opinião de outros desenvolvedores.

Se vocês tivessem que criar um lugar que despertasse esse espírito de construir software em conjunto, como fariam? O que faria vocês entrarem, permanecerem e realmente colocarem a mão no código?

Carregando publicação patrocinada...
2

Meus 2 cents,

De certa forma isso ja existe: de imediato lembro das incubadoras, os ambientes de co-work e hacktoons.

So que na pratica nao eh durante o dia, no horario de trabalho que as interacoes acontecem: eh na hora do almoco, e principalmente no happy-hour e em atividades off-office que o networking rola.

O problema de aplicativos que procuram estabelecer este networking de forma artificial, eh que quem participa quer se vender - e todo mundo quer se vender, entao vira uma linkdisney com uma quantidade absurda de ruido.

Veja, ninguem recusa uma boa oportunidade - mas participar de um grupo (seja remoto ou presencial) onde alguem sempre vai tentar te empurrar um business plan ou uma ideia mirabolante eh um saco.

Veja o TABNEWS p.ex.: eh uma comunidade legal de gente trocando conhecimento, mas os PITCHs sem pe nem cabeca acabam tornando a experiencia menos que ideal (e gera textao de tempos em tempos).

Saude e Sucesso !


Este post foi favoritado via extensão TABNEWS FAVORITOS

Tem curiosidade sobre IA ? Da uma olhada no meu LIVRO: IA PARA ENGENHEIROS

1

Eu concordo que já existe uma tentativa parecida em alguns ambientes, como incubadoras, coworkings e hackathons. Inclusive, acho que esses espaços mostram uma coisa importante: existe uma vontade real das pessoas de se conectar, trocar conhecimento e construir algo juntas.

Mas acredito que o grande desafio está em como essas interações são estruturadas.

Muitas vezes, nesses ambientes mais abertos, a dinâmica acaba virando quase um "quem consegue vender melhor a própria ideia?". Cada pessoa chega com seu projeto, sua visão, seu plano de negócio e, naturalmente, tenta encontrar uma oportunidade. Isso faz parte do jogo, mas quando não existe um propósito claro, o ambiente pode rapidamente virar uma competição de pitches e gerar bastante ruído.

É justamente aí que acredito que os squads mudam o jogo (e tive essa ideia pelo comentário do @HarukaYamamoto0)

A diferença é que o squad não começa pela pessoa tentando convencer outras pessoas da própria ideia. Ele começa pelo problema.

Em vez de reunir pessoas para apresentar projetos e tentar conseguir apoio, você reúne pessoas que compartilham um mesmo objetivo e cria um ambiente onde a colaboração acontece naturalmente. O foco deixa de ser "como eu faço minha ideia ganhar atenção?" e passa a ser "como nós conseguimos construir a melhor solução para esse problema?".

Dentro de um squad, a pessoa não está ali como um vendedor tentando converter os outros em usuários, investidores ou colaboradores. Ela está ali como alguém que faz parte de uma construção coletiva.

Eu acredito muito que pitchs são válidos. Existem projetos que realmente ajudam pessoas, resolvem dores importantes e geram impacto positivo. Mas também existem projetos que nascem apenas com a intenção de gerar lucro e, dependendo da execução, podem ser excelentes ou simplesmente mais uma ideia procurando um problema para resolver.

Então o problema nunca foi o pitch, mas o lugar e o momento do pitch.

Inclusive, lembro da discussão sobre o Fila Saúde. Foi muito legal ver sua contribuição na conversa e as ideias que surgiram a partir dela. O projeto é um exemplo de como uma boa discussão pode agregar valor, principalmente por ser uma iniciativa sem fins lucrativos, criada a partir de uma dor real que existe preocupação em resolver.

Acredito que o pitch funciona muito bem quando existe um espaço próprio para isso: um momento em que alguém apresenta uma dor, uma visão e procura pessoas que realmente se conectem com aquele propósito.

Mas dentro de um squad, acho que deveria existir uma regra simples:

A comunicação dentro dos squads deve ser focada em criar rapport, colaborar e contribuir diretamente para o objetivo do grupo. 🤝

Ainda podem existir pitchs de projetos que tenham relação com o próprio squad ou que ajudem na evolução dele. A diferença é que o squad deixa de ser um palco para convencer pessoas e passa a ser um ambiente para construir coisas.

E talvez essa seja a maior mudança: sair de uma cultura de "tenho uma ideia, preciso encontrar pessoas para ela" para uma cultura de "temos um problema, vamos encontrar pessoas para resolvê-lo".

2

desculpa mas não tinha como não lembrar do filme "Tomorrowland - Um Lugar Onde Nada é Impossível" que inclusive olhando agora vi que aparentemente ele tem uma avaliação ruim, mas eu achei o filme muito bom.

mas enfim voltando ao assunto: Acho que o principal desafio não é a tecnologia, mas a natureza das interações humanas e do próprio trabalho de engenharia.

Existe uma diferença ENORME entre um grupo de pessoas em um escritório, compartilhando o mesmo ambiente e perseguindo um objetivo em comum, e milhares de desenvolvedores espalhados pela internet.

Quando olhamos para casos como Facebook, PayPal ou até alguns grandes projetos open source, normalmente existiam alguns ingredientes raros ao mesmo tempo: pessoas muito motivadas, proximidade (física ou temporal), objetivos alinhados e um problema realmente interessante para resolver.

Comunidades online geralmente conseguem resolver a parte de "encontrar pessoas", mas falham na parte de "construir algo juntos por muito tempo". Não é à toa que muitos servidores enormes no Discord acabam virando apenas locais de conversa.

Eu mesmo percebo isso em mim: quando estou profundamente concentrado em algum problema, a última coisa que penso é abrir Discord, WhatsApp ou e-mail. O custo de trocar de contexto é muito alto. Imagino que muitos desenvolvedores sintam algo parecido.

Por isso, talvez um "Silicon Valley digital" não devesse ser construído em torno de chat ou networking, mas em torno do próprio trabalho.

Em vez de grandes comunidades, talvez algo mais próximo de pequenos grupos temporários, com objetivos claros, sessões de pair programming, hackathons contínuos e reputação baseada em entregas reais.

o que os filmes mostram não é apenas um monte de pessoas talentosas no mesmo lugar. É um pequeno grupo de pessoas obcecadas pelo mesmo problema, construindo intensamente por meses ou anos.

a parte difícil de reproduzir não é a plataforma. É criar esse alinhamento e manter o compromisso quando o entusiasmo inicial passa.

1

Concordo. E acho que é justamente por isso que até hoje não consegui chegar nem perto dessa energia, mesmo dedicando bastante tempo tentando criar isso de várias formas.

Em vez de grandes comunidades, talvez algo mais próximo de pequenos grupos temporários, com objetivos claros, sessões de pair programming, hackathons contínuos e reputação baseada em entregas reais.

Essa parte foi cirúrgica.

Talvez a pergunta nem seja "como criar uma grande comunidade?", mas como fazer pequenas comunidades surgirem naturalmente.

Porque olhando para lugares como o Facebook no começo, PayPal, Y Combinator ou até alguns projetos open source de enorme sucesso, a comunidade não veio primeiro. O trabalho veio primeiro. As pessoas se aproximaram porque estavam construindo algo que realmente importava para elas.

Será que dá para projetar um ambiente onde isso aconteça pela internet?

Daí o ponto de encontro nao seria o chat ou a call, mas o próprio problema. Em vez de entrar para conversar, alguém publicaria uma ideia ou um desafio, talvez em um simples Markdown, explicando o contexto, o objetivo e o que ainda falta construir. A partir dali, outras pessoas poderiam simplesmente decidir fazer parte daquele squad por um tempo.

Uma coisa que sempre me chama atenção em A Rede Social é que várias vezes alguém pergunta onde o Mark está e a resposta é: "Ele está online." Mas "estar online" ali não significa estar disponível para conversar. Significa que ele está em modo de foco, escrevendo código, resolvendo um problema. Existe quase uma inversão do significado da palavra. O online não é um lugar para socializar. É um lugar para construir.

Talvez seja isso que eu sinta falta nas comunidades atuais. Elas fazem parecer que conversar é o objetivo, quando talvez a conversa devesse ser apenas uma consequência do trabalho.

Então fico pensando: como criar um ambiente em que as pessoas se encontrem por causa de um problema interessante, entrem em modo de construção juntas e, só depois, a comunidade apareça naturalmente?

Entao, como desenhar um sistema que faça esse tipo de grupo nascer sozinho, repetidamente, sem depender da sorte?

Sei que existe uma limitação física que nunca vai desaparecer. Estar no mesmo ambiente ainda facilita muita coisa. Mas talvez o objetivo não seja reproduzir isso perfeitamente, e sim facilitar a formação desses pequenos grupos, reduzindo ao máximo a distância entre pessoas que querem resolver o mesmo problema.

Inclusive, talvez estejamos nos aproximando também de uma ideia que aparece em Mr. Robot. Existe aquele espaço físico onde as pessoas ficam programando, debatendo ideias e tentando resolver um grande problema juntas. E mais, somente podem resolver aquele problema naquele ambiente.

No mundo online, qual seria o equivalente disso? Hoje, o mais próximo parece ser uma call. Se você está codando, você entra na call. Não necessariamente para conversar o tempo inteiro, mas porque aquele passa a ser o ambiente compartilhado de trabalho. Assim como em um escritório, pode haver momentos de silêncio absoluto, alguém faz uma pergunta, outra pessoa responde, e cada um volta para o seu fluxo.

1

Se a dúvida maior é como iniciar, acho que esse vídeo do TED ajuda bastante:

Tem também a ideia daquele filme (1989 - Field of Dreams), de onde ficou famosa a frase: "If you build it, he/they will come." O que precisaria ser construído neste caso é uma área pública, onde tu poderia iniciar algo, e literalmente deixar a porta aberta para outros entrarem. Criar uma org no Github onde qualquer um poderia contribuir. Vai divulgando em suas redes, e aos poucos os DEVs acabam vindo e contribuindo. Não precisa de grupos Discord ou WhatsApp inicialmente, deixa a coisa evoluir e surgir a necessidade e aos poucos vai sedimentando uma comunidade. As ferramentas do GitHub são boas pra isso, e quem é DEV hoje em dia já tá lá.

Ter coragem e também muita paciência, pois podem demorar pra vir. Por exemplo, estou aprendendo o OpenShot, editor de video. A origem do projeto é muito interessante. Começou com um DEV sozinho, divulgando o projeto em seu blog pessoal, em 2008. Depois vieram os contribuidores, aos poucos formou um grupo de usuários, evoluiu pra uma equipe fixa, acabaram criando uma empresa, e hoje tem uma grande comunidade. Esse foi o primeiro artigo no blog onde ele falou que iria iniciar o projeto: https://www.openshot.org/blog/2008/05/01/in-beginning/.

Ideias tenho muitas, mas tô mais focado em audiovisual hoje em dia do que código. Se quiser inspiração, lembra da frase do Vital Brazil: "A única felicidade da vida está na consciência de ter realizado algo de útil em benefício da comunidade."

Boa sorte e sucesso aí.