Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Por qué hay escasez de ingenieros de front-end en toda la industria de Internet?

¿Por qué hay escasez de ingenieros de front-end en toda la industria de Internet?

Razón 1: el front-end es un campo relativamente nuevo y las necesidades web actuales requieren más ingenieros.

Muchas personas pueden pensar que el desarrollo front-end es similar al desarrollo web y. desarrollo web Existe desde hace más de 20 años, por lo que el front-end no es un campo nuevo. Sin embargo, el concepto de "implementación de tecnología de interfaz y experiencia del usuario como campo de trabajo profesional" en el concepto del ingeniero front-end es sin duda muy nuevo. Hace unos años, la tecnología de desarrollo front-end estaba creciendo rápidamente, como se muestra en la siguiente figura:

Tendencia de crecimiento visual de los ingenieros front-end en los últimos años según Google Trends

Hace 15 años o más, los recursos necesarios para el diseño visual y la implementación técnica de la web se distribuyen uniformemente. A medida que el sitio web creció (se convirtió en algo más que una simple página de destino), la necesidad de recursos de ingeniería se hizo cada vez más evidente. La gente comenzó a aprender específicamente JS, tecnología back-end, UX, bases de datos e incluso diseño de sistemas específicos de sitios web.

Hoy en día, una aplicación web como AirBnB/Facebook/Quora requiere muchos más recursos de ingeniería que de diseño. En otras palabras, hoy en día es más rápido crear el diseño visual de una página web que la implementación técnica, por lo que las necesidades web actuales requieren más ingenieros para satisfacerlas.

Ahora, un ingeniero de front-end calificado debe estar interesado en el diseño visual (o estar dispuesto a ser masoquista▼).

CSS.jpg

Obviamente, para manejar la gran cantidad de requisitos de aplicaciones web, las tareas técnicas deben clasificarse de modo que varias personas puedan manejar las solicitudes del sitio web al mismo tiempo. De hecho, ya no es posible que una sola persona resuelva rápidamente todos los detalles técnicos.

Todavía hay un grupo de personas que manejan todos los problemas de una aplicación web por sí solas, a saber, los "ingenieros de pila completa", pero los ingenieros de pila completa excelentes también son tan raros como los pandas gigantes.

Hoy en día, si una startup quiere tener éxito, debe cubrir muchos aspectos técnicos de una aplicación web: front-end, back-end, DBA, operaciones, etc. Aunque ya existen algunos servicios que permiten a las empresas comprar módulos y componentes de front-end para páginas de destino, si desea crear algunas aplicaciones web reales, no hay otra manera que recurrir a ingenieros de front-end, como si lo hiciera; Si quieres crear una marca, tienes que dar vueltas. No es como contratar a un diseñador.

Segundo motivo: existen malentendidos generalizados sobre el front-end. De hecho, el front-end no es nada simple.

La mayoría de la gente piensa que el desarrollo del front-end es "más simple". en comparación con otros módulos" "Campo", en su opinión, los ingenieros de front-end trabajan así:

1. Convierta archivos, imágenes o estructuras alámbricas de Photoshop en una página;

2. Ocasionalmente diseñe archivos, imágenes o estructuras alámbricas de Photoshop;

3. Utilice JS para realizar efectos de animación y transición.

4. .

De hecho, lo que están haciendo los ingenieros de front-end es:

1. Crear un lenguaje visual entre diseñadores e ingenieros

2. borrador Definir un conjunto de componentes que representan contenido, marca y funcionalidad;

3. Establecer una línea de base para el marco, los requisitos, el lenguaje visual y las especificaciones de la aplicación web;

4. Basado en el dispositivo, el navegador, la pantalla y la animación para dividir el trabajo de las aplicaciones web;

5. Utilice puntos de referencia de control de calidad para garantizar pautas que garanticen la lealtad a la marca, la calidad del código y los estándares del producto;

6, ajuste el estilo de la aplicación web, incluido el espaciado, las fuentes, los títulos, los iconos, el diseño, etc.;

7. pantallas verticales, etc.;

p>

8. Marque las aplicaciones web para que sean semánticas y compatibles con SEO;

9. consumo de batería, características del dispositivo y del cliente;

9. p>

10. Al desarrollar el cliente, debe considerar la fluidez de la animación, la carga diferida, la interacción y el flujo de trabajo de la aplicación. se gasta considerando la mejora progresiva y los estándares de compatibilidad con versiones anteriores;

