He sido programador del lado del servidor durante la mayor parte de mi carrera y solo recientemente comencé a dedicar más tiempo al desarrollo web. Estoy sorprendido por la cantidad de cosas que necesito dominar para escribir una aplicación web decente. Solo para enumerar algunas herramientas / tecnologías que necesito aprender,
Lenguaje de programación del lado del servidor (Java / JSP, ASP, PHP, Ruby u otra cosa)
Un marco web decente (para cualquier aplicación de tamaño mediano a grande).
HTML y CSS
Javascript
Biblioteca Javascript (JQuery / ExtJS, etc., principalmente para AJAX). Es bueno saberlo aunque no sea necesario.
Al menos un conocimiento básico de diseño web: diseños, colores, fuentes, etc.
Una buena comprensión de la seguridad web.
Una buena comprensión de los problemas de rendimiento / escalabilidad.
Pruebas, problemas de compatibilidad del navegador, etc.
La lista continua.
Entonces, mi pregunta para los desarrolladores web experimentados es: ¿cómo logran aprender y mantenerse actualizados sobre tantas cosas? Mientras desarrolla una aplicación web, ¿cómo maneja las complejidades involucradas en estas áreas y logra escribir una aplicación bien diseñada, fácil de usar, segura, eficiente y escalable?
Como desarrollador web, ¿uno tiene que ser un experto en todos los intercambios o debería especializarse en una o dos áreas y dejar el resto a otros miembros del equipo?