Construyendo comunidades escalables

Antes de empezar a leer este artículo me gustaría situarlos en porqué lo escribo. Estoy en la víspera de dejar el DF e ir a vivir a Madrid por un tiempo para trabajar en las oficinas de Tutum construyendo un producto que me ilusiona mucho. Tengo sentimientos encontrados entre dejar el DF y viajar a conocer una nuevas ciudades y personas en un continente en el que nunca he estado.

Al momento de dejar el DF, una de las cosas que más me causa conflicto ademas de dejar amigos y familia es dejar de participar activamente como organizador de ChelaJs y pasar a tomar un rol más de consejero y de manos disponibles para hacer tareas que se puedan hacer remotamente. Fue un proyecto que empezamos @Jeduan y yo hace poco más de un año y ha sido una gran satisfacción. Gracias a toda la comunidad, en especial a @_jurasec, @eusoj, @jceb, @__arch3r, @rog3r, @alexmarket y @ricardo_meza que han creído en la comunidad y ayudado a que esta crezca sin pedir nada a cambio.

También este fin de semana en el que escribo este artículo es el fin de semana siguiente al SWAmericas y UpSummit que tuvo lugar en Manizales, Colombia, siendo uno de los temas principales cómo crear comunidades en América. Después de ver el desgaste que implica crear un evento de 300 personas, recordé lo complicado que es organizar un SuperHappyDevHouse de 200 personas.

Hoy creo que estamos haciendo varias cosas interesantes en la comunidad de JavascriptMx y me gustaría contarles la historia de lo que ha pasado en la comunidad de Ciudad de México en el último año, lo que hemos aprendido y lo que se viene.

El inicio de ChelaJs

Cuando empezamos el ChelaJs yo acababa de regresar de Chile haciendo escala en San Francisco donde asistí a un BeerJs. Platicando de esto con Jeduan decidimos empezar una comunidad de Javascript; esta no era la primera vez que alguno de los dos empezaba u organizaba un evento. Jeduan para este momento había organizado un StartupBus y yo habia organizado algunos SuperHappyDevHouse en el DF y dos Hackspeditions.

El SuperHappyDevHouse es un evento de programación en el cual el único objetivo es programar por gusto 12 horas y compartir lo aprendido en ese tiempo con los demás asistentes. Es un evento que surge en Silicon Valley y nos tocó organizar 2 Hackpeditions donde los asistentes del DevHouse de SV nos vinieron a visitar por un gran fin de semana y después nos invitaron a visitarlos y conocer cómo hacían las cosas alla.

Fue una gran época de vida, fue un evento formativo para mi vida profesional como desarrollador y un evento donde conocí a muchos de mis amigos de esa época. Es un evento que se extendió por muchas ciudades del pais y formo a una generacion de programadores que hoy llamamos amigos y podemos visitar en todo el mundo.

Yo hoy en día no tengo muchas ganas de organizar un SuperHappyDevHouse y creo que eso es un sentimiento compartido entre @cesarsalazar, @dfect y @boyzo, porque no ha habido uno en la Ciudad de México en más de un año. El desgaste es terrible al organizar un DevHouse y pese a que la idea de sentarme a programar con amigos por doce horas un sábado suena muy atractiva, el organizarlo generalmente implica muchas cosas más que hacen que no logre este objetivo.

Cuando creamos ChelaJs el principal objetivo era juntar personas con las que pudiéramos hablar de javascript y tomar cerveza. Pero también perseguíamos un objetivos secundarios, saber a quiénes contratar algún día como paso con @__arch3r, subir el nivel de Javascript en la ciudad y organizar un JSConf, que esperemos que pase en el 2015. Los primeros ChelaJs salieron de manera complicada, no teníamos patrocinadores para la cerveza ni lugar. Tuvimos suerte de haber podido usar el garage de la Yogopolis donde Jeduan trabajaba en ese momento. Encontrar contenidos en esa época parecía fácil porque no sabíamos filtrarlos ni medir tiempos, entonces metimos muchos y tuvimos eventos que se extendieron por varias horas.

