¿Cómo convertirse en un desarrollador de pila completa? Como uno de los temas más candentes para los desarrolladores, las discusiones nunca se han detenido. En LinkedIn y Facebook, muchas personas ponen su título de trabajo como desarrollador de pila completa. Además, parece que el tema “Full Stack” ya se ha convertido en una nueva tendencia laboral. Un artículo en Medium ha discutido que el diseñador de pila completa recibe elogios y críticas. Algunas personas piensan que el full stack es solo un título, en lo que debe enfocarse es en la tecnología y la habilidad personal real.
Esencialmente, creo que la discusión sobre la pila completa también es una especie de argumento relacionado con el experto en la industria de TI, y un debate sobre la profundidad y amplitud de las habilidades de desarrollo.
No puedes tener tu pastel y comértelo también. Mientras que los desarrolladores de pila completa y los diseñadores de pila completa parecen estar desafiando esta posibilidad. Porque su árbol de habilidades horizontales les da la capacidad de tener y comer el pastel. Hay otro dicho que dice que es un experto en todos los oficios, pero maestro de nada. Por lo tanto, es necesario pensar en cómo convertirse en un verdadero desarrollador de pila completa, pero no en un título vacío.
En pocas palabras, el desarrollador de pila completa es un tipo de persona que domina una variedad de habilidades y las usa para completar un producto de forma independiente. Una de las respuestas más votadas en Quora explicó qué es un desarrollador de pila completa:
Un desarrollador de pila completa es un ingeniero que puede manejar todo el trabajo de bases de datos, servidores, ingeniería de sistemas y clientes. Según el proyecto, lo que los clientes necesitan puede ser una pila móvil, una pila web o una pila de aplicaciones nativas.
De hecho, “full stack” se refiere al conjunto de una serie de tecnologías necesarias para completar un proyecto. "Pila" se refiere a una colección de submódulos. Estos submódulos o componentes de software se combinan para lograr la función establecida sin necesidad de otros módulos.
Como se mencionó anteriormente, la discusión sobre el desarrollador de pila completa es en realidad el debate sobre la profundidad y amplitud de las habilidades. Especialmente en la conferencia OSCON, un ingeniero de Facebook dijo que solo contrataron a un "desarrollador de pila completa". Este tema surgió como resultado de una acalorada discusión sobre las fortalezas y debilidades de ser un desarrollador de pila completa.
Ventajas: Los desarrolladores full stack involucrados en un requerimiento técnico horizontal, por lo que pueden hacer un diseño de prototipo para un producto muy rápidamente con su amplia gama de técnicas. Con la capacidad de apilamiento total, tienen un ángulo de visión más amplio y una mentalidad más activa. Además, serán más sensibles a las técnicas y productos. Entonces, este tipo de personas siempre pueden tener sus opiniones sobre el producto o diseño.
Desde otro aspecto, puede brindar ayuda a todos los miembros del equipo y reducir en gran medida el tiempo y los costos técnicos de la comunicación del equipo y el acoplamiento de tecnología. Muchos de ellos se convierten en empresarios o como socios técnicos en empresas de nueva creación.
Desventajas: es precisamente debido al desarrollo de tecnología horizontal, algunos desarrolladores de pila completa no pueden ser expertos en una habilidad. La mayoría de los que afirman ser "desarrolladores full stacks" solo saben un poco sobre las múltiples habilidades. En cuanto a cómo hacer que la arquitectura sea más adecuada para el desarrollo modular, esa es una pregunta.
Un desarrollador calificado de pila completa debe tener conocimientos funcionales y capacidades para todos los aspectos involucrados en la construcción de la aplicación.
Debe dominar varios lenguajes de programación , como JAVA, PHP, C #, Python, Ruby, Perl, etc. Como la mayoría de los procesos comerciales principales deben estar escritos en estos lenguajes, tal vez no todos los necesiten. Pero también debe dominar la gramática del idioma y estar muy familiarizado con la forma de estructurar, diseñar, implementar y probar el proyecto basado en uno o más idiomas. Por ejemplo, si elige JAVA, entonces necesita dominar el diseño y desarrollo orientado a objetos, patrones de diseño, componentes de desarrollo basados en J2EE, etc.
Dónde aprender: Git/GitHub: debe saber cómo usar Git para administrar y compartir su código.
Los lenguajes de desarrollo populares generalmente van acompañados de un buen marco de desarrollo, como JAVA Spring, MyBatis, Hibernate, Python Django, PHP thinkphp, yin, nodeJs express, etc.
Dónde aprender : 15 libros electrónicos gratuitos de Python
Las tecnologías front-end son cada vez más importantes en el desarrollo de proyectos y productos de hoy. Además de las características del producto, la experiencia del usuario también es uno de los criterios para probar el éxito de un producto. Todo eso depende de la implementación de la tecnología front-end, por lo que debe dominar algunas tecnologías front-end básicas como HTML5, CSS3, JavaScript y estudiar más a fondo los marcos front-end o bibliotecas de terceros como JQuery, LESS, SASS, AngularJS o REACT.
Dónde aprender: No conoces JS
Cualquier producto o proyecto necesita una base de datos para almacenar datos. Como desarrollador de pila completa, también debe tener al menos una o dos bases de datos y saber cómo interactuar con la base de datos. Actualmente, la base de datos popular es MySQL, MongoDB, Redis, Oracle, SQLServer, etc. Como base de datos de tipo documento, MongoDB se utiliza cada vez más en productos de Internet. En cuanto a proyectos más grandes, también recomiendo usar MySQL u Oracle comercial como base de datos de back-end. Mientras que las bases de datos de memoria, como Redis, se pueden usar para el almacenamiento en caché para mejorar el rendimiento del sistema.
Dónde aprender: serie de tutoriales de MongoDB MERN , tutorial de Redis
La mayoría de los artículos o discusiones sobre el desarrollador de pila completa rara vez están relacionados con los requisitos de diseño. Pero creo que la habilidad de diseño es muy importante, el principio y la habilidad del diseño básico de prototipos, el diseño de UI, el diseño de UX también son necesarios para comprender.
Dónde aprender: blog de UX
De acuerdo con la ley de 10 000 horas de Gladwell, se necesitarán 10 años para dominar el contenido de conocimiento orientado al cliente, el front-end y el back-end para ser un desarrollador completo. Por lo tanto, el desarrollador de pila completa no se logra de la noche a la mañana. Lo que debe hacer es sentar las bases técnicas, fortalecer las habilidades básicas y seguir aprendiendo para enfrentar más desafíos.