¿Qué tipo de problemas encuentran los desarrolladores web en el día a día?

La mayoría de los problemas / desafíos que trato a diario se dividen en algunas categorías:

  1. Problemas de producción. El servidor web está generando 500 errores, el tiempo de respuesta para ciertas páginas está subiendo, los niveles de carga están subiendo en una de las bases de datos, el equilibrador de carga acaba de reiniciarse, etc. Por lo general, hay una locura por solucionarlos cuando suceden.
  2. Ajustes de producción. No es un gran problema como el n. ° 1, pero queremos ajustar un algoritmo un poco, o agregar algunos registros, o cambiar algo de texto en una página. Por lo general, estos no son un gran problema, pero siempre debe tener cuidado al cambiar el código en vivo y asegurarse de no haber introducido accidentalmente algún problema que resulte en la categoría de problema # 1.
  3. Desarrollo de nuevas características. Aclaración de requisitos, esquemas de datos de diseño, escritura de código, refactorización, revisión de diseños y código con colegas, etc.
  4. Comprender e integrar software de terceros. Buscando una biblioteca de código abierto que proporcione la funcionalidad que necesita. Lectura a través de la API de un servicio, como Twitter o Facebook o un procesador de pagos. Mirando a través de los documentos o el código de alguna biblioteca que intentas integrar.
  5. Manejo de sistemas complicados. Los aspectos a considerar de la experiencia del usuario incluyen: su navegador web, bibliotecas Javascript, conexiones de red, topologías de red de centros de datos, hardware y sistema operativo de sus servidores, bases de datos, almacenes de valores clave como memcache, software de servidor web (por ejemplo, Apache), qué versión de bibliotecas que ha instalado, el código PHP / Ruby / Python / Java real que escribió, etc.
  6. Hacer juicios sobre cómo utilizar mejor los recursos. ¿Cuánto tiempo debemos pasar escribiendo pruebas exhaustivas? ¿Para qué escala de datos o tráfico diseñamos nuestro sistema? ¿Pasamos tiempo optimizando nuestro sistema ahora, o tratamos de obtener características frente a usuarios reales más rápido?
  7. Comunicación. Reuniones, stand-ups, correos electrónicos, documentación, presentación de ideas / características a colegas para comentarios, intercambio de conocimientos, seguimiento de problemas, etc.

De acuerdo, supongo que son más categorías de las que pensaba originalmente. 🙂

Es similar a mucho desarrollo de software. La principal diferencia que veo en comparación con otros trabajos que he tenido es la velocidad de iteración. Puede actualizar / cambiar / corregir su software y brindar a sus usuarios una experiencia diferente en cuestión de horas, en lugar de tener que esperar meses hasta que se lance la próxima versión del software.

– Obteniendo un diseño sin un resumen real

– tener plazos ajustados para ti

– tener que dar citas de cosas que nunca has construido antes (entonces, ¿cómo diablos se sabe cuánto tiempo tomará es un misterio para mí)

– cambios en el diseño después de que se haya cerrado, lo que significa cambios fundamentales en (uno o ambos) su código y estructura.

– errores que no tienen coherencia (por ejemplo, aparecen al azar) y, por lo tanto, se demoran en depurar y corregir

– Errores de renderizado CSS de Internet Explorer (esto puede ser un problema dependiendo de qué tan atrás sea el soporte de su versión) + inconsistencias de JavaScript (tanto en el lenguaje como en la API DOM)

– problemas de integración entre el front-end y el back-end (p. Ej., Los desarrolladores de PHP integran un CMS personalizado en los archivos HTML proporcionados por los desarrolladores de front-end pero terminan rompiendo el diseño)

– problemas con proveedores de software de terceros (por ejemplo, Twitter podría estar deteniendo su punto final JSON-P – algo que muchos de los sitios de sus clientes están utilizando y, por lo tanto, esos sitios terminarán rompiéndose y deben actualizarse + usted usa un proveedor de pasarela de pago para años y de repente cambian su servicio clave para que sea mucho menos flexible, una de las razones por las que los eligió en primer lugar, por lo que en algún momento en el futuro cercano, todas las aplicaciones de clientes existentes deberán actualizarse, de lo contrario sus sitios se romperá, oh, y estás ocupado como el infierno, así que donde encuentres el tiempo para hacer esto, cualquiera lo adivina).

– los problemas del servidor, como el uso de la CPU, se maximizarán al 100% al azar. Descubrirá después de MUCHA investigación que un trabajo cron de PHP que extrae datos de un proveedor de datos de terceros está causando un bucle interminable porque el desarrollador no había tenido en cuenta una falla cuando el servicio del proveedor falla.

– desea utilizar la última versión del idioma del lado del servidor elegido, pero no puede porque si actualiza el servidor, entonces eso anula y anula cualquier soporte futuro que obtendrá de los ingenieros de su servidor porque el servidor ya no es el ‘estándar’ instalar

– actualiza su sistema operativo (parece bastante sensato, quiere los últimos parches de tecnología / características / seguridad) pero rompe el software existente en el que confía para su trabajo / trabajo diario

… si hay algo más que recuerdo, entonces te lo haré saber.

Tener que corregir errores rápidamente mientras se trabaja en proyectos más amplios.

Esto rompe el ritmo y puede ser un poco frustrante.

More Interesting

¿Cómo crear un álbum de fotos creando una aplicación web como http://milkbooks.com, http://shutterfly.com http://blurb.com? Qué tecnologías se pueden usar para crear esta aplicación

¿Cuáles son algunas plataformas de alojamiento para la aplicación web Django?

¿Cuáles son algunas buenas herramientas o aplicaciones para autores de no ficción?

¿Qué tan buenos son los Chromebooks para el desarrollo web en 2015 y más allá?

¿Quién odia la gestión del conocimiento empresarial?

¿Cuál es la mejor manera de comenzar un nuevo proyecto web?

Como programador de 'nivel intermedio' que solo trabaja en el backend de la aplicación web de una startup, ¿qué tan preocupado debería estar por las lagunas de seguridad que podría estar creando involuntariamente, incluso si soy capaz de acelerar las cosas rápidamente?

¿Por qué debería uno usar un marco de front-end MVC (como) para construir una aplicación web?

Cómo localizar aplicaciones delphi

¿Qué opciones hay para implementar el reconocimiento de imágenes en una aplicación web?

¿Hay alguna forma de verificar las estadísticas de mi blog?

¿Cuál es la anatomía de una aplicación web moderna?

¿Cómo resuelven las startups web el problema del huevo y la gallina de tener contenido inicial antes de un lanzamiento público, si la aplicación web se basa completamente en contenido generado por el usuario?

¿Se puede utilizar Django Framework para aplicaciones web empresariales?

¿Cuáles son las mejores agencias web utilizadas para crear aplicaciones web MVP de inicio, preferiblemente en Londres?