¿Qué significa el término “programador de pila completa”? ¿Cuáles son los rasgos definitorios de un programador de pila completa?

Un desarrollador de pila completa es capaz de realizar tareas en cualquier nivel de la pila técnica en la que reside. Significa:

  • Trabajar con la infraestructura de sistemas (saber qué hardware pedir, qué sistema operativo instalar, cómo preparar el sistema y las dependencias para todo el software)
  • Comprender, crear, manipular y consultar bases de datos
  • Código API / back-end en uno o más idiomas, por ejemplo, Ruby, Java, Python, etc.
  • Código de front-end en uno o más idiomas, por ejemplo, HTML, JavaScript, Java, etc.
  • Gestión del proyecto / trabajo del cliente, por ejemplo, reunir requisitos, crear especificaciones técnicas y documentos de arquitectura, crear buena documentación, gestionar una línea de tiempo del proyecto (por ejemplo, alguien que conozca Agile / SCRUM / Kanban)

En general, un desarrollador de pila completa tiene un conocimiento de una milla de ancho , pero no necesariamente muy profundo, y tiene competencias centrales en las piezas de la pila en las que trabaja más.

En mi trabajo tengo competencias básicas en Linux (Debian, CentOS, Amazon Linux), diseño, manipulación y consulta de bases de datos (PSQL y MySQL), tecnologías de back-end (Java, Ruby y Python), y algunos diseños front-end (HTML, vainilla JavaScript y jQuery), además de actuar como SCRUM-master y liderar el desarrollo ágil para mi equipo, interactuando con clientes internos y externos a la empresa para reunir requisitos, ejecutar tareas y documentar todos los esfuerzos.

Por lo general, estas habilidades se desarrollan a lo largo de muchos años en el contexto de diferentes trabajos, por lo que, como Ian mencionó, ser un desarrollador de pila completa significa ser empujado fuera de su zona de confort para aprender constantemente nuevas habilidades.

*EDITAR*

¡GUAUU! 103.4k vistas !! Chicos, ¡por favor, no duden en contactarme directamente!

Un desarrollador de pila completa es simplemente un desarrollador que puede trabajar en ambos extremos del proceso de desarrollo. Para decirlo de otra manera, son como médicos de atención primaria en medicina. Dejame explicar.

Fuente: George Clooney Nod GIF – Buscar y compartir en GIPHY

Al igual que el desarrollo de software, su cuerpo tiene cosas que interactúan directamente con el mundo exterior (como la piel) y cosas que no (sus órganos internos). Los dermatólogos y cirujanos plásticos se ocupan del exterior. Estos son como sus desarrolladores front-end. Cardiólogos y gastroenterólogos se ocupan de sus entrañas. Estos son como sus desarrolladores de back-end. Un médico de atención primaria puede ayudarlo tanto con un problema de la piel como con una infección estomacal. Estos son sus desarrolladores de pila completa.

En otras palabras, un ingeniero de pila completa puede hacer un poco de todo. ¿Eso significa que son los mejores en ambos? No necesariamente. Aquí hay algunos rasgos que son comunes a todos los desarrolladores de pila completa:

Pueden funcionar tanto en el front-end como en el back-end

Esto puede significar que tienen una amplia comprensión de una variedad de lenguajes y arquitecturas, pero también puede significar que simplemente pueden usar el mismo lenguaje para el front-end y el back-end (por ejemplo, Python con el marco Django)

Pueden ver si un problema se resolvería mejor en el front-end o el back-end

Dado que tienen experiencia con ambos extremos del proceso de desarrollo, tienen una mejor idea de las soluciones en ambos extremos. Esto significa que tienen una mejor idea de lo que es posible en ambos extremos del desarrollo y si un problema sería resuelto mejor por el equipo de front-end o el equipo de back-end. Su perspectiva global también puede convertirlos en buenos gerentes y líderes de equipo.

Fuente: Ser un desarrollador Full Stack – SitePoint

Son flexibles

Debido a que son generalistas, significa que pueden y se pueden poner en un proyecto front-end o back-end según sea necesario. Esto es particularmente útil en un pequeño equipo de desarrollo donde no hay suficientes recursos para tener personas en roles especializados.

Si bien esta no es una lista exhaustiva, es fácil encontrar más información sobre diferentes roles de desarrollo.

Significa que el titular del título es cómodo y competente para trabajar en todas las pilas web. También significa que es un desarrollador experimentado que ha estado en la industria el tiempo suficiente para acumular el conocimiento que necesita para asumir ese papel.