Poco a poco fuimos puliendo el formato del evento y conociendo el tipo de contenidos que funcionaban mejor con nuestra audiencia. El ChelaJS empezó a tener un poco de tracción y conseguir lugares fue mucho más fácil, pasamos del garage de la Yogopolis a @KMMXmx a @ThePoolMX hasta encontrar nuestra casa en @Centraal, a los que estamos muy agradecidos por el apoyo que brindan mes a mes y más importante tolerarnos cada mes. Lograr esto tomó una serie de varios correos y conseguimos un día fijo: el primer miércoles de cada mes. La cerveza ha sido mucho más fácil de conseguir cada vez, hemos tenido varios patrocinadores y hoy en día la mayoría de la cerveza la pone @nextcloudmx y @tutumcloud de manera religiosa, ademas de un poco de cerveza que pone @googledevs.

Poco a poco, mientras organizar ChelaJs se fue volviendo más sencillo, empezamos a pensar más en cómo escalar la comunidad y hemos pasado a tener largas pláticas semana tras semana de cómo hacerlo.

Diferencia entre un evento y una comunidad

La primera cosa que me gustaría comentar es que hay una gran diferencia entre un evento y una comunidad. El confundir los dos creo que es uno de los grandes errores que cometimos en el DevHouse y por lo cual eventualmente desaparecieron los dos de manera conjunta pese a ser más de 200 personas. Nunca les dimos las herramientas a la comunidad para juntarse cuando nosotros no pusimos el punto de reunion.

Una comunidad es más grande que un par de personas que deciden organizar un evento, una comunidad es un grupo de personas heterogéneo, con algunos intereses en común. Una comunidad no pertenece a nadie y pese a que a veces parecería que ChelaJS y el boletín de JavascriptMx son proyectos de Jeduan y mios, me gustaría decirle a todos los que participan con su granito de arena que la comunidad es de ustedes y espero que logren sacarle el mayor provecho posible.

Una comunidad requiere de puntos de reunión y me agrada mucho ver como la comunidad está creciendo para tener cada vez más. Lo que algún día parecía una reunión levemente organizada de ChelaJs hoy tiene dos eventos hermanos en NodebotsMx y en AngularMx que se juntan una vez al mes. Los organizadores son @_jurasec y @eusoj respectivamente, personas que no conocía cuando empezamos y hoy considero muy buenos amigos y sobretodo son personas que les tengo mucho respeto por el trabajo que están realizando.

Basado en esto se ha creado el evento de @javascriptmty que lleva una reunion y esperamos que hagan muchas mas. También el próximo 16 de octubre tendremos el inicio de un evento de NodeJs originado por @__arch3r, @rog3r y @Gnesis en Kmmx quienes se animaron a hacerlo después del último ChelaJs.

Poco a poco, el trabajo de Jeduan y mío se ha transformado y pasamos de ser organizadores de un evento a ser las personas que damos las herramientas a la comunidad para generar nuevos eventos. Enseñando a otros lo que hemos aprendido de crear un evento y ayudamos con las partes tediosas como lo son el crear canales de difusión, conseguir lugares y patrocinadores para que todas las personas que deseen se puedan juntar a de manera regular para hablar de temas que consideren relevantes para la comunidad.

Como parte del esfuerzo de crear canales de difusión hemos dedicado las noches del lunes a crear un boletín de las noticias, artículos y tutoriales que leímos en la semana y distribuyendolo cada martes por la mañana. En este boletín también incluimos todos los eventos que pasarán en la semana y los contenidos creados por los miembros de la comunidad. Para recibirlo entra a javascriptmx.com.

Fault tolerant community

Una de los aprendizajes más grandes que he tenido en el último año y que me gustaría que todos lo que tratan de crecer una comunidad supieran pensar que la comunidad sea tolerante a fallos, este es un término que le robé a los administradores de sistemas. Si una aplicación le falla un servidor, deberia de haber un par de servidores más para tomar la carga y hacer que todo siga como si nada hubiera pasado.

Esta lección la aprendimos gracias a @jCeb. Al cuarto mes de iniciar la comunidad Jeduan y yo, estuvimos muy ocupados en proyectos profesionales y el ChelaJs estaba a punto de no suceder ese mes. Él tomó toda la carga, habló con la gente de @ThePoolMX y con su jefe @JosueGio y tuvimos en evento casi sin nuestra participación.

