Divulgación, estoy en desarrollo web Frontend.
Para ser sincero, creo que esto se debe a las diferencias en los problemas que se abordan en las dos corrientes de desarrollo (web) y cómo el tipo de personas con las que está rodeado ve los espacios problemáticos.
Básicamente, los problemas en la programación front end no son realmente de naturaleza intelectual. En cambio, lo que requieren es un conocimiento intensivo del dominio. Por ejemplo: cuando se le pide que implemente un gran cambio en la interfaz de usuario, un gran desarrollador de FE podrá aplicar su conocimiento experto sobre los marcos y las herramientas que pueden acelerar el desarrollo, cómo aplicarlos y si son compatibles o no (con los navegadores), o pueden sé cómo apoyarlos si es necesario.
- ¿Cuáles son las ventajas de usar Ember.js en general?
- Al construir un sitio, ¿debería uno centrarse en el front-end primero o en el back-end?
- ¿Qué es Object.prototype en JavaScript?
- ¿Cómo integrar todas las API de una industria en mi sitio y crear una barra de búsqueda para consultar? ¿Conoces algún ejemplo de esto?
- ¿Cómo puede el web scraping eliminar un sitio web?
En resumen: estos problemas son difíciles solo porque le faltan piezas de información de dominio. Suponiendo un conocimiento (casi) perfecto del dominio (navegadores, marcos, etc.), las soluciones son triviales. Si tiene una capacidad de programación intermedia y sabe css, bootstrap, jquery, gulp / grunt, babel y cómo usar Selenium y Mocha, puede crear un buen producto front-end. Si una persona que conoce estas cosas le enseña estas cosas y tiene un buen manejo de la enseñanza, aprenderá todo esto en unas pocas semanas . Esto incluye (sass / less, es5 / 6, polyfills yada yada). No hay nada innatamente difícil en entenderlos. Una vez que se pasan las palabras de moda, no hay profundidad en la complejidad de lo que hacen estos marcos / herramientas.
Lo que esto también significa es que con la capacidad de programación básica y unos pocos meses de bootcamping para obtener conocimiento del dominio, puede convertirse en un exitoso desarrollador Frontend. La única razón por la cual los desarrolladores de FE aún tienen salarios respetables en el nivel de entrada / nivel medio ($ 75,000 +), en lugar de tal vez ($ 40,000–50,000), que es lo que podría merecer este nivel de rigor intelectual, es la demanda (que diría es temporal hasta dot com 2.0)
Ergo en FE: saber más -> mejores soluciones
El desarrollo de back-end (BE) es donde enfrenta problemas que son esencialmente rompecabezas. Incluso si tiene información perfecta sobre el dominio (algoritmos + marcos), por sí solo ese conocimiento no se ocupará directamente de sus problemas.
No podrá recoger estructuras de datos y algoritmos y comenzar a aplicarlos en unos meses en cualquier proyecto que necesite escalar. Y ciertamente no obtendría resultados óptimos en términos de carga y tiempo de respuesta. Incluso los problemas de backend más triviales comienzan a volverse complejos una vez que agrega “para 4 millones de clientes activos en 4 continentes” . En general, la escalabilidad no es un requisito en FE, ya que 4 millones de clientes = 4 millones de navegadores en los que se ejecutará su FE)
Es por eso que tendrá más dificultades (no imposible) para entrar en el desarrollo de backend sin créditos universitarios en empresas exigentes (donde el backend es más que CRUD básico). La programación básica y el bootcamping no serán suficientes para resolver los problemas de backend: realmente necesitas habilidades teóricas para hacer un buen trabajo.
En BE: ser más inteligente -> mejores soluciones
Pero, por otro lado, dado que el backend normalmente no tiene la misma velocidad de desarrollo que el frontend, no necesitará 1 FE: 1BE. Como resultado, una menor demanda compensa el hecho de que menos personas están a la altura de esta tarea: los salarios de FE y BE son básicamente los mismos en este momento.
Sin embargo, creo que hay un debate sobre cuál de estos dos flujos es la base para una posición más segura post dot com 2.0. En mi opinión, FE es un lugar donde las personas de inteligencia promedio como yo pueden nivelar el campo de juego trabajando más duro. Sin embargo, también es prescindible, lo que significa que ser notado y salir de los niveles junior es de vital importancia para garantizar su futuro en el campo / lugar de trabajo.