Pero Fullstack no se trata solo de saber cómo codificar en Frontend y Backend. También incluye:

  • Gestión de proyectos y liderazgo de equipo.
  • Creación y uso de API.
  • Saber documentar adecuadamente un proyecto.
  • Tener experiencia en la industria y conocer sus entresijos.
  • Conocer y comprender el hardware y qué funciona con qué.
  • Escribir código optimizado y saber cuándo sacrificar la optimización en aras de la comprensión.
  • Creación, manipulación y consulta de bases de datos.

Muchas personas se autodenominan desarrolladores Fullstack sin saber lo que implica ese título, y terminan vendiéndose a sí mismos y eventualmente despedidos por todas sus deficiencias.

Es un título pesado, las expectativas serán altas y las responsabilidades aún más altas. Pero para las personas que han desarrollado sus habilidades a lo largo de los años y confían en su capacidad de entrega, es como una medalla de honor o cicatrices de guerra. Muestra que sobreviviste los primeros años y que ahora eres un veterano hastiado.

Full-stack es un término bastante vago en la industria tecnológica. Hay formas en que las personas lo usan. El primero es una especie de bastardización, y debilitar el término.

1- Escuchará a las personas referirse a sí mismas como full-stack porque pueden hacer desarrollo tanto front-end como back-end. Si bien esta es una habilidad muy útil (y si puede hacer ambas cosas, es muy valioso en la industria), no representa completamente lo que significa full-stack. Lo que me lleva a la segunda versión del término …

2- Full-stack realmente se refiere a la ‘pila’ de todo, desde la programación de bajo nivel, la administración del sistema y mucho más, hasta ese nivel superior, front-end, desarrollo web, cosas. Hay mucho más en el medio, pero la idea es que si eres un desarrollador de pila completa, tienes la capacidad de trabajar en cualquier parte de la pila. Digamos que está trabajando en un proyecto front-end (un usuario interactúa directamente con el producto final, es decir, un sitio web o una aplicación), y encuentra un error. Después de algunas depuraciones, se da cuenta de que el error no está realmente en su código, sino en la lengua en la que está utilizando para escribir su código. Teóricamente, podrías no solo corregir un error en tu código, sino también un error en la lengua. Esto significa que los desarrolladores de pila completa tienen que pensar creativamente y fuera de la caja. No solo pueden confiar en conocer un aspecto o marco específico, sino que pueden trabajar de manera fluida entre múltiples. Un desarrollador de pila completa bien entrenado tiene una base realmente sólida en la programación de fundamentos, y puede aprender fácilmente nuevos lenguajes, tecnologías o marcos. Quiero aclarar que un desarrollador de pila completa puede especializarse en un área específica, pero conocer solo un área de una tecnología no es lo suficientemente bueno para un desarrollador de pila completa. Siempre hay más para aprender, y nunca podremos aprenderlo TODO, pero es importante cómo interactúa cada pila, de modo que cuando esté trabajando en el desarrollo de un nuevo marco o aplicación móvil, tenga una idea de qué errores podrían aparecer que podrían poner en peligro la seguridad, o algo así.

Consideraría a los desarrolladores fullstack un poco más de lo que se enumera aquí.

– Tienen un cerebro creativo capaz de crear experiencias digitales, expertos en HTML5, CSS3, Javascript.
– Y uno lógico, experto en Ruby on Rails o PHP.
– Y una propensión loca por los detalles con habilidades en tecnologías de bases de datos como MySQL, NoSQL, Hadoop.

Debido a esto, los desarrolladores de stack completo a menudo son buenos arquitectos de soluciones, capaces de buscar en todo el stack de tecnologías para desarrollar excelentes aplicaciones web escalables y sólidas. Son raros, si encuentras uno, haz algo que puedas hacer para aferrarte a ellos.

Un programador de pila completa es una persona que se siente cómoda trabajando con todas las tecnologías necesarias para tener una idea de un producto terminado. Este chico está familiarizado con todas las capas del desarrollo de software.
Tiene un conocimiento justo de redes, bases de datos, interfaz de usuario, API, seguridad, etc.
No necesita estar bien versado en todas las tecnologías utilizadas en front-end y back-end, lo que es casi imposible. Claramente, esto lleva años de experiencia.
En general, las nuevas empresas y las empresas con recursos limitados siempre están en busca de ese héroe. Pero las posibilidades de encontrar a esas personas son muy débiles.

El desarrollo de software / sitio web se puede clasificar en,

