¿Qué puedo hacer si el back-end de mi proyecto actual está lleno de exploits?

Depende de las expectativas de todos y la dinámica del equipo.

Lo primero es lo primero. Asegúrese de que sus responsabilidades y expectativas en el proyecto estén claramente definidas, para que no se le culpe por el trabajo de otra persona. Las expectativas erróneas e indocumentadas conducirán a un cliente insatisfecho y posiblemente a una peor reputación en el futuro.

También deberá explicar qué puede y qué no puede hacer en la interfaz para cubrir los problemas de backends. La elección entre reparar el backend o no es los propietarios. Documentarlo.

Finalmente. trabaje con otro desarrollador para mejorar su código, especialmente si el proyecto no es a corto plazo. Claro, algunas personas no pueden aprender. Sin embargo, en la mayoría de los casos, simplemente aprendieron de otros programadores pobres o fuentes en línea incorrectas.

Lo que no debe hacer es trabajar en el código del que no es responsable. Porque entonces puedes ser culpado por problemas en el backend, incluso si no has editado esa parte. Puede decirle al programador o al propietario cómo solucionar estos problemas y por qué deben solucionarse, pero eso es todo.

Además, hay casos en los que uno debería dejar de trabajar en el proyecto. Si las responsabilidades, el alcance del proyecto no está claramente definido, o no puede trabajar con el equipo, debe irse.

Tú los arreglas.

Sí, sí, sí, no los escribiste. No me importa Arreglas la maldita cosa.

Eres un profesional Es parte de su responsabilidad ética y profesional arreglar las cosas que dañarían a su empresa, su empleador o su cliente. No hay tal cosa como no es mi problema. No barres los problemas debajo de la alfombra. Y si su jefe o cliente le dice que lo libere de todos modos, usted dice que no. En buena conciencia, no puede permitir que se implemente un código tan malo. Solucionar los problemas que definitivamente son un obstáculo no solo lo convertirá en un mejor programador, sino también en una mejor persona y profesional.

No solo está haciendo lo correcto, sino que también está desarrollando más horas facturables.

Si su cliente no puede ser molestado, probablemente no entienda las ramificaciones de los errores del otro desarrollador. Necesitas educarlo. Asustarlo con historias sobre cuántas empresas se hundieron debido a estos errores. Asegúrese de incluir muchos technobabble como ataques de inyección SQL y scripts de sitios cruzados.

Lo que diré (suponiendo que sea un contratista) es tener cuidado con el lenguaje en su contrato. El lenguaje puede decir que solo estás trabajando en la interfaz. Si ese es el caso, cualquier trabajo en el backend será gratuito si su cliente entiende la ley de contratos. Asegúrese de obtener el contrato modificado para incluir este nuevo trabajo y tener una disposición sobre pasar horas en el contrato. También como nota al margen, siempre incluya una fase de descubrimiento en el proceso de sus futuros clientes para que pueda evaluar el código existente de sus clientes y estimar adecuadamente las horas para ellos en caso de problemas como este y conocer el verdadero alcance antes de realizar cualquier trabajo.

Tenga en cuenta: no soy abogado y el párrafo anterior se basa en mi experiencia como freelance.

Como usted hace front end, debe hacer lo que le pagan. Entiendo totalmente si tu ética de trabajo te está gritando en este momento. Entonces, esto es lo que puedes hacer:

  1. Cúbrete el culo. Haga un informe preliminar no técnico del estado de la aplicación con algunas ideas estratégicas sobre lo que debe hacerse (cambios en la metodología de desarrollo / implementación, estrategia para asegurar la aplicación con el menor tiempo de inactividad posible)
  2. Sigue cubriéndote el culo. A medida que desarrolles el front-end, entrarás en contacto con mecanismos específicos de back-end. Tome notas de las vulnerabilidades que encuentre y póngalas en un informe más detallado y técnico.
  3. Si tienes el tiempo y el altruismo, haz parches y proponlos a los desarrolladores finales a medida que avanzas. Siempre mantenga un rastro en papel de todo para que pueda probar que les advirtió.

Tenga cuidado de que disparen al mensajero cuando su aplicación se dispare y sufran una violación masiva de datos. Desea poder demostrar que hizo todo lo posible para asegurarlo y que no lo escucharon.

Este es un problema de negocios. Especifique y documente cada paso o sprint del proyecto con cuidado. Asegúrese de incluir los criterios de prueba de aceptación y los requisitos previos para la entrega. Solicite ser activo en el proceso de aceptación para el trabajo de fondo.

Dicho esto, no estoy familiarizado con la palabra “exploits” en este contexto. Sustituí “vulnerabilidad”, “error”, “debilidad”, “error” y “problema” por el término al redactar mi respuesta.

No toque el evento en una sola línea. Y ahórrese una noche tranquila.