elprogramadormediocre/chapter04.md

49 lines
12 KiB
Markdown
Raw Normal View History

2022-08-09 20:27:39 +02:00
# Las posadas en las que nos hospedamos
2022-08-09 20:27:39 +02:00
## Compañeros de viaje
2022-08-09 20:27:39 +02:00
Siempre que pensamos en programadores tendemos a pensar en una persona sentada frente a un ordenador escribiendo código, con el brillo del monitor reflejándose en su cara. Normalmente el programador está solo (aunque hay algunas metodologías en las que se participa más de un programador a la vez, "programación en pareja" o "pair-programming" por ejemplo). Durante esas sesiones de escribir código no hay mucho contacto con otros programadores y puedes sentirte aislado al estar en compañía unicamente de ti mismo. De acuerdo, esta puede ser una sensación agradable (hay momentos cuando realmente disfruto de la soledad junto al ordenador, completamente ocupado y centrado), pero hay otros momentos en los que necesitamos sentir que no estamos solor. Esto es especialmente cierto cuando estamos aprendiendo y adentrándonos en un territorio incómodo. Encontrar a otras personas en situaciones similares nos puede ayudar en nuestro proceso de aprendizaje. Otras personas no pueden ayudar respondiendo a nuestras preguntas y revisando nuestro progreso. Encontrar una buena comunidad que nos apoye en nuestro aprendizaje es esencial en nuestro viaje en la programación. Cuando tenemos una gran comunidad, tenemos un lugar donde poder aprender y ayudar a que otras personas aprendan. Podemos crecer en la comunidad y encontrar apoyo.
2022-08-09 20:27:39 +02:00
Una buena comunidad es aquella que nos fortalece a nosotros y a quienes nos rodean. Nos nutre y nos proporciona refugio. Es un lugar seguro donde no tenemos que mantener la guardia alta de los ataques a nosotros mismos ya los demás. Hace que las personas se rindan cuentas entre sí. Podemos confiar en los miembros de la comunidad y sentir que la confianza es recíproca. Las buenas comunidades existen sin competencia ni ego, donde los miembros pueden expresarse abiertamente y aceptar a los demás tal como son.
2022-08-11 20:19:22 +02:00
## Encontrar una buena comunidad
2022-08-11 20:19:22 +02:00
Hay un montón de buenas comunidades ahí fuera que están dispuestas a ayudarte a ser un mejor programador, ¿pero cómo encontrarlas?
2022-08-11 20:19:22 +02:00
Esa es una pregunta complicada.
2022-08-11 20:19:22 +02:00
La mayoría de lenguajes de programación tienen algún tipo de comunidad que se ha formado entorno a ellos. Algunas usan las listas de correo u otros canales de comunicación a los que te puedes unir y en los que participar. Desafortunadamente, los lenguajes de programación más populares tienen espacios que son complicados de seguir, especialmente cuando estás tratando de aprender. Lo sé porque me uní al canal principal de comunicación de un lenguaje de programación muy popular y me sentí abrumado por las múltiples conversaciones que se llevaban a cabo a la vez. Las listas de correo diseñadas para ayudar a que los principiantes pueden tener una gran cantidad de tráfico de correos y ese tráfico puede ser abrumador si estás tratando de entender los aspectos básicos del lenguaje de programación mientras tratas de estar al día con la avalancha de correos que llegan a tu bandeja de entrada. Leer los correos antiguos en los archivos de las listas de correo o en un chat puede ayudarte a determinar si estás preparado para ese nivel de tráfico y si las conversaciones en la lista son el tipo de conversaciones que te gustan. Recuerda: esto es para ayudarte en el viaje. Lanzarte a una habitación abarrotada en la que te veas inundado por una gran cantidad de conversaciones y ruido solo hará que te sientas más aislado y que no eres bienvenido.
2022-08-11 20:19:22 +02:00
Algunos lenguajes de programación tienen grupos de usuarios locales. Estos al principio pueden parecen intimidantes, especialmente si el grupo ya tiene un largo recorrido. Lo sé, porque me sentí intimidado antes de asistir a mi primer grupo local de usuarios por miedo a lo que podría encontrarme allí. Lo que encontré fu un grupo de personas que estaban interesadas en los temas en los que también yo estaba interesado. He hecho amistades duraderas en esos grupos locales de usuarios y te animo a comprobar si también a ti te funciona.
2022-08-11 20:19:22 +02:00
Si no sabes cómo encontrar el grupo adecuado (quizás te encuentres en un área en la que sientes que eres la única persona que comparte tus intereses), podrías considerar iniciar tu propio grupo o formar uno nuevo a partir de un grupo ya existente. Mi amigo Rick y yo abrimos un grupo local llamado _Coffee House Coders_ donde los programadores se reúnen una vez a la semana durante unas horas para sentarse y programar. Todo lo que hicimos fue publicar las horas y los lugares en los que nos íbamos a reunir y les dijimos a las personas que simplemente se presentaran con su portátil para escribir código. Por el camino hemos conocido a algunas personas increíbles y hemos mantenido al grupo en marcha durante muchos años. Empezar un grupo es un acto de valentía. Ha habido muchas noches en las que me he sentado solo en una cafetería esperando a ver si aparecían otras personas. Está bien. La gente está ocupada y los intereses se desvanecen y cambian con el tiempo. Lo importante es crear el espacio para que nosotros y los demás nos sintamos bienvenidos. Para nosotros, eso significaba encontrar una cafetería local que estuviera abierta hasta altas horas de la noche y tuviera un amplio espacio para colocar un portátil. También ayuda encontrar un lugar que en el que tenga suficientes tomas para conectarse a la energía eléctrica para que la gente pueda cargar las baterías de sus equipos si es necesario.
2022-08-11 20:19:22 +02:00
Hay muchas maneras de ser creativo a la hora de comenzar una comunidad. La llegada de las herramientas en la red permite que puedas construir comunidades con personas de todo el mundo. El acercar esas personas y reunirlas para hablar y discutir ideas y ofrecer ayuda es genial cuando ocurre. A veces puede ser tan simple como crear una sala de chat sobre intereses comunes. Explora lo que existe ahí fuera y si lo que hay no satisface tus necesidades no dudes en crear una tu mismo.
2022-08-11 20:19:22 +02:00
## La dificultad de encontrar una buena comunidad
2022-08-11 20:19:22 +02:00
Reconozco no cualquiera no puede unirse a una comunidad o crear una propia. Los espacios existentes en la red tienen la reputación de no ser lugares acogedores para las personas y los encuentros en persona pueden agotar tus recursos mentales. Me llevó tiempo encontrar el valor necesario para asistir a mi primer encuentro en persona y tuve una mala experiencia con alguien con el que trabajaba y que pensé que estaría en aquel encuentro. (No estoy seguro si esa persona alguna vez asistión a alguno de aquellos encuentros). Pero estoy muy agradecido de haber asistido a mis primeros encuentros. Asistir a esos encuenros me trajo amistades, oportunidades y otros "compañeros de viaje" para mi propio viaje. Me llevó a cambiar a uno de mis lenguajes de programación favoritos (Python) y me llevó a varios trabajos. También me ayudó a sentir que no estaba solo con mis intereses y me presentó a otras personas en las que podía confiar. Me dio un sentimiento de pertenencia.
2022-08-11 20:19:22 +02:00
Superar el obstáculo inicial es difícil. Nuestro miedo al rechazo y nuestro miedo a hacernos vulnerables a los extraños puede desgastarnos. Superar ese miedo requiere mucha energía mental y puede quitarnos el deseo de ser parte de otra comunidad más. No puedo decir que será fácil, pero puedo señalar algunos de los beneficios que tuvo en mi vida. Espero que tu puedas encontrar también esos beneficios.
2022-08-11 20:19:22 +02:00
Una alternativa a las comunidades en persona son las comunidades en la red. Las comunidades en la red pueden ser una excelente manera de encontrar a otras personas. Reunen a personas de diferentes países y las reunen en un área común. Una parte de las razones que hicieron que cambiara a encuentros en persona fue por las buenas experiencias que tuve con estas personas en salas IRC (Internet Relay Chat). Disfruté de la compañía de estas personas a través de interacciones por la red y me sentí cómodo cuando las encontré en persona.
2022-08-11 20:19:22 +02:00
Los bajos requisitos de entrada para muchas comunidades en línea puede permitirnos ver de qué se trata en la comunidad. ¿Cuáles son sus prioridades? ¿Son amables con las personas que están comenzando? ¿Tienen un patrón de conducta de ayuda a personas como nosotros o tienden a ofender a personas como nosotros? ¿Tienen miembros que nutren a sus compañeros o se están interrumpiendo unos a otros?
2022-08-11 20:19:22 +02:00
Desconozco si hay una buena estrategia para determinar si una comunidad es útil o dañina. Requiere esfuerzo seguir una comunidad y formarse una idea de quién son. Desgasta emocionalmente el ponernos en situaciones donde somos vulnerables para ver si otros son respetuosos con nosotros. Las comunidades están formadas por personas y las personas somos criaturas inconstante e irracionales. Lo que puede ser una gran comunidad para una persona puede ser un entorno tóxico para otra. Aunque no tengo una estrategia, tengo algunas ideas de los elementos clave que forman una comunidad.
## Things to look for in a good community
There are a number of things that I would look for in a community. While this is not a definitive list of everything that makes up a good community it lists some guidelines for what I think is important:
* **Code of conduct**: Good communities have guidelines for things that the community will accept, tolerate, and abhor. It should be visible to all members of the community, and each member of the community must be accountable to those guidelines. It must also be enforced. If you note situations where the code of conduct is selectively enforced against certain members you should be wary of staying within that community.
* **Moderators**: There needs to be someone (or a group) in the community that can diffuse situations and meter out meaningful punishments when folks get out of hand. Moderators should be even-handed and as consistent as possible with their decisions. They should demonstrate that they are also following the same code of conduct by their actions in the community. A good moderator should be visible but not overbearing. You should feel welcomed by the presence of a moderator and feel free to engage the moderators if you have questions about the community.
* **Spaces for questions and guidelines for good questions**: There should be a place for folks to ask questions related to the topic of the community. People should feel safe in asking on-topic questions, and the community needs to be clear on what it considers an on-topic or good question. Is the space OK for beginner questions? If not, could such a space be made? What sorts of questions would the community be happy to answer and what sorts of questions would upset the community? These need to be clearly defined so beginners can have a sense of what the community will welcome and what it will not tolerate.
* **Joy**: Do the people in the community seem pleased to discuss things? What is the tone of the conversations? Are folks interacting in a positive way with each other or are they resorting to insults and name-calling? Are questions welcomed or are they discouraged or ignored? If there's no joy in being in the community then the likelihood of folks sticking with it will be lowered.
* **Compassion and empathy**: Does the community allow for people to make mistakes? When something goes wrong does the community try to help? Does the community remember what it was like to be beginners and act with compassion, or do they expect everyone to have more experience before participating?
* **Kindness**: This is the most important factor --- does the community behave in a kind manner to others or do they split off into factions and try to cut each other down. Do they view new folks as friends or as outsiders that must prove themselves? This relates to compassion and empathy above, but we tend to see acts of kindness before we see compassion and empathy. Kindness manifests itself when community members are OK with folks not getting everything right away and act with gentleness rather than taking a stern approach. They let folks know that they too have had trouble and suggest ways to work together to smooth things out for the next folks who might experience this same trouble. They act in a way that does not put their ego first, and instead behave as though they have been given a gift that is best shared with others.
We'll talk more about kindness in upcoming chapters.
These are just a sample of what I find in good communities. Feel free to add to this list as your experience grows and let me know so I can update this list for future readers.