Front-end : HTML, Javascript, CSS, etc.
Back end : Java, PHP, ASP.NET / C # .NET, Ruby, etc.
Base de datos : Microsoft SQL Server, MySQL, Oracle, etc.

Entonces, por definición, un desarrollador que trabaja en front-end es un desarrollador front-end y un desarrollador que trabaja en back-end es un desarrollador back-end.

Los desarrolladores front-end son responsables de la interfaz de usuario de un sitio web y de la arquitectura de la experiencia del usuario. Trabajan en estrecha colaboración con los diseñadores para construir y mejorar la interfaz de usuario de un sitio web. Un buen desarrollador front-end puede identificar con precisión problemas específicos en la experiencia del usuario y proporcionar recomendaciones y soluciones de codificación para mejorar el diseño.

Los desarrolladores de back-end generalmente manejan el servidor y los datos . Su trabajo es crear una aplicación y también diseñar / implementar su interacción con el servidor y la base de datos. Manipulan datos y también trabajan con API públicas y privadas. Un buen desarrollador de servicios de fondo debe tener un conocimiento sólido de Linux / Windows como sistema de desarrollo e implementación; él / ella también debe tener información sobre diferentes sistemas de control de versiones como GIT / SVN .

Esta era la posición especializada de los desarrolladores. Pero a medida que los requisitos continuaron volviéndose más complicados y ambiciosos, algunas personas estúpidas comenzaron a construir marcos y bibliotecas auxiliares. JQuery es el ejemplo más común, hizo que el desarrollo de JavaScript en el navegador sea significativamente más fácil, otros ejemplos son AngularJs, Knockout, Backbone, EmberJs . Hubo cambios similares en las tecnologías de back-end, como Zend, Symfony, CakePHP para PHP y CodeIgnitor para Ruby on Rails y PHP . Por lo tanto, hoy en día los navegadores se han vuelto más capaces y los marcos se están volviendo excesivamente poderosos.

Esto encendió la aparición de desarrolladores fullstack que desdibujaron las líneas entre los desarrolladores front-end y back-end. Las nuevas empresas jugaron un papel importante para popularizar este papel. Estos desarrolladores son profesionales de todo tipo y maestros de algunos . Proporcionan un paquete completo y pueden funcionar funcionalmente en una pila de tecnología completa para una empresa. Esta es una situación de beneficio mutuo tanto para un individuo como para una empresa. Para un desarrollador individual, agrega habilidades sólidas en su currículum vitae, una experiencia de aprendizaje sólida está en la tienda, además, pueden trabajar en algunas cosas estúpidas y desafiantes, pero a veces el trabajo de un desarrollador fullstack puede ser muy complejo y exigente.

Publicado originalmente en: ¿Quiénes son los desarrolladores de Fullstack? – Jaydeep Trivedi

¡Espero que esto ayude! Y suscríbase a mi blog para obtener más información. 🙂

En la mayoría de las situaciones de software, hay varias piezas en el rompecabezas
– no solo el idioma, sino la plataforma, el servidor de aplicaciones,
capa de persistencia, etc. El conjunto completo de plataforma / lenguaje / datos
La persistencia / bibliotecas / frameworks / etc que usa es la pila.

Un ejemplo común es la pila LAMP: Linux, Apache, MySQL, PHP.

Tenga en cuenta que, en el acrónimo LAMP original, la “M” representaba un par
diferentes nombres de bases de datos que comenzaron con M. Actualmente, la base de datos
puede ser cualquiera de una serie de bases de datos, aunque MySQL, a pesar de todos sus defectos, es
Probablemente sigue siendo el más popular. Del mismo modo, la “P” significaba Perl,
PHP o Python.

La palabra “apilar” significa capas, es decir, cada pieza del
La tecnología se basa en la anterior. Como todas las metáforas, esto es
imperfecto, pero supongo que nadie quería llamarlo “conjunto”, “paquete” o
“suite”.

La “pila” también incluye, por supuesto, HTML y tecnologías relacionadas.
(actualmente CSS, Javascript, JQuery, etc.).

Por lo que recuerdo, “LAMP” ganó un uso común en la red, y
la frase más común fue “servidor LAMP”.

Webpoedia afirma que LAMP fue originalmente acuñado por “Michael Kunze en el
Revista alemana c’t en 1998 “. Ese momento parece correcto.