11 Garantía La conexión en segundo plano es segura y se adoptan procedimientos de intercambio de recursos entre regiones (CORS) para evitar secuencias de comandos entre sitios (XSS) y entre sitios. falsificación de solicitud de sitio (CSRF);

12. Lo más importante es que, aunque existen plazos estrictos, requisitos de las partes interesadas y limitaciones de equipo, siempre será "el cliente primero" ahora y en el futuro.

Para lograr los objetivos anteriores, los ingenieros de front-end utilizan una variedad de herramientas, desde visualización hasta programación y, a veces, incluso se encargan del marketing, UX, ajustes de contenido y más.

Razón 3: La existencia de una gran cantidad de malos ingenieros de front-end altera el mercado

Esta es quizás la razón más obvia por la que es difícil contratar buenos ingenieros de front-end. . Dado que el umbral de entrada para los ingenieros de front-end es muy bajo, JS, CSS y HTML no son lenguajes difíciles para comenzar. Parece que cualquiera puede aprenderlos a través de tutoriales y libros en línea siempre que dedique un poco de tiempo. . Sí, el mercado de ingenieros de front-end ha sido arruinado por estos tipos que simplemente están incursionando en él.

Esto es lo que hacen los malos ingenieros de front-end:

1. Abusar de las bibliotecas de JavaScript porque en realidad no comprenden el núcleo de JavaScript (por ejemplo, usan jQuery para todo);

2. Abusar de los complementos de JavaScript y reutilizar el código de otras personas sin restricciones, incluso si no puedes leerlo en absoluto.

3. Evaluación, simplemente entréguela a la aplicación Web. Agrega un marco CSS, pero solo usa una pequeña parte del marco;

4. Pensando que mientras se use el marco CSS, el sitio web responderá. , o no entender completamente el significado del diseño responsivo;

5. Mientras hablo de "diseño web responsivo", no sé nada sobre la tecnología de solución del lado del servidor;

6. al programar con CSS, convenciones de nomenclatura, etc.

7. Ignora el rendimiento y las pérdidas de memoria (no comprendes el verdadero significado de las pérdidas de memoria) y no sabes cómo detectar el código.

8. No utilice indicadores para medir un Producto, o este indicador está diseñado para ser efectivo en su propia computadora, navegador y dispositivo;

9. cosas a puerta cerrada.

Debes saber que es fácil comenzar pero difícil de dominar. Los conceptos básicos de las computadoras y el software son muy importantes para que uses JS o la programación del navegador. La web es probablemente una de las plataformas y entornos más influyentes donde los programas ejecutados deben tratarse con cuidado. Un buen ingeniero de front-end no sólo considera las tecnologías y los lenguajes web, sino que también comprende los diferentes componentes, sistemas y conceptos.

Las siguientes son cosas que los excelentes ingenieros de front-end harán cuando se enfrenten a tareas ordinarias en tiempo real (este es el front-end que el mercado necesita con urgencia):

1. Resolución de DNS, utilizando CDN, Distribuya solicitudes de recursos a múltiples nombres de dominio;

2. Comprender los encabezados HTTP (Expira, Control de caché, Si se modifica desde)

3. alto rendimiento de las reglas de optimización de páginas web de Steve Souders (referencia: libro Sitios web de alto rendimiento)

4. Cómo resolver todos los problemas enumerados por PageSpeed, YSlow, Chrome Dev Tools Audit, Chrome Dev Tools Timeline y otras herramientas. ;

5. Cuándo transferir tareas al servidor y cuándo es apropiado transferirlas al cliente;

6. Uso de tecnologías de almacenamiento en caché, captación previa y carga retrasada;

p>

7. JavaScript nativo, sepa cuándo comenzar desde cero, cuándo consultar el código de otras personas y pueda evaluar las ventajas y desventajas de hacerlo;

8. conocimiento y uso;

9, Conocimiento y uso de estándares CSS;

10 Conocimiento de la parte informática de JavaScript (gestión de memoria, algoritmos de recolección de basura, etc.)

p>

En otras palabras, si domina HTML CSS JS y comprende el conocimiento de back-end, solo un front-end calificado con una puntuación de 60 puntos, si desea convertirse en un front-end popular y excelente; -Termine con una puntuación de 80 puntos y un salario alto, debe tener una aplicación real de las necesidades comerciales y el diseño de arquitectura y un front-end superior con una puntuación de 100 puntos, luego debe poder tener en cuenta ambas tecnologías; y diseño, más cerca de un "ingeniero full-stack centrado en el desarrollo front-end".