¿Te sientes culpable cuando tu proyecto de desarrollo web tiene errores?

Si … si absolutamente!

La cuestión es que, como programador, debes apuntar constantemente a mejorar en lo que estás haciendo. Esto inevitablemente conducirá a una retrospección de su antiguo código.

Mi pensamiento común es: “¡Qué demonios fabricaste! Podrías hacerlo mucho mejor ahora, pero no lo haces ”

Con la experiencia viene un sentido básico de la calidad de sus propios programas y cuán defectuosos pueden ser. Y siempre me siento culpable por haber dejado un código sin mejorarlo con mis habilidades recién adquiridas. Pero esto es bueno para mí porque me impide repetir errores en el futuro.

Todavía los recuerdo a todos. Un VBA complejo que depende de referencias de celdas estáticas, un sitio web completamente escrito con jQuery, una aplicación web móvil con acceso a la base de datos y nombre de usuario “en código”, credenciales de contraseña.

Abrazar tus propios errores, memorizarlos, tener un sentido de responsabilidad por lo que creaste es la mejor manera de mejorarte.

No entiendo cómo las personas no pueden sentirse culpables de sus actividades de desarrollo temprano.

La respuesta es que siento vergüenza. Nadie puede verme mientras me pongo rojo, nervioso, frustrado, auto acusatorio. Nadie sabe que me cuesta dormir porque he estado codificando 20 horas seguidas para lanzar una función que prometí a los usuarios, pero luego publiqué, descubrí un error y necesito dormir de todos modos.

Sin embargo … también a casi ningún usuario le importa. En realidad, no, e incluso las personas que “se preocupan”, solo se preocupan si se les incomoda “ahora” y qué tan rápido soy responsable del problema. Lo que he encontrado es que los usuarios se enojarán cuando haya un problema, hasta que les diga que una función no funciona (o incluso mejor, cómo solucionar el problema), entonces se relajarán. No necesitan la función para funcionar “Ahora”, pero no quieren quedarse en la oscuridad preguntándose si están haciendo algo mal, si hay algo mal con su dispositivo, etc. Nadie quiere ser cambiar a diferentes fuentes de Internet, diferentes dispositivos, borrar cookies, etc., solo para descubrir que el problema es “yo”.

Trato de ser considerado con el tiempo de las personas. Además, las cosas son un poco diferentes de cuando era dueño de topwebcomics.com. Entonces, mis usuarios querían promocionar sus webcomics y los estaba reteniendo de su creación “artística” y la expusieron a millones de personas. Un gran problema, pero estaban bien. Ahora, mis usuarios manejan sus compañías de seguros desde la parte posterior de nuestro software. Si estamos rotos, podríamos calcular el precio incorrecto o podríamos evitar registrar nuevos negocios.

Siendo responsable del software de misión crítica, podría haber decidido que simplemente no permitiría que ningún código se activara hasta que se haya probado más allá de lo razonable. Muchos de mis pares en otras compañías han decidido seguir ese camino porque se niegan a ser culpados.

Sus cronogramas de desarrollo pueden ser meses o trimestres, como los nuestros, nuestros días o semanas.

“Mi” preferencia es tratar de pensarlo desde la perspectiva del usuario y liberarlo de manera rápida o lenta, dependiendo de lo importante que sea. En general, aquí están mis reglas que le doy a mi equipo.

  • Si una función es vital y no estamos seguros, envíe un mensaje a los usuarios, pruébela hasta que estemos seguros y luego realice un lanzamiento.
  • Si una característica es importante, pero no vital, y se ha sometido a pruebas, publíquela, discúlpese por cualquier problema y vuelva a publicarla.
  • Para cualquier otro código, si no ha pasado por las pruebas, suponga que tiene problemas. Eso es un hecho, “tiene” problemas, somos humanos, siempre se puede mejorar. PERO, ¿cuántos usuarios podrán usar / ver esta función? Si no hay muchos y / o solo usuarios beta, suéltelo, permita que los usuarios beta informen cualquier problema. Si es un área ampliamente utilizada del sistema y todos la verían, simplemente nunca la libere hasta que se haya encontrado el tiempo para probarla. Si las partes interesadas se niegan a probarlo (sin tiempo, etc.), archívelo, dígales que puede activarse cuando puedan probarlo.

Intento preocuparme MUCHO por el código que escribo, pero realmente intento NO preocuparme por los problemas que existen. Mi código puede ser literalmente perfecto, pero sé que los navegadores cambiarán con el tiempo y eventualmente romperán mi código. Los requisitos del usuario cambiarán con el tiempo y mi código dejará de tener sentido para ellos. Eso significa que incluso el código que se publica hoy, tendré a alguien escribiéndome un correo electrónico en algún momento diciéndome que no funciona (ya, pero a ellos, como tal vez un nuevo usuario, alguna vez). No se castigue por ello siempre y cuando se sienta bien acerca de “cómo” se está comunicando con los usuarios y reconociendo lo que ha construido.