“Stack” salió de los trapos comerciales como grandes jugadores como Sun, IBM y
Oracle comenzó a vender conjuntos de productos destinados al mercado de aplicaciones empresariales (en su mayoría orientados a Java, aunque las versiones iniciales de algunos de esos conjuntos eran envoltorios finos de Java alrededor de aplicaciones C existentes, como DB2, MQSeries, etc. de IBM). Finalmente, la gente comenzó a referirse a la “pila LAMP”.

Una frase que puede ver ocasionalmente es “solución de pila completa”, donde algunos
herramienta o marco afirma tener todas las piezas del rompecabezas.

Otro es “desarrollador de pila completa”, es decir, alguien que afirma
experiencia en todas las diferentes piezas.

Nota: Hace poco leí un artículo en el que alguien afirmaba que el “programador de pila completa” salió del mundo de los devops, lo que significa alguien que podría trabajar en el desarrollo de la aplicación, la implementación y la administración del sistema. No estoy seguro de estar de acuerdo con esto, pero debería incluirlo aquí para su consideración.

Desarrollador Full Stack!

Considere a un jugador que puede jugar hacia adelante, defensa, centro del campo y algún tiempo jugar como arquero. Un Desarrollador Full Stack ideal conoce todos y cada uno de los elementos, incluidos hardware, front-end, back-end, servidores, bases de datos, gestión de proyectos y coordinación de clientes, etc. Sí, será un jugador a tiempo completo en cualquier área que elijamos. Por lo tanto, el desarrollador de Full Stack tendrá una comprensión justa de todos los sistemas y es posible que no esté en todas las capas, sino en el nivel de operación.

Con el paso de los años, el Desarrollador Full Stack desarrollará un profundo conocimiento de los sistemas en los que trabaja y se perfeccionará para obtener más información. Cuanto más trabajas, más aprendes. Sí, su experiencia es clave y ayudará a actualizar nuevas habilidades.

Como dijo Ian Peters-Campbell, A Full Stack Developer es un “mago técnico que canta y baila”.

El desarrollo completo de Stack podría iniciarse con recursos en línea. Algunos programas populares en línea se pueden encontrar en Udacity , Coursera, Thinkful, General Assembly, Lynda, Edx y mucho más. Comience con lo básico y póngase en contacto con mentores. Esto aumentará su confianza y conocimiento. Hay varias escuelas y colegios que se centran en el curso de desarrollador Full stack. Póngase en contacto con el alumno y entienda el impacto de estos cursos en su carrera. Es aconsejable ver el plan de estudios y los diferentes estilos de educación que los estudiantes reciben capacitación. Podría recomendar es la escuela Holberton . Podrías aprender de los maestros que ya han colocado y entrenado a estudiantes para varias multinacionales. Feliz aprendizaje y buena suerte.

Significa una persona que puede trabajar con bases de datos, servidores, ingeniería de sistemas y trabajo del cliente. Dependiendo de qué tipo de cliente se necesite, esto puede significar una pila móvil, una pila web o aplicaciones nativas.

Básicamente, cuando las personas piden un programador de pila completa, buscan al mago técnico que canta y baila. O al menos alguien que no se quejará demasiado cuando se le pida que haga un trabajo fuera de su zona de confort normal.

Hola,

El desarrollo completo de la pila se refiere al desarrollo de las partes frontal y posterior de una aplicación. Este proceso de desarrollo web involucra las tres capas: capa de presentación (parte frontal que se ocupa de la interfaz de usuario), capa de lógica de negocios (parte posterior que se ocupa de la validación de datos) y la capa de base de datos. Se encarga de todos los pasos desde la concepción de una idea hasta el producto final real.

Tener un trabajo especializado en cada uno de los diferentes subsistemas del proceso de desarrollo web resulta bastante complejo y costoso. Las empresas exigen desarrolladores de pila completa que sean competentes en trabajar en varias pilas.

Definición de desarrollador web completo de pila :

Un desarrollador de pila completa tiene el conocimiento funcional y la capacidad de trabajar en todos los aspectos involucrados en la construcción de una aplicación . Él es competente en

  • Escribir código front-end optimizado en HTML, Java, JavaScript
  • Creación y uso de API y escritura de código de fondo en Ruby, Python / Java
  • Trabajar con la infraestructura del sistema, incluido el hardware y el sistema operativo
  • Redes, seguridad
  • Comprender, crear y consultar bases de datos
  • Gestión de proyectos y coordinación de clientes.

