53 pontos por GN⁺ 2024-09-11 | 5 comentários | Compartilhar no WhatsApp
  • "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

 
geekbini 2024-09-18

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.

 
joon14 2024-09-12

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.

 
savvykang 2024-09-12

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.

 
halfenif 2024-09-11

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.

Às vezes penso que talvez eu é que devesse pagar para trabalhar na empresa.

 
GN⁺ 2024-09-11
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

    • Mantém um grupo que desenvolve projetos em conjunto por 6 semanas e concluiu a segunda turma
    • O processo de resolver projetos e desafios junto com outras pessoas é muito prazeroso
  • Explicou um projeto pessoal em uma entrevista, mas ficou desconfortável porque o entrevistador continuou perguntando por que ele tinha feito aquilo

    • Disse que fez simplesmente por diversão e aprendizado, mas o entrevistador não conseguiu entender
  • 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

    • Mesmo que ninguém reconheça, e mesmo que as ondas o apaguem, ainda assim há satisfação
  • Com os grandes modelos de linguagem (LLMs), ficou mais fácil começar projetos divertidos

    • Dá para criar protótipos simples sem passar por um longo processo de pesquisa e configuração de ferramentas
    • Criou um webapp de música baseado em localização para ouvir músicas diferentes a cada caminhada
  • Para investir tempo em projetos pessoais, reduz o custo de vida e aproveita os intervalos entre contratos

    • Trabalha em projetos por semanas de cada vez e dedica tempo aos projetos com que sempre sonhou
    • Faz projetos por diversão, mas investe tempo neles com seriedade
  • É uma pena que listas de projetos feitos por diversão incluam apenas projetos concluídos

    • Projetos inacabados ou esquecidos depois de algumas semanas também deveriam entrar
    • A diversão de programar está em aproveitar o próprio processo
  • Numa conversa com colegas ontem, chegaram à conclusão de que produzir muito trabalho é importante para desenvolver habilidade técnica

    • Citando o exemplo de John Carmack, compartilharam a experiência de evoluir tecnicamente criando muitos jogos
    • Tentar demais escolher a linguagem certa e os projetos certos para portfólio pode acabar causando atraso
  • Tanto produtos feitos por diversão quanto produtos feitos por lucro podem ter baixa qualidade

    • Mais importante do que a dicotomia entre diversão e lucro é criar bons produtos de software e bons sistemas de programação
  • É uma experiência interna, como preparar um prato excelente sozinho, mas ainda assim tem valor por si só

    • É difícil explicar isso para quem não entende essa mentalidade
  • Em sites como o Hacker News, pode parecer que muita gente está se preparando para a próxima startup bilionária

    • Mas também há muita gente trabalhando em código aberto por diversão
    • O HN é uma das principais fontes para ver programadores trabalhando de um jeito mais divertido