Overreacted

Nómbralo, y vendrán

25 de marzo de 2019 • ☕️ 4 min read

Has descubierto algo nuevo.

No has visto soluciones como esta antes. Tratas de mantener en control tu ego y ser escéptico. Pero las mariposas en tu estómago no te escuchan.

No te quieres dejar llevar, pero en el fondo ya lo sabes:

Tienes algo bueno.

Esta idea se convierte en proyecto. El primer commit son solo 500 líneas. Pero en unos días, desarrollas lo suficiente para empezar a usarlo en código real. Un par de personas con ideas afines se te unen para mejorarlo. Aprendes algo nuevo sobre tu proyecto todos los días.

Sigues escéptico pero no puedes pretender ignorarlo.

Esta idea tiene alas.

Te encuentras con muchos obstáculos. Requieren que hagas cambios. De manera extraña, estos cambios solo hacen más fuerte la idea original. Sueles sentir que estás creando algo. Pero esta vez, se siente que estás descubriendo algo como si ya existiera. Has elegido un principio y lo has seguido hasta la conclusión.

Ahora, estás convencido:

Esta idea merece ser escuchada.


Si trabajas en una compañía burocrática, tal vez te pelees con el departamento legal para hacerlo un proyecto de código abierto. Si eres freelancer, tal vez lo sigas puliendo a altas horas de la noche luego de que el trabajo de tus clientes está hecho. Quizás deseas que se te pagara por ello. Pero nadie sabe sobre tu proyecto todavía. Esperas que lo sepan. Algún día.

Te calmas y te organizas para tenerlo listo para el primer lanzamiento. Escribes más pruebas, configuras la CI, creas documentación extensa. Diseñas una landing page hermosa. Estás listo para compartir tu idea con todo el mundo.

Finalmente, es el día del lanzamiento. Publicas tu proyecto en GitHub. Tuiteas sobre él y envías la landing page a los recopiladores de contenidos de noticias sobre código abierto populares.

git push origin master
npm publish

Ahora estás ansioso por escuchar la opinión del mundo sobre tu idea.

Quizás les encante. Quizás lo odien.

Todo lo que sabes es que merece ser escuchado.


¡Felicitaciones!

Tu proyecto está en la portada de un recopilador de noticias popular. Alguien visible en la comunidad tuiteó sobre él también. ¿Qué están diciendo?

Tu corazón se hunde.

No es que a la gente no le gustó el proyecto. Sabes que tiene compensaciones y esperas que la gente hable sobre ellas. Pero eso no es lo que pasó.

En su lugar, los comentarios son en gran parte irrelevantes a tu idea.

El hilo de comentarios principal se enfoca en el estilo del código en un ejemplo del README. Se convierte en una discusión acerca de la indentación con más de cien respuestas y una breve historia de cómo diferentes lenguajes de programación resuelven el formato. Hay menciones obligatorias de gofmt y Python. ¿Has probado Prettier?

Alguien menciona que los proyectos de código abierto no deberían tener landing pages hermosas porque es marketing engañoso. ¿Qué pasa si un desarrollador junior cae en él sin entender completamente lo fundamental?

En una respuesta, alguien argumenta que el diseño de la landing page es aburrido. Adicionalmente, no funciona en Firefox. Claramente, esto significa que al autor del proyecto no le interesa la web abierta. ¿La web como la conocemos está muriendo? Es momento de algo de teoría de juegos…

El siguiente comentario es una observación genérica sobre la naturaleza de las abstracciones, y de cómo puede llevar a demasiado “boilerplate” (o, alternativamente, “magia”). La respuesta principal explica que uno no debería confundir “simple” con “fácil”. En realidad, Rich Hickey dio una charla muy buena sobre esto. ¿La has visto?

Finalmente, ¿Para qué necesitamos librerías? A algunos lenguajes les va bien con una librería estándar incorporada. ¿Es npm un error? El accidente de left-pad podría ocurrir de nuevo. ¿Deberíamos incorporar npm en el navegador? ¿Qué hay de los estándares?

Confundido, cierras la pestaña.


¿Qué pasó?


Puede ser que simplemente tu idea no sea tan interesante como pensaste. Eso ocurre. También puede ser que lo hayas explicado mal para un visitante ocasional.

Sin embargo, puede haber otra razón por la que no obtuviste reacciones relevantes.

Solemos discutir sobre cosas de las que es fácil hablar.

Experiencias compartidas universalmente son fáciles de hablar. Eso incluye temas como formateo de código, verbosidad vs. magia, configuración vs. convención, diferencias en las culturas de la comunidad, escándalos, entrevistas técnicas, chisme de la industria, tendencias y opiniones de diseño. Tenemos un vocabulario compartido para todas esas cosas.

También estamos constantemente buscando patrones. Si algún patrón provoca una respuesta emocional (sea o no relevante a la idea presentada), seguramente basaremos nuestra primera impresión en él. Aprender por asociación es un atajo mental tremendamente valioso. Sin embargo, el estilo familiar puede oscurecer la sustancia novedosa.

Si tu idea realmente es nueva, puede que no exista vocabulario compartido para discutirla aún.

El problema que resuelve puede estar tan arraigado que ni siquiera lo notamos. Es el elefante en el cuarto. Y no podemos discutir sobre lo que nunca nombramos.


¿Cómo le das un nombre a un problema?

De la misma forma que lo hicieron siempre los humanos.

Contando una historia.

Nómbralo, y vendrán.