Por lo tanto, un desarrollador de pila completa puede desarrollar estrategias para cada parte del proceso de desarrollo web. Desarrolla este profundo conocimiento de los sistemas a través de años de experiencia trabajando en este campo. Por lo tanto, un desarrollador de stack completo es nada menos que un veterano que tiene altas responsabilidades. Tales habilidades son difíciles de reunir y las personas que poseen estas habilidades tienen una gran demanda en la industria.

Aunque la experiencia lo convierte en un experto en este campo, hay varios cursos que se pueden hacer para comenzar el viaje y convertirse en un desarrollador de pila completa. Aquí hemos enumerado los 4 cursos más populares en la pila completa. Siga leyendo para averiguar qué curso coincide con sus capacidades e intereses.

Curso de desarrollo web Full Stack:

Las empresas están buscando contratar desarrolladores web que sean expertos en todas las facetas del proceso de desarrollo web. Están buscando personas que puedan desempeñar diferentes roles, como un diseñador, desarrollador y especialista en bases de datos . Los especialistas en subsistemas individuales, como solo front-end o back-end, no pueden entender la imagen más grande de todo el sistema. Además, cuando varios expertos trabajan en el proceso de desarrollo, se vuelve complejo y requiere mucho tiempo. La coordinación y la estrategia también se convierten en un problema. Es por eso que los desarrolladores de Full stack son los más buscados por las empresas hoy en día. Aunque hay varios cursos que uno puede hacer para aprender diferentes tecnologías, estos cursos son solo algunas piezas del rompecabezas. Incluso después de aprender algunas de estas tecnologías, uno no entenderá cómo encajan estas piezas para completar el rompecabezas. Con un curso completo de desarrollo web , puede adquirir experiencia en múltiples tecnologías y también aprender cómo funcionan en sincronía entre sí. Estos cursos proporcionan una transición perfecta de un desarrollador simple a un desarrollador de pila completa. El desarrollador aprende a usar diferentes tecnologías para diseñar, desarrollar y lanzar el sitio web.

Un curso completo de desarrollo web le enseñará cómo diseñar y desarrollar sitios web completos de principio a fin. Aprenderá a trabajar en diferentes aspectos del desarrollo web, incluidos el front-end, el back-end, las bases de datos, la depuración, las pruebas, el control de versiones y otras tecnologías esenciales. Revisará cada uno de estos segmentos de manera paso a paso y obtendrá experiencia en cada uno de ellos. Los cursos cubren tanto el aprendizaje basado en la teoría como la aplicación práctica. Los proyectos en vivo brindan experiencia práctica para trabajar como desarrollador full stack.

Estas son algunas de las tecnologías más comunes en las que desarrollará experiencia en cada segmento.

  • Front-end: HTML, HTML5, JavaScript, J Query, CSS3
  • Backend- Ruby on Rails, PHP, Angular2, Node.js
  • Base de datos: MySQL, MongoDB, CouchDB
  • Depuración / Control de versiones: GIT, Grunt, Xdebug, Subversion

Básicamente, estos cursos comienzan con un conocimiento fundamental del desarrollo front-end. Aprenderá a usar HTML5, CSS3 para crear aplicaciones simples. Luego, aprenderá conceptos avanzados necesarios para crear diseños interactivos y receptivos. Con el conocimiento de tecnologías de back-end populares como Node.js y Ruby on Rails, se convertirá en un maestro en el desarrollo y la codificación de aplicaciones complejas del lado del servidor. También aprenderá cómo hacer un uso eficaz de la base de datos relacional y cómo proteger y configurar el servidor y las aplicaciones host. Explorará cómo implementar una serie de características avanzadas como notificaciones por correo electrónico, autenticación de usuarios y muchas más. Trabajar con servidores, realizar integraciones de bases de datos y solucionar problemas de desarrollo será pan comido.

Fuente:

¿Qué es Full Stack Web Developer, cómo convertirse? Una guía

