Just for Fun. No, Really. - Desenvolvi só por diversão. Sério mesmo. (2022)
(justforfunnoreally.dev)- "Nós gostamos de desenvolver software"; programar é uma jornada em zigue-zague de resolução de problemas, e o destino importa menos do que muita gente imagina
- Muitas vezes nos fazem perguntas como:
- "Por que vocês estão fazendo isso?"
- "Qual é o objetivo deste projeto?"
- "Em que este projeto é melhor do que X?"
A intensidade do Vale do Silício
- Se você passa muito tempo no Hacker News ou em outros sites de notícias focados em startups, pode acabar acreditando que todo mundo está obcecado pela próxima startup multimilionária ou pela estratégia de saída
- Pode ser difícil imaginar que existam pessoas trabalhando em código open source puramente por diversão
- Existem hackers que amam a arte de construir software. Eles fazem isso pelo desafio, pela diversão. Não estão tentando virar milionários
Cultura de consumo
- Ou então, se você apenas consome o software dos outros e quase nunca cria nada, pode ficar preso ao pensamento: "O que este projeto pode fazer por mim?" (e, se o projeto não tiver relação com você, se perguntar por que ele existe)
- Existem hackers que não precisam que outras pessoas consumam o software deles. Claro, é bom quando outras pessoas gostam do trabalho, admiram ou agradecem por ele, mas isso não é estritamente necessário. Só o ato de criar já é divertido.
Nós fazemos isso só por diversão. Sério mesmo.
- Por fim, pessoas que aprenderam apenas as habilidades de programação necessárias para o trabalho do dia a dia talvez não consigam entender programadores que estão sempre tentando algo novo
- Existem hackers que vivem e respiram código
- É realmente lamentável a ideia de que cada linha de código precise provar seu valor financeiro, de que cada hora sofrida diante do teclado precise ser justificada
- O próprio processo tem valor. Mesmo com falhas, ele tem valor por si só. Não é só o produto final que importa
- Vou encerrar com minha citação favorita sobre programação:
O programador, como o poeta, trabalha um pouco afastado da matéria pura do pensamento. Ele constrói seus castelos no ar, a partir da imaginação. Poucos meios criativos são tão flexíveis, tão fáceis de polir e retrabalhar, tão acessíveis para realizar grandes estruturas conceituais. No entanto, ao contrário das palavras do poeta, as estruturas do programa são reais no sentido de que se movem e funcionam, produzindo resultados visíveis separados da própria construção.
— Fred Brooks, The Mythical Man-Month
Experimente!
- Se você acha que se perdeu — que programar era divertido antes, mas agora virou só uma tarefa penosa para bater ponto e receber salário — nós convidamos você de volta!
- Ou, se você foi condicionado a pensar que programar ideias malucas é coisa só de profissionais e acadêmicos, esta página é para você. Você tem o direito de fuçar e aproveitar o processo!
- Pense em algo que você queira criar, aprender ou experimentar dentro do computador. E, sem procurar ou pesquisar antes, simplesmente mergulhe. Talvez você acabe se divertindo um pouco. Sério mesmo.
O clube
Sem ordem específica, aqui estão alguns projetos que exibem com orgulho o rótulo "só por diversão".
- Natalie - compilador Ruby feito por diversão
- ZigSelf - implementação de Self em Zig feita por diversão
- php-parser-rs - parser de PHP em Rust feito por diversão
- ex6502 - emulador do processador 6502 em Elixir feito por diversão
- Piko-piko OS - toy OS x86 de 16 bits feito por diversão
- Folders2kt - linguagem de programação esotérica feita por diversão
- GCC Rust - compilador Rust feito por diversão
- Soul - servidor SQLite REST e em tempo real feito por diversão
- hssp - CLI de códigos de status HTTP feito por diversão
- PyCraft - launcher de Minecraft em Python feito por diversão
- hashsearch - motor de busca reversa de imagens feito por diversão
- quackspeak - engine de texto para fala usando patos, feita por diversão
- Quark - dialeto Lisp de alto desempenho feito por diversão
- Whitecat - CLI para desenvolvimento PHP feito por diversão
- eClient - launcher de Minecraft em Python feito por diversão
- CascadeOS - sistema operacional de uso geral feito por diversão
- Kiesel - engine JavaScript em Zig feita por diversão
- github-pewpew - ferramenta CLI para apagar repositórios, feita por diversão
- dt - linguagem encadeável parecida com AWK, feita por diversão
- grab - clone leve de grep feito por diversão
- math-with-regexps - fazer matemática com regex por diversão
- noro - editor de texto com gerenciador de janelas, feito por diversão
- Vox - gerador de sites estáticos em Elixir feito por diversão
- jimson - parser de JSON feito por diversão
- txt2tufte - construtor de sites no estilo Tufte feito por diversão
- Azure Storage web explorer - explorador web do Azure Storage feito por diversão
- renam - utilitário de renomeação de arquivos muito rápido, feito por diversão
- Funciton - linguagem de programação feita de caixas, criada por diversão
Opinião do GN⁺
- Este texto fala sobre o valor e a importância de programadores buscarem a diversão simplesmente pela diversão. Na cultura atual de consumo e de startups, existe a pressão de que tudo precise ser prático e lucrativo, mas isso pode atrapalhar a criatividade e a inovação na programação.
- A comunidade open source é um bom exemplo de como esse espírito de "só por diversão" ganha forma. Muitos projetos importantes de open source começaram como hobby de alguém, e nesse processo novas ideias e abordagens foram exploradas.
- Mas, se essa atitude for levada ao extremo, também pode haver uma proliferação de projetos com pouca utilidade prática. No fim, parece importante encontrar um equilíbrio entre diversão e praticidade. Ainda assim, este texto parece significativo por nos lembrar do valor da pura diversão e da curiosidade, algo que muitas vezes esquecemos.
- Para desenvolvedores cansados do trabalho do dia a dia, esse tipo de projeto hobby pode ser uma boa fonte de inspiração e motivação. Também é um texto recomendável para quem quer aprender uma nova linguagem ou tecnologia, mas sente que não tem tempo.
5 comentários
Pelo que sei, a própria linguagem Python também foi criada por diversão durante um período de férias de cerca de uma semana.
Eu gosto de desenvolver por diversão, mas ultimamente fico tão acabado quando saio do trabalho que nem consigo imaginar fazer isso. Tem muita gente incrível mesmo.
Há também formas de ajudar na resolução de problemas em issue trackers de projetos open source que você usa com frequência ou de contribuir com a documentação. Acho que não é necessário, obrigatoriamente, começar um projeto novo ou programar.
Até 1994, eu era apenas um usuário comum de computador; depois aprendi linguagens e, em 1995, passei a ter uma profissão relacionada à "informática".
Olhando agora, acho que fui uma pessoa absurdamente sortuda.
Opiniões no Hacker News
Gosta de criar coisas com código e, embora às vezes pense em retorno financeiro, toca projetos principalmente pela diversão
Explicou um projeto pessoal em uma entrevista, mas ficou desconfortável porque o entrevistador continuou perguntando por que ele tinha feito aquilo
Ao explicar a motivação para criar software, faz uma analogia com construir um castelo de areia sozinho na praia e sentir satisfação com isso
Com os grandes modelos de linguagem (LLMs), ficou mais fácil começar projetos divertidos
Para investir tempo em projetos pessoais, reduz o custo de vida e aproveita os intervalos entre contratos
É uma pena que listas de projetos feitos por diversão incluam apenas projetos concluídos
Numa conversa com colegas ontem, chegaram à conclusão de que produzir muito trabalho é importante para desenvolver habilidade técnica
Tanto produtos feitos por diversão quanto produtos feitos por lucro podem ter baixa qualidade
É uma experiência interna, como preparar um prato excelente sozinho, mas ainda assim tem valor por si só
Em sites como o Hacker News, pode parecer que muita gente está se preparando para a próxima startup bilionária