Honestamente, es una cuestión de en qué profundidad quieres entrar y dónde se enfoca mejor tu enfoque.
Conozco pocos desarrolladores de pila completa que sean realmente más que competentes en cualquiera de los niveles de la pila. Eso no quiere decir que no puedan serlo, pero el nivel de conocimiento necesario para entrar en cualquier área del ámbito del desarrollo web puede consumir mucho tiempo … tiempo necesario para lidiar con las curvas de aprendizaje, tiempo necesario para intentar fracasar y intente nuevamente encontrar formas óptimas de hacer las cosas, y el tiempo necesario para regresar y arreglar las cosas a medida que su comprensión de las buenas prácticas se vuelve más sólida en esa área.
Solo en la parte delantera, hay múltiples disciplinas:
- ¿DevOps requerirá conocimientos de informática en el futuro?
- ¿Cuál es la mejor opción, un título en informática de una universidad o un aprendizaje de nivel 6-7 (en soluciones digitales)?
- Si amas la programación de computadoras y eso es todo lo que quieres hacer, ¿qué título universitario elegirías?
- ¿Cuál es el conocimiento básico de los ingenieros informáticos?
- He estado trabajando como desarrollador de software durante varios años y me despidieron el año pasado y no puedo encontrar ningún trabajo, ¿debería considerar comenzar mi propia empresa?
- La experiencia del usuario (interacción humano-computadora … ¿qué hace que una interfaz sea utilizable? ¿Cómo comprometerse y mantener a los usuarios, y darles lo que quieren mientras obtiene lo que necesita de ellos?) Implica no solo habilidades blandas, sino comprensión de varias herramientas construido para diseñar estructuras metálicas y maquetas.
- Diseño gráfico: uso de fuentes, diseños agradables que funcionan para mejorar la experiencia del usuario y, sin embargo, también se pueden usar en múltiples contextos (como dispositivos móviles), además de las herramientas asociadas del oficio: Photoshop, Illustrator, SVG o incluso Flash.
- Marcado: ¿qué hace que el HTML sea conciso y fácil de mantener? ¿Qué navegadores admiten estas etiquetas, qué tan estrictamente debo cumplir con el marcado basado en la semántica?
- CSS: ¿cómo puedo diseñar ese marcado de tal manera que llegue a la audiencia más amplia posible? ¿Cómo trato con múltiples formatos (móvil, web, impresión) mientras mantengo la experiencia central del usuario?
- Javascript: ¿qué nivel de interactividad se necesita? ¿Cómo hago que funcione entre navegadores? ¿Utilizo un marco o escribo el mío? AngularJS, Handlebars, ¿almaceno datos en el cliente y cómo los manejo?
Cualquiera de los anteriores puede consumir docenas, incluso cientos de horas de aprendizaje. Claro, puede obtener un mínimo de información útil para tratar superficialmente cada uno de esos temas, pero ¿será tan bueno para optimizar Javascript como Douglas Crockford si divide ese tiempo con la lucha libre MongoDB y PHP? Probablemente no.
Eso no quiere decir que no haya valor en pasar tiempo en cada una de esas disciplinas. Vivir en un silo es peligroso, y puedes aprender de las lecciones en cada punto de la pila que te ayudarán con cualquier otro punto de la pila (saber cómo los navegadores de destino procesan las páginas puede ayudarte a determinar qué parte de la página necesita crear en el lado del servidor y cuánto se maneja mejor en el lado del cliente, por ejemplo). La respuesta de Anuradha es una excelente guía sobre dónde es probable que encuentre la mayor cantidad de trabajo para cada tipo de desarrollador … los proyectos más pequeños, los equipos más pequeños, requerirán cierta facilidad con todos los puntos en la pila como una necesidad. Es probable que los proyectos más grandes con equipos más grandes permitan cierta especialización.
El que elija depende en gran medida de los tipos de proyectos en los que le gustaría trabajar, así como en qué partes de la pila le resulten más atractivos y atraigan más. Si está trabajando en un proyecto completo, preste atención a las áreas en las que se encuentra “perdiéndose” en el acto de creación / resolución de problemas. Si descubres que de repente te perdiste el almuerzo porque encontraste en lo que estabas trabajando tan fascinante (diferente de “tan frustrante, NO ME GANARÁ ESTE CÓDIGO” …), entonces podrías regresar y ver de qué se trataba eso que te excitó y te atrajo tanto. Con toda probabilidad, esa área será la que “le hable” y donde probablemente encuentre el trabajo más satisfactorio.