Capas de la pila completa:

  1. Servidor, red y entorno de alojamiento. Esto implica comprender qué puede romperse y por qué, sin dar ningún recurso por sentado. El uso apropiado del sistema de archivos, el almacenamiento en la nube, los recursos de red y la comprensión de la redundancia y disponibilidad de datos es necesario. ¿Cómo escala la aplicación dadas las restricciones de hardware? sobre multihilo y condiciones de carrera? Adivina qué, no los verás en tu máquina de desarrollo, pero pueden y suceden en el mundo real. Los desarrolladores de stack completo pueden trabajar codo a codo con DevOps. El sistema debe proporcionar mensajes de error útiles y capacidades de registro. DevOps verá los mensajes antes que tú, así que haz que cuenten.

  1. Modelado de datos Si el modelo de datos tiene fallas, la lógica empresarial y las capas superiores comienzan a necesitar un código extraño (feo) para compensar los casos de esquina que el modelo de datos no cubre. Los desarrolladores de stack completo saben cómo crear un modelo relacional razonablemente normalizado, completo con claves externas, índices, vistas, tablas de búsqueda, etc. Los desarrolladores de stack completo están familiarizados con el concepto de almacenes de datos no relacionales y entienden dónde brillan sobre los almacenes de datos relacionales.
  2. Lógica empresarial El núcleo del valor que proporciona la aplicación. Aquí se necesitan habilidades orientadas a objetos sólidos. También se pueden necesitar marcos.
  3. Capa API / Capa de acción / MVC Cómo funciona el mundo exterior en contra de la lógica de negocios y el modelo de datos. Los marcos de trabajo a este nivel deben usarse en gran medida. Los desarrolladores de stack completo tienen la capacidad de escribir interfaces claras, consistentes y fáciles de usar. Las alturas a las que se enredan algunas API me repelen.
  4. Interfaz de usuario : Desarrolladores de pila completa: a) entienden cómo crear un diseño legible, ob) reconocen que necesitan ayuda de artistas y diseñadores gráficos. De cualquier manera, la implementación de un buen diseño visual es clave. Puede incluir el dominio de HTML5 / CSS. JavaScript es el lenguaje prometedor del futuro y se está haciendo mucho trabajo emocionante en el mundo de JavaScript (nodo, backbone, knockout …)

  1. Experiencia del usuario: los desarrolladores de Full stack aprecian que los usuarios solo quieran que las cosas funcionen. Un buen sistema no les da a sus usuarios el síndrome del túnel carpiano ni el dolor de ojos. Un desarrollador de pila completa puede retroceder y mirar un proceso que necesita 8 clics y 3 pasos, y reducirlo a un solo clic. Los desarrolladores de pila completa escriben mensajes de error útiles. Si algo se rompe, pídele disculpas. A veces, los programadores escriben mensajes de error sin darse cuenta que pueden hacer que las personas se sientan estúpidas.
  2. Comprender lo que el cliente y el negocio necesitan. Ahora nos estamos desdibujando en la línea de arquitectos, pero ese es un papel demasiado ajeno. Los desarrolladores de stack completo tienen una idea de lo que sucede en el campo cuando el cliente usa el software. También tienen una idea del negocio.

Podría responder a la pregunta qué significa la pila de tecnología (según el artículo Cómo decidir sobre la pila de tecnología que contribuye al éxito del proyecto )

¿Qué es la pila tecnológica?

En primer lugar, vale la pena considerar algunas nociones básicas. ¿Qué es una pila? Es una combinación de herramientas, como lenguajes de programación , marcos y demás, que se utilizaron al crear una solución móvil o web. A su vez, estas herramientas se dividen en front-end y back-end.

La diferencia entre el front-end y el back-end

Pila de tecnología frontal

El front-end es una parte visual de su producto. En otras palabras, todo lo que sus clientes pueden ver e interactuar mientras usan su solución se construye con la ayuda de diferentes conjuntos de stack front-end.

Hablando de soluciones web, hay algunas tecnologías básicas que tienen una variedad de marcos que, en ciertas circunstancias, hacen que un proceso de codificación sea más rápido, más fácil y más flexible.

La lista principal de tecnologías web incluye:

  • HTML
  • CSS
  • JavaScript

Sin embargo, tienen docenas de marcos. Por lo tanto, uno de los marcos basados ​​en CSS más populares es Bootstrap . El mundo de JS también está lleno de alternativas populares al lenguaje puro como Angular , React , Vue , jQuery y mucho más.

La definición actual de Full Stack es insuficiente cuando se trata de desarrolladores de IoT. Incluso pensamos en acuñar un término llamado pila profunda para reflejar los conjuntos de habilidades que necesitamos.

