Por Octubre de 2015 escribí “Comunidad sin lugares comunes” y sigo manteniendo lo ahí dicho. Pero cómo la Parte 2 nunca se publicó, creo que es momento de volver a revisar las posiciones de ese artículo y taclear de paso las opciones que tenemos como comunidad de desarrolladores.

(tldr; al final de la página)

Para hacer esto primero partamos por lo fundamental:

Problemas de las comunidades de desarrolladores en Chile:

  • Competencia.
  • Intereses Personales.
  • Chaqueteo.
  • Centralismo.
  • (Mala) Educación.
  • Oportunidades.

Competencia

Los teóricos más conservadores dirán que siempre la competencia es buena. Aumenta el nivel del progreso y por tanto el bienestar de los individuos. Pero en este caso, en las comunidades, la competencia no hace nada de bien.

Arrogarse el título de “Comunidad de Desarrolladores de Chile”, no tiene ningún sentido, menos cuando 2 o 3 lo hacen.

Intereses Personales

Esto se refuerza aún más con los caudillajes, estos dueños del foro que moderan, imponen formas y dejan al resto de la comunidad como generadores de contenido para promocionarse como Growth-Hackers.

No nos hace bien. Y ojo que con esto no estoy desconociendo la necesidad de moderadores y encargados de mantener a la comunidad funcionando, pero es cosa de sentarse 5 minutos a leer nuestras comunidades para notar que distamos mucho de la realidad de las comunidades tanto de proyectos Open Source como las de otras localidades.

Chaqueteo

Esto es lo más doloroso. En las comunidades técnicas todo post de baja dificultad que se postea con orgullo es rápidamente tirado al suelo por los iluminados que creen que todo el resto son niños rata y se dedican al destructivismo sistemático en vez de generar conocimiento compartido.

Centralismo

El otro problema, derivado de la geografía, la educación y el quehacer de la capital chilena, es que Santiago es Chile (o al menos intenta serlo). La comunidad se reduce a una serie de eventos para y por santiaguinos que si bien es algo lógico en primera etapa por una mera cuestión de proporciones, es algo que hoy por hoy, a casi un año de funcionamiento efectivo de las comunidades hay que solucionar: Las regiones existen.

(Mala) Educación

El problema educacional es grave, la mayoría (derivado también de problemas sistemáticos más grandes de la idiosincracia chilena) no toma libros, no lee publicaciones y ni siquiera sueña con elaborar una. Nos limitamos a seguir la tendencia extranjera y trabajar en el framework de moda en vez de generar tendencia.

Oportunidades

Somos un país aislado, somos un país pequeño, en eterno camino a eso que le dicen “desarrollo”. Probablemente estamos mejor que el resto de la región, pero para nuestra generación es muy difícil penetrar la barrera fronteriza. La mayoría de los desarrolladores no sabe inglés, una cuestión que parece tan pequeña pero que nos impide documentarnos mejor, traer libros de afuera (donde el costo es bastante menor). La desventaja de no saber el idioma en el que trabajas es simplemente la mayor barrera que se me pueda ocurrir. Las comunidades necesitan abrir estas puertas (y algunas lo intentan por suerte).

No todo son problemas, ideas para solucionar el panorama:

Los 6 ejemplos arriba descritos son, en mi opinión, los 6 issues más grandes que enfrentamos hoy por hoy como comunidad (por supuesto hay otros), y debemos superarlos de la manera más dolorosa posible.

Nuestra carrera, nuestros 2/3 del día se dedican a pensar soluciones. Por eso somos ingenieros, analistas o desarrolladores: Para identificar, encontrar soluciones e implementarlas. Así que por hoy pretendamos que esto es un problema de ingeniería y veamos que hacer. Acá les dejo un par de ideas:

Competencia

Las comunidades locales deben intentar trabajar juntas. En ningún caso pretendo superar los problemas personales que pudiesen existir entre individuos, cosa de ellos, pero definitivamente es tiempo de que los .rb y los .js se unan por un bien común. Todas las comunidades ganarían de este proceso, no sólo teórica y tecnológicamente, pero humanamente.

Intereses Personales

Las comunidades tienen que empoderarse de sus liderazgos. Los caudillos no tienen cabida en este tipo de comunidad. Es tan simple como ver los canales de IRC de los grandes proyectos OpenSource, donde gente como Aaron Patterson y tú son tan iguales en una discusión como cualquier otro.

Para esto, deberían crearse los llamados “Code of Conduct” además de tener “Issues Trackers” abiertos a toda la comunidad donde las decisiones administrativas y la planificación del “Roadmap” sean de pleno conocimiento de todos los actores.

Encima de esto, las comunidades deberían generar documentación sobre los desafíos que dirigir una comunidad conlleva para así ayudar en la formación de otras comunidades.

Finalmente, los cargos dentro de las comunidades deberían ser revocables por la comunidad. Un mal administrador de un canal de comunicación puede dinamitar el trabajo de decenas de personas en pocas semanas.

Chaqueteo

Se deberían instaurar procedimientos de amonestación a los miembros de las comunidades que no sigan el Código de Conducta, ya que no podemos permitirnos perder a gente con ganas de cambiar nuestra realidad. Obviamente estas sanciones deberían ser revisadas y votadas abiertamente por la comunidad.

Centralismo

Las comunidades llamadas “de Chile” deberían hacerse cargo del título auto-impuesto y distribuir la tasa de eventos a lo largo y ancho de nuestro país y empujar la creación de comunidades locales en regiones y provincias, además de la generación de comunidades abiertas a minorías y ayudarlas a conseguir sponsors para hacer de nuestro ambiente uno inclusivo donde todos tienen herramientas.

Educación

Generar canales de discusión, limitar el contenido de orígenes dudosos y generar documentación de los eventos realizados y el contenido técnico adquirido por la comunidad de manera de dejar dicho material a disposición de una audiencia mayor.

Fomentar el uso de herramientas libres, sistemas operativos abiertos y la generación de contenido con licencias Open Source.

Oportunidades

Dejar lo técnico de lado a veces. Generar reuniones para enseñar idiomas, enseñar como estimar proyectos o tomar requerimientos, generar plataformas de búsqueda de empleo amigables y por sobre todo liberar lo aprendido (Hangout comunitario?) a la comunidad.

Pensamientos Finales:

No todo lo que dije es lo mejor, no me creo un iluminado o nada por el estilo. Con este post sólo pretendo poner el tema sobre la mesa y atacar estos problemas que nos conciernen a todos: Hackers, Ingenieros, Desarrolladores, Crackers inclusive.

Creemos comunidad, encontremos espacios comunes. A mi me gusta el fútbol, a otros escribir historias, a otros ver series. Pero a todos, al menos eso creo, nos gusta el código.

tldr;

La comunidad se divide en vez de unirse. Generemos contenido libre y aprendamos a trabajar todos en pos de nuestro ambiente. Abramos nuestros recursos a regiones y seamos un soporte directo a las minorías que necesitan tener espacios en esta discusión.

Comunidad sin lugares comunes, Parte 1 [Daily Tip] How to add extra fields during user registration with Devise