Definitivamente no. Y tampoco deberías sentirte así. Bueno, sé que es difícil ignorar un sentimiento que tienes, pero intenta todo lo que puedas para evitar ese sentimiento porque definitivamente no es algo de lo que sentirte culpable.

Como no desarrollador, me llevó años comprender la complejidad de los servicios basados ​​en la nube escalados. Quiero decir, hay muchas bibliotecas, servicios de terceros, navegadores, dispositivos y tecnologías por ahí y cada uno admite algunas cosas pero no admite otras, sin mencionar los casos de uso extremo y los robots de todo tipo que visitan su sitio web, y usted Necesito orquestar todo este desastre de alguna manera.

Aprendí con el tiempo que casi nadie puede predecir ningún problema futuro que pueda experimentar con su aplicación basada en la web. Por supuesto, hay errores menores que ocurren con frecuencia que no son gran cosa. Pero si constantemente aplasta su aplicación o servicio, podría considerar alguna ayuda externa, y no me sentiría culpable por eso, ya que la mayoría de los desarrolladores buscan ayuda externa todo el tiempo en Stack Overflow, Github, etc., o contratan consultores diferentes para diferentes problemas ( como probablemente ya sepas).

Acabo de leer un artículo sarcástico sobre las bibliotecas JS que podría alegrarte: cómo se siente aprender JavaScript en 2016

Espero que esto ayude, ¡tengan la mejor de las suertes con su proyecto y un gran año nuevo!

Hacer errores es un proceso natural de creación de software. Hay una gran diferencia entre lanzar código no probado y encontrar errores en algo que ha sido probado y lanzado.

Si se apresuró a lanzar su plataforma antes de pasar por un proceso serio de probarla, entonces solo tiene que aprender de esa experiencia para nunca volver a hacerlo. Pero incluso entonces encontrará algo que simplemente no funciona correctamente, pero que no justifica sus acciones iniciales.

Culpable no es la palabra exacta. Es más una mezcla de responsable y con ganas de arreglar.

Si un usuario final informa un problema, trato de ponerlo en práctica rápidamente y empiezo a buscar formas de llevar la solución a producción lo antes posible.

Si el error se descubrió en el control de calidad y es bastante fácil de encontrar, inmediatamente empiezo a imaginar que un usuario final lo está golpeando en este mismo momento.

Una vez que me he asegurado de comprender el error y también de comprender cómo se introdujo, busco lecciones para evitar este tipo de problema en el futuro. Pero no, no siento ninguna culpa como tal.

Conocí a desarrolladores que parecen gastar mucha energía mental en preocuparse por errores reales o imaginarios, y preocuparse por estar implicados en uno. Para mí, ese no es un estado mental productivo. Si te preocupas excesivamente por crear errores, entonces no estás codificando al límite de tus habilidades. Solo una aplicación sin funciones está libre de errores. Y solo las aplicaciones estancadas pueden llegar a estar casi libres de errores.

Yo prefiero trabajar en una aplicación viva, que respira y evoluciona. Cuando se agrega una nueva función, reconozco que más allá de los errores detectados por mí y por el proceso de control de calidad, habrá problemas grandes y pequeños. Algunos de ellos serán tan inesperados que no hay forma de haberlos anticipado. Entonces, ¿Qué haces? Lo único sensato es liberar el código y dejar que entre en el ciclo de mejora.

Y si le preocupa que la reparación de un error pueda crear dos o más, seguro que sí, y también debe estar preparado para solucionarlos. La única forma sensata es avanzar. El culpable no entra en eso.

No Es esperado, pero cosas como las cargas deberían haberse probado antes del lanzamiento. Los pequeños errores son totalmente normales.

No, definitivamente no. El error es parte de escribir un programa, creo. Es la esencia del ser humano. Así que no se preocupe, lo que debe tener es estar abierto para corregir esos errores y mejorar el rendimiento de la aplicación.

¡Siéntete culpable solo si no los arreglas! Los errores son casi inevitables. Lo importante es lo rápido que los arregles y lo que aprendas de ellos para evitar la recurrencia.

Como desarrollador web.

No tengo tiempo para esa mierda “culpable”.

Arreglo los errores. Lo pruebo una y otra y otra y otra vez.

Después de que se corrijan los errores y esté completamente libre de errores, pienso en más mejoras.

shubhamt619