Esto es lo que haría un ingeniero de pila completa en IoTIFY.io:

  • Trabajar con Elasticsearch / Mongo / REDIS
  • Desarrolle models de dispositivos IoT y entrene ML con conjuntos de datos sintéticos
  • Desarrollar paneles para la demostración de análisis de IoT
  • Orquestar Docker / VM generados en el centro de datos en diferentes geografías.
  • Tratar con cargas de proxy inverso / ataques de amplificación de servidores DNS.
  • Mantenga una infraestructura de mensajería de alto rendimiento en AMQP
  • Pruebas de esfuerzo MQTT / CoAP / DTLS
  • Desarrollar servidores API internos y backend de Nodejs
  • Meteor frontend y backend
  • HTML5, interfaz de usuario para la aplicación, a veces incluso páginas de destino.
  • Programación integrada con Python / C ++
  • Depuración del kernel de Linux, escritura de nuevos controladores.
  • Simulación de sensores y actuadores con un rendimiento casi en tiempo real.
  • Depuración de errores I2C y USB.
  • Bitbanging en GPIO
  • Programación de microcontroladores.

Y posiblemente muchos otros.

Trabajar en startups de IoT amplía literalmente su horizonte tecnológico 100 veces más. Posiblemente podría ir a cualquier reunión de tecnología y discutir algunos temas sin parecer un novato.

El programador de pila completa tiene el conocimiento funcional y la capacidad de tomar un concepto y convertirlo en un producto terminado. Entienden cómo funciona todo de arriba a abajo. Pueden trabajar con bases de datos, PHP, HTML, CSS, JavaScript y todo lo demás. Un desarrollador de pila completa es alguien que está familiarizado y cómodo con todas las capas en el desarrollo de software.

Los desarrolladores de Full stack entienden cómo se lleva a cabo cada parte del proceso de desarrollo web y pueden guiarlos en estrategias y mejores prácticas. Estos desarrolladores tendrán un papel cada vez más importante en el desarrollo web del futuro y podrán ver el “panorama general”. Conocen el lado del servidor y la experiencia del usuario del lado del cliente.

El desarrollador web Full stack sabe todo sobre:

  • Servidor, red y entornos de alojamiento : esto implica comprender qué puede romperse y por qué; uso apropiado del sistema de archivos, almacenamiento en la nube y recursos de red; conocer la escala de la aplicación dadas las restricciones de hardware; y trabajando codo a codo con DevOps
  • Modelado de datos : esto implica saber cómo crear un modelo relacional razonablemente normalizado, completo con claves externas, índices, vistas, tablas de búsqueda, etc. estar familiarizado con el concepto de almacenes de datos no relacionales y comprender dónde brillan sobre los almacenes de datos relacionales
  • Lógica empresarial : tener habilidades sólidas orientadas a objetos
  • Capa API / Capa de acción / MVC : saber cómo funciona el mundo exterior contra la lógica de negocios y el modelo de datos; utilizando marcos; ser capaz de escribir interfaces claras, consistentes y fáciles de usar
  • Interfaz de usuario : comprender cómo crear un diseño legible; ser capaz de reconocer la necesidad de ayuda de artistas y diseñadores gráficos para implementar un buen diseño visual; usando HTML5 / CSS; usando JavaScript (nodo, backbone, knockout …)
  • Experiencia del usuario : puede retroceder y mirar un proceso que necesita siete clics y cuatro pasos, y reducirlo a un solo clic; escribir mensajes de error útiles
  • Necesidades del cliente y del negocio : tener una idea de lo que sucede cuando el cliente usa el software; tener una idea del negocio.

Para obtener más información, puede leer ¿Por qué contratar a un desarrollador de pila completa y cómo hacerlo correctamente?

No creo que el desarrollador de pila completa pueda ser “preciso” ya que es una palabra de moda que se convirtió en legítima. Entonces, cualquiera puede llamarse a sí mismo full-stack.

Creo que se usa comúnmente como móvil de pila completa (incluido el back-end del lado móvil y el back-end del servidor), o web de pila completa (incluido JavaScript / CSS / HTML y el lado del servidor web, pero generalmente no al backend profundo como servicios centrales).

¿Qué es un desarrollador Full stack?