Hace poco Centraal tuvo un inconveniente con la delegación y no pudimos realizar el evento donde debía pasar. Por suerte hemos construido suficientes amistades y @alexmarket con un par de mensajes puso @KMMXmx sin ningun problema.

Hoy es algo que seguimos tratando que pase y que sea parte de la manera que la comunidad opera. Hoy espero que mucha gente ayude a Jeduan a tomar la carga que yo le estoy dejando al no estar presente.

Reducir el stress mes a mes

Una de las buenas prácticas que me robe del DevHouse es la idea de hacer un postmortem y pese a que Jeduan y yo no los hacíamos religiosamente como lo hacen @dfect y @jf, siempre hemos tenido pláticas después de cada evento de como mejorar los contenidos del evento y que tipos de contenidos le gustan a la comunidad.

Uno de los temas centrales de los que hablamos es cómo hacer el evento de manera más sencilla y lograr hacerlo con la misma calidad con menos horas de trabajo. Hemos tenido el desgaste de hacer un evento que implica 40 horas de trabajo a la semana por varias semanas para que suceda y es algo que sabemos que no escala, eventualmente la gente se quema y deja de apoyar a la comunidad.

Tengo un gran respeto por la gente como @makote, @alexricand y @senorpasajero que se lanzan a organizar un startup weekend mega, el cual implica mucho trabajo por tres meses antes del evento, pero es algo que no deseo hacer. El desgaste con el que se termina después de hacer una Hackpedition o un DevHouse de 200 personas hace que no quieras realizar otro en tres meses o tal vez más tiempo.

Por esta razón estamos buscando que todos los eventos tengan un día fijo al mes en el que se realicen, para disminuir el tiempo de la convocatoria del evento, buscamos alinear nuestros objetivos con los patrocinadores para así tener relaciones de largo plazo con ellos y no tener qué buscar patrocinios mes a mes.

Si vamos a construir una comunidad, es mucho más relevante hacerla con una cantidad fija de horas a la semana, cada semana y poder hacerlo mientras tenemos trabajo de tiempo completo. A fin de cuentas yo puedo dar contenidos interesantes a la comunidad cuando tengo experiencias interesantes de programación y estas solo se consigue programando ocho horas al día en un problema relevante y no organizando eventos.

De estas pláticas de cómo mejorar el evento y cómo dar más herramientas a la comunidad han surgido los retos que tenemos para el siguiente año.

  • Reducir el tiempo entre interacción

    De los grandes retos que estamos tratando de resolver es cómo reducir el tiempo de interacción entre los miembros de la comunidad a una vez al día. Es un reto ambicioso, pero vamos en buen camino de bajarlo de una vez al mes (como cuando empezamos), a una vez a la semana con iniciativas como el boletín de JavascriptMx y tener un evento cada semana en el DF. De cualquier forma, tendremos que seguirlo con muchas más iniciativas en el sitio de javascriptmx y eventos.

  • Dona 2 horas de trabajo a lo que te gusta

    Imagínense lo que podríamos lograr si tuviéramos a 100 personas donando 2 horas de tiempo a la semana a la comunidad. Al tratar de hacer el evento de manera sencilla, una cosa buena que hemos logrado, es identificar un montón de tareas de dos horas que pueden lograr mucho impacto, muchas de estas no hemos logrado realizarlas entre Jeduan y yo por lo cual uno de los retos que tenemos es hacer hoy es que muchos más personas de la comunidad nos ayude a realizarlas.

    Hoy tenemos a gente que nos ayuda organizando eventos como lo habíamos comentado antes y a @Markotom que ha empezado a hacer contenidos que pronto tendremos en el blog de javascriptmx y @rog3r ha estado ayudando mucho en el desarrollo de ChelaJs y esperamos involucrar a mucha mas gente pronto.

    Si tienes ganas de ayudar en algo a la comunidad, contactame y veremos como encontrarte algo divertido y retador que realizar que nos ayude a mejorar la comunidad para todos.

Quedaron algunas notas al margen de este artículo, entonces estaré escribiendo algunos contenidos más de cómo poder organizar un evento y cómo dar pláticas en algunas siguientes versiones donde me tomaré una tarde de domingo para escribir lo que tengo en la cabeza. Por el momento quedo a su disposición para cualquier feedback de este artículo en siedrix[arroba]gmail[punto]com