"¿Está muerto el desarrollo completo?"
Autor|Joe Hongton
Traductor|Crescent, Editor|Tu Min
La siguiente es la traducción:
La pila completa The origen de
En los albores del nuevo milenio, las herramientas web se han vuelto tan maduras que todo lo necesario para crear un sitio web se puede configurar a través de software de código abierto. Podemos imitar el modelo de red OSI y simplemente superponer varias tecnologías para el desarrollo de aplicaciones. El conjunto de tecnologías necesarias para todo el desarrollo se denomina pila.
La pila LAMP es la primera pila y contiene cuatro capas: L representa el sistema operativo Linux, A representa el servidor HTTP Apache, M representa el servidor de base de datos MySQL y P representa el lenguaje de programación PHP. Con el tiempo, vimos las ventajas del concepto en capas y se derivaron muchas otras pilas: WAMP, MAMP, XAMPP, LEMP, LEPP, MEAN, JAMStack y muchas más.
Con estas pilas de tecnología, tenemos las claves para un renacimiento del desarrollo de software de forma gratuita. Para aquellos interesados en crear un sitio web, la barrera de entrada ahora es menor. Con que tengas perseverancia y ganas de aprender nuevas herramientas, lenguajes y protocolos, es suficiente. No es necesario utilizar Microsoft, Oracle, IBM u otro software comercial. Este es un campo justo que atrajo la atención de muchas personas, hasta el punto de que a finales de los años 1990 apareció la era de la burbuja de Internet.
Poco después, el navegador (XMLHttpRequest) introdujo AJAX, liderando la era Web 2.0 y las aplicaciones Web. Sin embargo, desarrollar estas aplicaciones requiere mucho trabajo, por lo que los desarrolladores no pueden satisfacer las necesidades comerciales por sí solos.
Más tarde, los desarrolladores comenzaron a especializarse en la división del trabajo. Los desarrolladores de aplicaciones para el usuario se ocupan de HTML, CSS y JavaScript. Los desarrolladores backend manejan el sistema operativo host, el servidor HTTP y la base de datos. Los desarrolladores que dominan tanto el front-end como el back-end se denominan desarrolladores full-stack.
Era Full-stack
La especialización es algo bueno. Pero esto no durará para siempre. Por un lado, esto significa que los equipos pueden trabajar en paralelo para acortar los ciclos de desarrollo. Por otro lado, también significa que tenemos que esforzarnos más en comunicar los requisitos originales y las especificaciones modificadas, de lo contrario perderemos las ventajas de trabajar en paralelo.
Por lo tanto, parece una buena idea que todo el equipo sea desarrollador full-stack sin distinguir entre front-end y back-end.
El beneficio más importante es que cada desarrollador del equipo comprende completamente las consecuencias de cada cambio de código. Cada uno de ellos puede evaluar correctamente los impactos y riesgos, brindando a la gerencia una comprensión clara de los costos y retrasos. Además, cada vez que un miembro del personal deja el equipo, el equipo puede ser reemplazado inmediatamente y la nueva persona puede familiarizarse rápidamente con el trabajo. Sin embargo, a medida que la tecnología básica mejora, esta hermosa escena ha perdido su encanto original. La pila de tecnología ya no se limita a las primeras cuatro capas: sistema operativo, servidor HTTP, base de datos y lenguaje de secuencias de comandos.
A medida que aumentan nuestras capacidades de desarrollo, comenzamos a escuchar más atentamente a nuestros usuarios:
Además, la tecnología subyacente que cumple con todos estos requisitos continúa evolucionando:
La era full-stack no está completamente muerta. Con el rápido avance de todos los niveles de la tecnología, nadie puede ser un experto en todo. La diversificación y especialización de responsabilidades es una consecuencia natural.
La gloria de los ingenieros full-stack se ha convertido en una leyenda. En esta nueva era, ninguna persona puede dominar todas las tecnologías desarrolladas.
Estación 2020
Tenemos que pensar: ¿los talentos individuales con conocimientos y capacidades técnicas de varios niveles todavía tienen ventajas? ¿Cómo deberíamos lidiar con la diversidad de experiencia en proyectos que aportan los desarrolladores full-stack? ¿Cómo satisface la administración estas necesidades? ¿Cómo deben los reclutadores seleccionar a los candidatos? ¿Cómo pueden los solicitantes de empleo resaltar sus fortalezas técnicas?
Deberíamos repensar el término "full stack".
Digo esto porque ayudé a popularizar este concepto. Introduje este término en 2009. Lamentablemente, en 2019, el término se convirtió en un monumento al Museo de Historia de la Computación.
Curiosamente, la gente siente cada vez más curiosidad por la palabra "full stack".
Una instantánea de las tendencias de los términos de búsqueda de Google de 2009 a 2019 muestra que el volumen de búsqueda del término "full stack" ha aumentado dramáticamente en los últimos cinco años, alcanzando nuevos máximos cada año.
Pero si la gente busca la próxima tendencia, hablemos de ella. Para facilitar la discusión, démosle un nombre.
Yo lo llamo el stack 2020. Un nuevo nombre para una nueva generación.
Creo:
Las características de los expertos en pila 2020 se pueden resumir de la siguiente manera:
Nadie puede dominar todas las tecnologías, por lo que la pila 2020 debe ser compartido por un equipo. No un grupo de personas, sino un equipo real. Esto significa que cuando una persona se queda atrás, la otra da un paso adelante. Cuando una persona tiene excelentes habilidades técnicas, puede guiar a otros a través de un mecanismo. Cuando la base de conocimientos de un equipo es insuficiente, buscan miembros más inteligentes.
Cada miembro del equipo stack 2020 debe ser un experto interdisciplinario. Las personas que solo dominan uno o dos niveles de tecnología no son miembros calificados del equipo de pila 2020. Se espera que estas personas sean miembros del equipo de pila de 2020 en el futuro, pero es posible que no lo sean. Sin embargo, solo pueden convertirse en candidatos para el equipo stack 2020 hasta que hayan adquirido un conocimiento profundo de todos los niveles del stack técnico.
Las tecnologías aportadas al proyecto por los miembros del equipo de pila 2020 no están estrictamente clasificadas. A diferencia de la clasificación front-end/back-end que utilizamos actualmente, la clasificación de la pila 2020 es diversa. Los miembros del equipo de pila 2020 pueden estar familiarizados con tecnologías como NoSQL, configuración en la nube e integración continua. Mientras tanto, otro equipo de pila de 2020 puede tener un miembro similar familiarizado con bases de datos SQL, servidores Node.js, contenedores y disposiciones de contenedores. Si nos referimos colectivamente a ellos como el desarrollo back-end del equipo stack 2020, subestimaremos su fortaleza técnica.
Finalmente, el componente más crítico de este equipo: cada comunicación debe estar dirigida a tomar la mejor decisión para el problema en cuestión. Esto significa que los miembros con las mismas habilidades deben comunicarse con la mente abierta. Los miembros no sólo se comunican entre sí sobre los últimos acontecimientos, sino que también mantienen debates. Esto puede hacer que todos sean más inteligentes y evitar que todos vuelvan a entrar en el torbellino de la especialización. Los miembros del equipo crecen juntos.
Hola, "¡2020 Stack!"
Pensemos en cómo utilizar 2020 Stack para combinar mejor los requisitos laborales con la solidez técnica de los solicitantes de empleo. Los anuncios de trabajo publicados por gerentes de proyectos que desean encontrar personas que se ajusten a la cultura de la empresa pueden incluir lo siguiente:
Nuestra empresa busca contratar miembros del equipo Stack 2020 con una sólida experiencia en pruebas, documentación y gestión de códigos. . Este puesto requiere al menos dos habilidades técnicas en las siguientes áreas: configuración de la nube, contenedores, orquestación de contenedores, CI/CD y secuencias de comandos del lado del servidor.
Da forma a nuestro futuro ayudándonos a elegir las mejores herramientas. El desarrollo profesional es parte del trabajo de cada empleado. Todos los martes celebramos una reunión interna de aprendizaje sobre la pila de 2020.
Otro anuncio de trabajo para el mismo puesto requiere candidatos con diferentes habilidades:
Estamos buscando un miembro del equipo "2020 Stack" para ser responsable de las pruebas de regresión, documentación API, Github Gestión de flujo de trabajo y DevOps.
Si dominas las tecnologías anteriores, por favor contáctanos.
Los solicitantes de empleo pueden mejorar su información de LinkedIn de las siguientes maneras:
Tengo muchos años de experiencia laboral en el equipo "2020 Stack", una rica experiencia en desarrollo back-end y lo último Conocimientos de desarrollo y operación 2020, incluidos Gitlab, Kubernetes, Digital Ocean, etc.
Soy un fiel defensor del código abierto y DRY. Creo que la clave para una reutilización exitosa radica en una excelente documentación.
A través de la descripción anterior, vemos a un desarrollador que domina tanto el campo de la gestión de código como la tecnología de desarrollo y operación. Los miembros del equipo “2020 Stack” son más maduros que los equipos ágiles.
Superposición de capas de la pila de 2020
Entonces, ¿cómo debería estratificarse la pila de 2020? ¿Son suficientes los términos front-end y back-end para describir las características de cada capa? ¿Qué pasa con los servidores y la Web? ¿Qué pasa con el diseño y las operaciones? Por supuesto, estas categorías son bastante amplias.
Al mismo tiempo, no podemos ignorar a nuestros evaluadores porque sabemos que sin ellos no podemos ofrecer un producto de mejor calidad que nuestros competidores. Y, sin los especialistas en marketing, ni siquiera podríamos encontrar clientes.
Es necesario considerar todos estos factores. Con respecto a la pila perfecta de 2020 que tengo en mente, puede consultar este artículo (/better-programming/2020-002-my-perfect-2020-stack-43be 78 df 37 DD). Después de todo, la pila 2020 es la comunicación entre dominios. Creo que este es un nuevo avivamiento.
Texto original:/better-programming/2020-001-full-stack-profounded-dead-355d 778 e 733
Este artículo fue traducido por CSDN, indique la fuente.