¿Qué tipo de habilidades de desarrollo de back-end debe conocer un desarrollador de front-end para comunicarse mejor con los chicos de back-end?

He trabajado con un equipo con una dicotomía de línea muy dura entre los equipos front-end y back-end.

Cosas clave que he encontrado que hacen que la mayoría de los desarrolladores back-end sean diferentes de los desarrolladores front-end generales que conocía (estos no son universales)

Los desarrolladores de backend son políglotas por necesidad. Tenemos que trabajar en varios idiomas incluso en el subconjunto más pequeño de tareas de back-end. Esto significa que tendemos a poder leer código en idiomas que no sabemos si está bien escrito. Nuestros desarrolladores front-end a menudo tenían problemas para seguir el flujo de código cuando discutíamos cómo recibían un poco de información específica, mientras que nosotros (el back-end) podíamos sentarnos junto a un desarrollador front-end para ver cómo estaban usando nuestra información y hacer sugerencias informadas para Mejorar la aplicación en general.

Nuestros desarrolladores front-end no entendieron la naturaleza de la relación cliente-servidor. A menudo nos pidieron que hiciéramos tareas en el servidor que hubieran sido más útiles para la salud de la aplicación si la manejaran en el dispositivo cliente. Comprender los conceptos básicos de la distribución del procesamiento y descubrir cuándo una tarea “simple” para el servidor se suma a su base de usuarios nos ayuda a estar atentos al decidir cómo dividir las funciones.

Una cosa que los desarrolladores front-end parecían perderse muy a menudo es cómo se almacenan los datos y cómo se presentan, no es necesario que estén relacionados. A menudo me pidieron que almacenara datos de cierta manera cuando hay mejores soluciones para hacer que la aplicación sea más fácil de mantener. Aprenda los conceptos básicos del diseño de la base de datos y sepa que cuando le decimos que cierto modelo es difícil de almacenar de la manera que lo solicita, no le estamos mintiendo. Esto también significa que, a veces, cuando el front end pregunta sobre un recurso específico, en el back-end puede haber múltiples recursos juntos para ellos. A menudo realizamos manipulaciones en nuestros datos para cubrir todos los casos de uso.

Dése una base sólida en HTTP , que es el protocolo que utiliza su código de front-end para comunicarse con su código de back-end.

Conozca las principales definiciones de métodos HTTP: HEAD, GET, POST, PUT, DELETE

Conozca las clases de código de estado de respuesta HTTP (2xx, 3xx, 4xx, 5xx) cuando se usan y qué deben hacer los clientes con ellas.

En este sentido, lea sobre REST, incluso si su equipo de back-end no está lleno de fanáticos de REST, esto es útil como parte de la comprensión de cómo funciona HTTP.

(Y como nota final, si los desarrolladores de back-end en tu grupo te hacen sentir “como un idiota”, entonces eso es para ellos. Pídele ayuda a tu jefe si es una dinámica constante).

En mi humilde opinión lo mismo que necesita para ser un buen desarrollador front-end.

Su comentario solo mostró una gran bandera roja. Hay dos posibilidades. Veo por qué puedes parecer un idiota ante ellos. O eres uno o te ridiculizan, por ejemplo, atacándote.

El punto sobre que eres un idiota no vale la pena elaborarlo. Lo seas o no, no hay forma de que lo sepa.

¡Pero! Si te apegas a tus propias armas (front end), sabes lo que estás haciendo y no tratas de influir en cómo funcionan las partes internas de back-end; después de todo, solo debería darte lo que necesitas, mientras que cómo lo hace no es tu área de competencia – que no veo otras explicaciones.

No me sorprendería si te atacan. Desafortunadamente, muchos desarrolladores de back-end, especialmente aquellos que no trabajaron con front-end, realmente no se preocupan por UX, apariencia y cosas similares “sin importancia y fáciles”. Y te molestan aún más si tienen que cambiar su backend cuidadosamente planeado y hermoso porque necesitas algunos datos. Peor aún son aquellos que piensan que debido a que son buenos en el back-end, también son igualmente buenos en el front-end.

Ahora, si intentas influir en el trabajo interno del back-end, amigo, pides problemas. Esta no es su área de especialización y la única forma de no ser un idiota es ser un desarrollador back-end además del front-end.

API: esta es (muy probablemente) la forma en que se comunicará con ellos.

Base de datos: obtenga un poco de conocimiento de la base de datos, de modo que cuando les pregunte “piensa”, sabrá lo difícil / fácil que es. tal vez use algún tipo de base de datos / almacenamiento JavaScript no relacional, probablemente usen uno relacional, así que aprenda algo de eso.