El desarrollador de Full Stack es alguien que está familiarizado con diferentes capas de desarrollo.
Echemos un vistazo a esas capas que un desarrollador de Full Stack debería comprender y dominar:

  1. Servidor, red y entorno de alojamiento.
  1. Esto implica comprender qué puede romperse y por qué, sin dar ningún recurso por sentado.
  2. Es necesario el uso apropiado del sistema de archivos, el almacenamiento en la nube, los recursos de red y la comprensión de la redundancia y disponibilidad de datos.
  3. ¿Cómo escala la aplicación dadas las restricciones de hardware?
  4. ¿Qué pasa con los subprocesos múltiples y las condiciones de carrera? Adivina qué, no los verás en tu máquina de desarrollo, pero pueden y suceden en el mundo real.
  5. Los desarrolladores de stack completo pueden trabajar codo a codo con DevOps. El sistema debe proporcionar mensajes de error útiles y capacidades de registro. DevOps verá los mensajes antes que tú, así que haz que cuenten.
  • Modelado de datos
    1. Si el modelo de datos es defectuoso, la lógica empresarial y las capas superiores comienzan a necesitar un código extraño (feo) para compensar los casos de esquina que el modelo de datos no cubre.
    2. Los desarrolladores de pila completa saben cómo crear un modelo relacional razonablemente normalizado, completo con claves externas, índices, vistas, tablas de búsqueda, etc.
    3. Los desarrolladores de pila completa están familiarizados con el concepto de almacenes de datos no relacionales y entienden dónde brillan sobre los almacenes de datos relacionales.

    ¡Y aún hay más! necesitas revisar esta publicación: The Raise of Full Stack Developers lo describe bastante bien.

    Por lo general, cuando las personas hablan de un programador de pila completa, se refieren a un desarrollador web que puede trabajar tanto en backend como en frontend.

    En la década de 2000, no había mucha división entre frontend y backend. Las personas que crearon sitios web eran desarrolladores web: es lo mismo que el desarrollador de pila completa. Sin embargo, en la década de 2010, dado que las aplicaciones API First y Single page se han vuelto populares, la comunidad de desarrollo web se dividió en dos campos. El primer grupo trabajó con bases de datos, servidores, API REST o SOAP, y el otro con material visual. Mientras tanto, las metodologías de desarrollo de software ágil siguen siendo generalizadas. Una de las prácticas ágiles es un equipo multifuncional, lo que significa que cualquier miembro del equipo puede hacer cualquier parte del trabajo, ya sea diseño, análisis, pruebas o integración.

    Según mi experiencia, los desarrolladores front-end tienen una mayor demanda de nuevas empresas y aquí está mi respuesta por qué.

    La respuesta de Juri Vasilenko a ¿Por qué los desarrolladores front-end son tan demandados en las startups si el desarrollo front-end es relativamente más fácil que otros campos de la ingeniería?

    Sin embargo, algunas empresas de desarrollo que utilizan el enfoque ágil aún buscan desarrolladores completos que conozcan el ciclo completo de desarrollo web.

    Juri, CTO en Ramotion

    No hay necesidad de complicar la definición. Un desarrollador de pila completa es un desarrollador cómodo y competente para trabajar en la pila completa. Entonces, la respuesta se encuentra en la pregunta “¿Qué es la pila completa?”, Que es:

    • Diseño / Frontend / UX
    • Backend / Aplicación / Lógica empresarial
    • Sistema / Servicios / Arquitectura
    • Base de datos / almacenamiento
    • Red de comunicacion

    Junto con eso, la competencia probable en la gestión de proyectos.

    Esperaría que un desarrollador de pila completa comprenda cómo convergen todas esas piezas para crear una pieza de software y pueda aplicar esa comprensión.

    Tradicionalmente, las compañías tenían desarrolladores dedicados para los equipos de desarrollo frontend y backend para manejar cada parte de la aplicación individualmente.

    Un desarrollador front-end es un programador que tiene conocimientos de codificación para crear las funciones a las que el usuario final puede acceder directamente. Mientras que los desarrolladores de back-end tienen el conocimiento para construir la lógica funcional central y las operaciones de la aplicación.

    Pero cuando se trata de un desarrollo de pila completa , un programador de pila completa es aquel que tiene conocimiento tanto en las partes de front-end como de back-end de una aplicación.

    Fuente de la imagen: Andyshora.com

    Un desarrollador de pila completa tiene experiencia en todas las áreas de todo el proceso de desarrollo web, como desarrollo front-end, desarrollo back-end, hosting, servidor, api, interfaz de usuario, etc.

    Un desarrollador de pila completa es aquel que se siente cómodo para trabajar en todas las etapas del proceso de desarrollo. Estos desarrolladores poseen habilidades para trabajar con varios componentes que se incluyen en cada tipo de desarrollo que incluye bases de datos, HTML, JavaScript, CSS y mucho más.

    Un desarrollador de pila completa estará a cargo de toda la arquitectura de la aplicación y estará involucrado en todos los aspectos del proyecto. Un desarrollador de pila completa debe poder abordar el problema en cualquier nivel.

    Para decirlo en palabras simples, el desarrollo completo de la pila es una combinación del desarrollo front-end, desarrollo back-end, DevOps y diseño.