Just for Fun. No, Really. - Lo desarrollamos por diversión. De verdad. (2022)
(justforfunnoreally.dev)- "Nos gusta desarrollar software"; programar es un viaje en zigzag para resolver problemas, y el destino importa menos de lo que mucha gente cree
- A menudo nos hacen preguntas como estas:
- "¿Por qué hacen esto?"
- "¿Cuál es el propósito de este proyecto?"
- "¿En qué es mejor este proyecto que X?"
La intensidad de Silicon Valley
- Si pasas mucho tiempo en Hacker News u otros sitios de noticias centrados en startups, puedes llegar a creer que todo el mundo está obsesionado con la próxima startup multimillonaria o con una estrategia de salida
- Puede resultar difícil imaginar que haya gente trabajando en código de código abierto puramente por diversión
- Hay hackers que aman el arte de construir software. Lo hacen por el desafío, por diversión. No intentan volverse millonarios
Cultura de consumo
- O, si solo consumes el software de otros y casi nunca construyes nada, puedes quedar atrapado en la idea de "¿qué puede hacer este proyecto por mí?". (Y, si el proyecto no tiene relación con ellos, se preguntan por qué existe)
- Existen hackers que no necesitan que otras personas consuman su software. Claro, está bien que otros disfruten, admiren o agradezcan su trabajo, pero eso no es estrictamente necesario. Simplemente, crear ya es divertido.
Lo hacemos solo por diversión. De verdad.
- Por último, quienes solo aprendieron las habilidades de programación necesarias para su trabajo diario quizá no entiendan a los programadores que siempre están probando algo nuevo
- Existen hackers que viven y respiran código
- Es realmente triste la idea de que cada línea de código deba justificar su valor monetario, de que haya que explicar cada hora de esfuerzo frente al teclado
- El proceso en sí tiene valor. Incluso con sus defectos, tiene valor por sí mismo. No solo importa el producto final
- Terminaré con mi cita favorita sobre la programación:
El programador trabaja, como el poeta, solo un poco alejado de la materia pura del pensamiento. Construye sus castillos en el aire, de aire, creando con la imaginación. Pocos medios creativos son tan flexibles, tan fáciles de pulir y rehacer, tan aptos para materializar grandes estructuras conceptuales. Sin embargo, a diferencia de las palabras del poeta, la estructura del programa es real en el sentido de que se mueve y funciona, y produce resultados visibles separados de la construcción misma.
— Fred Brooks, The Mythical Man-Month
¡Inténtalo!
- Si sientes que te perdiste en el camino —si programar antes era divertido pero ahora se volvió solo una carga que haces para fichar y cobrar un sueldo—, ¡te volvemos a invitar!
- O si te han condicionado a pensar que programar ideas extravagantes es solo cosa de profesionales y académicos, esta página es para ti. ¡Tienes derecho a experimentar y disfrutar el proceso!
- Piensa en algo que quieras crear, aprender o experimentar dentro de una computadora. Y, en vez de buscar primero o investigarlo, simplemente lánzate. Tal vez hasta te diviertas un poco. De verdad.
El club
Sin un orden en particular, aquí hay algunos proyectos que llevan con orgullo la etiqueta de "solo por diversión".
- Natalie - compilador de Ruby hecho por diversión
- ZigSelf - implementación de Self hecha en Zig por diversión
- php-parser-rs - parser de PHP hecho en Rust por diversión
- ex6502 - emulador de procesador 6502 hecho en Elixir por diversión
- Piko-piko OS - sistema operativo de juguete x86 de 16 bits hecho por diversión
- Folders2kt - lenguaje de programación esotérico hecho por diversión
- GCC Rust - compilador de Rust hecho por diversión
- Soul - servidor REST y en tiempo real para SQLite hecho por diversión
- hssp - CLI de códigos de estado HTTP hecho por diversión
- PyCraft - lanzador de Minecraft hecho en Python por diversión
- hashsearch - motor de búsqueda inversa de imágenes hecho por diversión
- quackspeak - motor de texto a voz con patos hecho por diversión
- Quark - dialecto de Lisp de alto rendimiento hecho por diversión
- Whitecat - CLI para desarrollo en PHP hecho por diversión
- eClient - lanzador de Minecraft hecho en Python por diversión
- CascadeOS - sistema operativo de propósito general hecho por diversión
- Kiesel - motor de JavaScript hecho en Zig por diversión
- github-pewpew - herramienta CLI para borrar repositorios hecha por diversión
- dt - lenguaje encadenable similar a AWK hecho por diversión
- grab - clon liviano de grep hecho por diversión
- math-with-regexps - hacer matemáticas con expresiones regulares por diversión
- noro - editor de texto con gestor de ventanas hecho por diversión
- Vox - generador de sitios estáticos hecho en Elixir por diversión
- jimson - parser de JSON hecho por diversión
- txt2tufte - generador de sitios web estilo Tufte hecho por diversión
- Azure Storage explorador web - explorador web de Azure Storage hecho por diversión
- renam - utilidad de renombrado de archivos muy rápida hecha por diversión
- Funciton - lenguaje de programación hecho de cajas, creado por diversión
Opinión de GN⁺
- Este texto habla del valor y la importancia de que los programadores persigan simplemente la diversión. En la cultura actual de consumo y de startups, existe la presión de que todo sea práctico y rentable, pero eso puede frenar la creatividad y la innovación en la programación.
- La comunidad open source es un buen ejemplo de este espíritu de "solo por diversión". Muchos proyectos importantes de open source comenzaron como proyectos de hobby de alguien, y en ese proceso se exploraron nuevas ideas y enfoques.
- Pero si esta actitud se lleva al extremo, también podría producir una gran cantidad de proyectos poco prácticos. Al final, parece importante mantener un equilibrio entre diversión y utilidad. Aun así, este texto parece valioso porque nos recuerda el valor de la diversión pura y la curiosidad que a menudo olvidamos.
- Para los desarrolladores cansados del trabajo cotidiano, este tipo de proyectos de hobby puede ser una buena fuente de inspiración y motivación. También es un texto recomendable para quienes quieren aprender un nuevo lenguaje o una nueva tecnología, pero sienten que no tienen tiempo.
5 comentarios
Tengo entendido que incluso el propio lenguaje Python fue creado por diversión durante un período de vacaciones de aproximadamente una semana.
Me gusta desarrollar por diversión, pero últimamente termino noqueado cuando salgo del trabajo y siento que ni siquiera puedo imaginarme hacer algo así. Hay mucha gente impresionante.
También hay formas de contribuir ayudando con la resolución de problemas en el rastreador de issues de proyectos de código abierto que usas con frecuencia o colaborando con la documentación. No parece que sea necesario empezar siempre un proyecto nuevo o ponerse a programar.
Hasta 1994 yo era simplemente un usuario de computadoras; luego aprendí un lenguaje y en 1995 tuve un trabajo relacionado con la "informática".
Ahora que lo pienso, fui increíblemente afortunado.
Opiniones en Hacker News
Disfruta crear cosas con código y, aunque a veces considera el beneficio económico, hace proyectos principalmente por diversión
En una entrevista explicó un proyecto personal, pero le incomodó que el entrevistador siguiera preguntando por qué había hecho ese proyecto
Al explicar la motivación para crear software, lo compara con construir un castillo de arena solo en la playa y sentir satisfacción por ello
Los modelos grandes de lenguaje (LLM) han hecho más fácil empezar proyectos divertidos
Para invertir tiempo en proyectos personales, reduce sus gastos de vida y aprovecha los periodos entre contratos
Es una lástima que las listas de proyectos hechos por diversión solo incluyan proyectos terminados
En una conversación de ayer con colegas, llegaron a la conclusión de que es importante desarrollar habilidades haciendo una gran cantidad de trabajo
Tanto los productos hechos por diversión como los hechos por dinero pueden salir mal
Es una experiencia interna, como cocinar un gran platillo para uno mismo, pero aun así tiene valor
En sitios como Hacker News, uno podría pensar que mucha gente se está preparando para la próxima startup millonaria