Creo que un desarrollador al menos debería ser consciente de las preocupaciones más grandes de la arquitectura y las redes. Refactorizar el código es costoso y, en mi experiencia, generalmente es producto de la ignorancia del desarrollador sobre preocupaciones de TI más grandes y eventuales:
- Seguridad de información. Solo una minoría de desarrolladores comprende las vulnerabilidades creadas por las malas prácticas de codificación que pueden producir responsabilidades significativas para el propietario de la implementación de la aplicación. Mire este problema desde el nivel empresarial le da al desarrollador una idea mucho más clara de cómo priorizar sus prácticas. ¿El caso de Carmel? meh ¿Validación del lado del cliente y filtrado con validación del tipo del lado del servidor? Oh si.
- Concurrencia. A menudo, TI se enfrenta a la necesidad práctica de dividir una parte integral de una aplicación en un servicio de red (es decir, inicio de sesión único) a medida que se escala a un gran número de usuarios. Si comprende esto, entonces no hay argumento sobre por qué usamos MVC o patrones de codificación equivalentes o por qué la complejidad ciclomática es una consideración importante.
Enumero solo dos, pero creo que comprender los conceptos de TI generalmente lo convierte a uno en un desarrollador mucho mejor. Uno debe aprender tanto como sea posible.