Se acerca el décimo aniversario de mi presencia en Stack Overflow. Con los años, mi enfoque para usar el sitio y su percepción ha cambiado mucho, y quiero compartir mi experiencia con ustedes. Y escribo sobre esto desde el punto de vista del usuario promedio que no está muy involucrado en la vida de la comunidad del sitio o su cultura. En los últimos días, solo he respondido preguntas relacionadas con VS Code, el producto en el que estoy trabajando. Sin embargo, antes, participé activamente en la discusión de una amplia gama de temas. Durante 10 años, hice
alrededor de 50 preguntas y di 575 respuestas , revisé una miríada de comentarios de otras personas.
John Skeet
describió la cultura de Stack Overflow mucho mejor y con más autoridad que yo. Su publicación influyó en algunos capítulos de este artículo, aunque en general es mi opinión franca sobre mi experiencia con Stack Overflow, lo que es bueno y lo que es malo en este sitio, y cómo se puede usar hoy en día. Esta discusión será bastante superficial, sin una inmersión profunda en el trabajo del sitio o su historia.
Así que esto es lo que aprendí durante 10 años usando Stack Overflow.
Debes poder hacer preguntas
A primera vista, nada es más simple: ingrese algunas palabras en el cuadro de texto, haga clic en "Enviar", ¡e Internet lo ayudará mágicamente a resolver todos sus problemas! Pero me llevó casi 10 años comprender qué palabras se deben ingresar en este maldito campo para realmente obtener el resultado. De hecho, todavía aprendo esto todos los días.
Ser capaz de hacer buenas preguntas es una habilidad realmente subestimada (como es escribir un buen mensaje sobre un problema, por cierto). Primero, ¿cómo determinamos que una pregunta es "buena"? Stack Overflow ofrece una
pista que enumera las cualidades de una buena pregunta:
- ¿El tema del sitio?
- Implica una respuesta objetiva.
- Aún no se ha establecido.
- Ha sido investigado
- Describe claramente el problema, generalmente con un ejemplo mínimo, fácilmente reproducible.
Bien, pero ¿cómo se ve en la práctica la "descripción clara del problema"? ¿Qué información es relevante y cuál no? A veces tienes la sensación de que para hacer una buena pregunta, primero necesitas saber la respuesta.
Desafortunadamente, un pequeño cuadro de texto no ayuda aquí. Entonces, ¿es de extrañar que tantos usuarios publiquen preguntas deficientes? A veces, la única respuesta que obtienen es un enlace a documentación confusa. Y tendrán suerte. Muchas preguntas de calidad inferior simplemente se descuidan silenciosamente y desaparecen en un flujo interminable de preguntas.
Hacer buenas preguntas es una habilidad. Afortunadamente, se puede desarrollar. Básicamente estudié leyendo un montón de preguntas y respuestas, notando qué funciona y qué no. ¿Qué información es útil y qué interfiere? Aunque todavía tendrá miedo de usar los conocimientos adquiridos en la práctica y hacer preguntas. Solo intenta aprender del resultado. Debo admitir que yo mismo estoy un poco confundido por algunas de mis primeras preguntas ignorantes, aunque tal vez esto demuestre que he aumentado enormemente mi capacidad para hacer preguntas desde que llegué a este sitio.
Las preguntas malas y no muy buenas no son lo mismo
No endulzaré la píldora: algunas preguntas son simplemente malas.
La pregunta, que consiste en una captura de pantalla y la frase "¡¿POR QUÉ NO FUNCIONA?!", Es mala. Por qué Obviamente, el autor casi no hizo ningún esfuerzo. No se trata tanto de una pregunta como de una demanda: "¡esto funciona para mí!" ¿Por qué debería hacer esto? Mi tiempo es demasiado valioso para dedicarlo a ayudar a alguien que no quiere estudiar desde el principio y que no apreciará mi ayuda. Aprenda de qué se trata Stack Overflow.
Ahora considere la pregunta titulada "Cómo eliminar los bordes azules en mi página", que consta de varios párrafos de texto que hablan sobre la propiedad CSS de la propiedad del esquema, pero sin mención explícita de las palabras "CSS" o "esquema". Aunque tal pregunta puede contradecir muchas de las recomendaciones de Stack Overflow, no estoy de acuerdo con esto, esta no es una mala pregunta. El autor al menos trató de dar alguna información, sin siquiera saber qué dar. El intento cuenta, al igual que la voluntad de percibir y aprender.
Sin embargo, es probable que muchos participantes de Stack Overflow se relacionen con ambos problemas de la misma manera: culpar y cerrar. Esto es desagradable, ahuyenta a muchos usuarios inexpertos antes de que puedan aprender a hacer mejores preguntas y, en general, entiendan cómo funciona el sitio.
Las preguntas realmente malas no valen la pena. Pero tenga en cuenta que aquellos que hacen preguntas no tan buenas lo hacen sin querer. Quieren hacer buenas preguntas, simplemente no saben cómo. Si a ciegas y sin explicación castigas a los principiantes, ¿cómo van a aprender?
Una buena pregunta no garantiza una respuesta.
Por lo general, Stack Overflow responde preguntas más rápidas y simples que muchos pueden responder. ¿Tiene alguna pregunta sobre la búsqueda binaria en JavaScript o HTML? Genial Obtenga cinco respuestas en menos de una hora. Pero cuanto más compleja o específica sea la pregunta, menos probable es que te respondan, independientemente de la calidad de la redacción.
La probabilidad de obtener una respuesta también disminuye rápidamente con el tiempo. Cuando una pregunta va algunas páginas hasta el feed, se pierde. Después de una semana, solo tiene que rezar para que alguien que posee los conocimientos necesarios tropiece accidentalmente con su pregunta (o haga clic generosamente en ella).
Puede que no te gusten las respuestas correctas.
Todos los meses recibo algunas desventajas por las llamadas respuestas impopulares. Estas son respuestas que, de hecho, dicen: "la razón es que está tan diseñado", o "esto es imposible, porque ...", o "este es un error que debe corregirse primero". En todos estos casos, los autores no reciben una decisión o incluso una solución alternativa. Y sospecho que cuando a la gente no le gusta lo que dice la respuesta, la minimiza. Incluso los entiendo, pero esto no significa que las respuestas sean incorrectas.
Por supuesto, lo contrario también es cierto: las buenas respuestas no necesariamente te dicen lo que quieres escuchar. Algunas de las mejores respuestas responden primero a la pregunta original, pero luego describen otros enfoques para resolver el problema. A veces respondo la pregunta de un usuario y luego escribo un texto extenso sobre por qué no se recomienda hacerlo.
Cada vez que la expresión de una relación se simplifica a los pros y los contras o al botón Me gusta, se pierden diferencias importantes. Este problema a menudo se encuentra en Internet. ¿Cuántas redes sociales pueden distinguir "Apoyo esto" de "Creo que está bien dicho, incluso si no me gusta o no estoy de acuerdo"?
En general, a pesar de las desventajas mensuales, creo que la comunidad de Stack Overflow vota objetivamente. Nos mantendremos en este camino.
Casi nunca pregunto sobre desbordamiento de pila
Mientras más usaba este sitio, con menos frecuencia hacía preguntas sobre él. Esto se debe en parte a mi crecimiento profesional. Muchos de los problemas que encuentro en el trabajo son demasiado complejos para expresarlos en preguntas simples o demasiado específicos para que alguien pueda ayudarme. Me di cuenta de las limitaciones del sitio, por lo que evito hacer preguntas que casi seguramente no obtendré una buena respuesta.
Pero rara vez hice preguntas aquí, incluso cuando estaba aprendiendo un nuevo lenguaje o marco. No porque sea un genio, sino todo lo contrario. Es solo que, después de años de estar en Stack Overflow, cuando tengo una pregunta, llego a la profunda convicción de que es poco probable que sea el primero en preguntarla. Empiezo a buscar, y casi siempre descubro que alguien ya ha preguntado lo mismo hace un par de años.
Observar las preguntas de otras personas es una excelente manera de aprender cosas nuevas sobre su producto.
Ahora estoy trabajando en
VS Code , así que tuve la costumbre de ver preguntas con la etiqueta vscode. Esta es una excelente manera de descubrir cómo se usa mi código en el mundo real. ¿Qué problemas tienen los usuarios? ¿Cómo se puede mejorar la documentación o las API? ¿Por qué lo que creía absolutamente comprensible causa tantos malentendidos?
Las preguntas son una señal importante que muestra cómo se utiliza su producto. Pero el punto no es responder y seguir adelante, sino primero tratar de entender por qué una persona tiene una pregunta. ¿Quizás el producto tiene un problema desconocido para ti o algunas suposiciones que hiciste sin saberlo? Las preguntas también me ayudaron a descubrir muchos errores y me inspiraron a seguir trabajando.
Si acompaña un producto para desarrolladores, no tome Stack Overflow como un basurero (o, peor aún, como un cementerio de preguntas). Verifique regularmente si hay preguntas y respuestas. Esto no significa que deba responder cada pregunta usted mismo, sin embargo, las señales de Stack Overflow son demasiado importantes para ignorarlas.
Los límites entre la pregunta, el informe de error y la solicitud de función son borrosos
Un buen número de preguntas sobre VS Code en Stack Overflow fueron en realidad informes de errores. Y muchos otros, de hecho, solicitudes de nuevas funciones.
Por ejemplo, una pregunta con el título "¿Por qué se bloquea VS Code cuando lo hago ...?" Es un informe de error. El Código VS no debe caer en una variedad de situaciones. Responder preguntas que son informes de errores no es productivo, porque los autores pueden estar satisfechos con una solución alternativa y nunca completarán un informe de error real. En tales situaciones, generalmente escribo para que los usuarios completen un informe de error en Github.
En otros casos, las diferencias pueden ser menos obvias. Por ejemplo, la pregunta "¿Por qué JavaScript IntelliSense no funciona en VS Code?". Dependiendo de cómo exactamente JavaScript IntelliSense no funciona, la pregunta se puede clasificar en una de tres categorías:
- Si este es un problema de configuración del usuario, entonces esta es realmente una pregunta para Stack Overflow.
- Si IntelliSense debería funcionar en este caso, pero no funciona, entonces este es un informe de error.
- Si IntelliSense no funciona en este caso, esta es una solicitud de una nueva función.
Al final, para la mayoría de los usuarios, estos matices no son importantes, solo quieren que JavaScript IntelliSense funcione.
Y aunque para mí, como responsable del proyecto, estas diferencias son importantes, en general, tampoco deberían importarme. Debido a que las preguntas, los informes de errores y las solicitudes de funciones son todas formas de expresar una idea: el usuario espera algo de mi código y no lo recibe. Si el producto fuera perfecto, los usuarios nunca harían preguntas al respecto, porque lo entenderían todo y harían exactamente lo que quieren (o al menos dirían claramente por qué no podría).
Los desarrolladores también son personas
Las personas son emocionales. La gente es irracional. Las personas son imbéciles. No siempre, por supuesto, ¡pero a veces! Y no lo creerás, pero los desarrolladores también son personas.
Existe tal invento que a nosotros, los desarrolladores, nos gusta repetirnos a nosotros mismos: “Trabajamos con computadoras, por lo tanto, debemos ser racionales. Entendemos símbolos misteriosos, por lo tanto, debemos ser inteligentes. Los programas se han apoderado del mundo, ¡así que tenemos que ser geniales! Genial! Ve !!! "
Esto no es asi. Y si eso fuera así, entonces Dios ayude a otras personas. Incluso en Stack Overflow, esta herramienta para profesionales, creada como una base de conocimiento objetiva, incluso en mi propio rincón muy específico de VS Code, sigo encontrando todo tipo de desgracias: errores lógicos, insultos, pensamientos de rebaño, etc.
No se deje engañar: probablemente no sea tan perfecto como cree. Pero esto no significa que no necesitemos tratar de deshacernos de nuestras deficiencias.
Amigo, yo fui quien lo creó
También soy una persona, y de vez en cuando me molesta lo que sucede en Stack Overflow. Por ejemplo, cuando un usuario escribe tonterías con confianza o simplemente da una respuesta errónea a una pregunta relacionada con VS Code, un producto que creé y que conozco muy bien. Es extraño, pero la impresión es que cuanto más errónea sea la respuesta, más probable es que alguien la llame un hecho indiscutible.
Cuando esto sucede, actúo como en la imagen y escribo la respuesta correcta.
Y varias veces esto llevó a la aparición de largas ramas: ¡ay de mí que me atreví a cuestionar su conocimiento de lo que creé! ¡Dejen de intentar tener razón todo el tiempo, malditos tipos inteligentes! Porque tengo razón !!!
Es fácil volverse cínico en esta desesperanza.
Frente a un flujo interminable de problemas de calidad inferior, es fácil volverse cínico. ¿Alguna vez ha oído hablar de Google? Pero, ¿se imagina cómo construir oraciones conectadas? Que eres perro
A veces miro docenas de nuevas preguntas por día. Al observar constantemente todos estos problemas de baja calidad, corre el riesgo de caer en el desprecio o el cinismo. Este cinismo puede extenderse al sitio, lo que será confirmado por cualquiera que haya encontrado un moderador demasiado celoso o haya pasado un par de horas investigando y compilando una pregunta para obtener solo contras y desaparecer en el olvido sin ninguna explicación.
Por supuesto, hay usuarios que no hacen un solo gramo de esfuerzo y publican malas preguntas. Pero creo que la mayor parte de los problemas de baja calidad provienen de personas con buenas intenciones (aunque estúpidas). Siempre trato de recordar lo que significa ser un principiante. Cuando recién comienzas, no entiendes cómo está todo realmente organizado aquí. En algunos casos, ni siquiera sabe en qué palabras expresar correctamente su problema. Créeme, es difícil estar en esa posición. Y es desagradable cuando viertes la chatarra solo por hacer una pregunta.
Si bien Stack Overflow ha hecho mucho para ayudar a los novatos, aún queda mucho por hacer. Traté de encontrar un equilibrio entre cumplir con los estándares aceptados en el sitio y la condescendencia a los usuarios sin experiencia. Esto puede incluir una explicación de por qué voté para cerrar la pregunta o publicar un comentario solicitando al usuario que proporcione información adicional. Todavía tengo espacio para crecer.
Por otro lado, no dudo en menos usuarios con una reputación de 50,000 que publican las preguntas "¿El mejor diseño para VS Code para el desarrollo de JavaScript?", O que cargan capturas de pantalla jabonosas de código en lugar de texto.
A veces solo quiero agradecerte
Stack Overflow tiene una cultura de apreciación poco desarrollada. Recuerdo que una vez en un sitio las palabras "hola" y "gracias" se cortaron automáticamente de las preguntas. Quizás esto todavía se esté haciendo, no lo he probado.
Hoy en día, cualquiera que haya trabajado en atención al cliente sabe bien que un exceso de cortesía puede obstaculizar e incluso parecer ser fingido. Pero a veces en este sitio alguien hace algo muy importante para usted, y la única forma de agradecerle es poner un signo más. Apesta
La eficiencia no requiere que nos convirtamos en robots sin alma. El canal lateral puede proporcionar una comunicación más auténtica entre las personas, si los usuarios, por supuesto, ellos mismos lo desean.
A veces quiero saber qué pasó después de recibir una respuesta.
Stack Overflow opera según el principio de las transacciones: algunas personas hacen preguntas, otras responden. ¿Y qué pasa después de recibir una respuesta? Quien sabe A veces me resulta interesante descubrirlo. ¿Fue útil mi respuesta? ¿En qué modesto proyecto ayudó? ¿Qué aprendió el autor de la pregunta?
Por supuesto, esta curiosidad no puede ser satisfecha. Requerir que los usuarios informen sobre cómo utilizarán la información recibida sería muy problemático incluso si pudiera hacerlo. Pero reflexionar sobre esto es interesante.
La gamificación es efectiva ...
... al convertir procesos en un juego.
Todavía estoy un poco preocupado cuando veo un pequeño icono +10 o +25 en la barra de estado. Quizás estos pequeños parches de gamificación son la razón por la que he estado regresando al sitio durante 10 años. Pero a lo largo de los años, también comencé a preguntarme qué tipo de juego es Stack Overflow y qué significa ganar.
Estoy seguro de que el sistema fue creado con las mejores intenciones: recompensar a las personas por preguntas y respuestas útiles. Pero tan pronto como agrega altas calificaciones, la
ley de Goodhart entra en vigencia y algunos usuarios comienzan a ajustar sus acciones no para lograr el valor máximo, sino para recibir las calificaciones máximas. Y esto es importante porque ...
La reputación no significa lo que piensas
La reputación no es equivalente a la competencia técnica, las habilidades de comunicación o la comprensión de cómo funciona o debería funcionar Stack Overflow.
No quiero decir que la reputación no valga nada. Simplemente no significa lo que implica la administración de Stack Overflow o lo que debería significar la palabra "reputación". Me di cuenta de que la reputación es una medida de influencia. Considere dos respuestas hipotéticas publicadas en el sitio:
- Uno sobre la operación git común. En dos minutos, usando Google, escribí una respuesta de tres líneas.
- Otro es sobre la teoría de gráficos confusa. Quizás solo un centenar de personas en todo el mundo puedan responder. Escribí algunos párrafos y un código de muestra explicando la esencia del problema y cómo resolverlo.
Durante cinco años, miraron la primera respuesta 5 millones de veces y pusieron 2,000 más. Miraron la segunda respuesta 300 veces y pusieron dos patéticas ventajas.
Hasta cierto punto, esto es muy deshonesto. , ? ( , ). , , . , , - «»?
«» Stack Overflow . , . , , ? , , , PHP iOS.
, , Stack Overflow. , «» « »? , ? , . , «» Stack Overflow , , . , ?
, , , . Stack Overflow 10 . , , , . , , , Stack Overflow -, . , .
Stack Overflow
, - git, Stack Overflow. , - bash, Stack Overflow. , , Stack Overflow.
IntelliSense, Stack Overflow. , . , . . , , .sort JavaScript, , -1, 0 1, JS, .
, Stack Overflow — . . , ? , , «» ( , , ).
Stack Overflow —
Stack Overflow , , , . , .
Stack Overflow. , , , . , , .
Stack Overflow . - . , - Stack Overflow . , , . , , . , , , — , — . , , , .
PS
, Stack Overflow. (ES5!) JavaScript Eclipse, , 90 % « jQuery, ...». , , . , - , .
, Stack Overflow - : -; ; . , , , . . , Stack Overflow 10 , , . , .