¿Cuál es la diferencia entre un ingeniero de pila completa y un ingeniero de software?

Hola

Desarrollador Full Stack Vs Ingeniero de Software:

Fuente: la respuesta de Shiva Kumar a ¿Cuál es la diferencia entre un desarrollador de pila completa y un desarrollador de software?

Entonces, si usted es un ingeniero de software listo para actualizar sus habilidades y asumir el desafío, primero veamos cuál es la principal diferencia entre un ingeniero de software y un desarrollador de pila web completa. ¿Qué es lo que necesita saber para destacarse del resto?

Un desarrollador web full stack es alguien que tiene conocimientos tanto de front-end como de backend. Están bien versados ​​en los lenguajes de programación necesarios para el desarrollo del lado del cliente. Saben cómo reescribir aplicaciones finales y API que impulsan el sitio web. Pueden trabajar con bases de datos, sistemas operativos y también pueden manejar actividades de gestión de proyectos. Básicamente, se sienten cómodos trabajando en todos los niveles de desarrollo de aplicaciones.

aprenda cómo convertirse en desarrollador web full stack.

Un ingeniero de software : por otro lado, es un programador de computadoras que desarrolla aplicaciones de software que se ejecutan en una computadora. Escriben el código usando un lenguaje de programación y lo prueban rigurosamente para asegurarse de que el software se ejecute sin errores y logre el objetivo deseado. Son especialistas en un solo nivel del desarrollo de aplicaciones.

Si es ingeniero de software, debe haber realizado algunos cursos de desarrollo para ampliar su conjunto de habilidades. Veamos cómo un curso de desarrollo web full stack difiere de otros cursos de desarrollo.

La mayoría de los cursos de desarrollo se centran en una capa particular de desarrollo de aplicaciones. Algunos se centran en el desarrollo front-end. En estos cursos, uno aprende idiomas como HTML y CSS que tratan con el aspecto frontal del sitio web que el usuario ve y experimenta. Esto permite al desarrollador crear contenido atractivo que proporciona una experiencia de usuario impresionante. Algunos otros cursos tratan los aspectos de back-end del servidor, la aplicación y la base de datos. Por el contrario, un curso completo de desarrollo web ofrece un paquete completo de conocimientos de front-end, back-end y bases de datos. Estos cursos preparan a los alumnos para trabajar de manera cruzada funcionalmente en la pila completa de tecnología.

Otras áreas para convertirse en Full Stack Developer:

Curso de desarrollo de la aplicación móvil Full Stack:

A medida que el uso de teléfonos inteligentes, se duplicará en los próximos 3 años, la demanda de desarrolladores de aplicaciones móviles para Android e iOS está en aumento. Si tiene un conocimiento fundamental de los lenguajes de programación, un curso completo de desarrollo de aplicaciones móviles puede prepararlo para una carrera brillante en este campo.

Este curso cubrirá todo, desde fundamentos básicos hasta variables, operaciones matemáticas, bucles, conceptos de OOP, colecciones, multiprocesamiento, base de datos y mucho más. Obtendrá experiencia práctica en el desarrollo de aplicaciones de juegos y aplicaciones de redes sociales. Aprenderá a usar el marco de aplicación Cordova para crear aplicaciones móviles dirigidas a múltiples plataformas con una sola base de código. Sabrá cómo acceder a las capacidades nativas de los dispositivos móviles con Cordova.

Se le enseñará sobre Bootstrap y Angular JS, luego puede aprovechar esas habilidades para convertirse en un experto en el uso de Ionic Framework. Aprenderá a usar el marco iónico para construir interfaces frontales elegantes, así como a implementar la lógica del lado del cliente y del servidor. Sabrá cómo escribir código de múltiples navegadores y dispositivos para crear aplicaciones móviles híbridas.

Si desea cambiar al desarrollo móvil, este curso lo hará consciente de todo el ciclo de vida desde la conceptualización, la creación de prototipos, el desarrollo hasta el lanzamiento final.

Curso completo de desarrollo de aplicaciones web Stack:

Los cursos completos de desarrollo de aplicaciones web están destinados a personas que desean ser expertos en el desarrollo de aplicaciones web. Este curso lo familiarizará con cada capa de la tecnología de software, incluida la tecnología de base de datos, el entorno del servidor web, los protocolos de red y la interfaz de usuario. Aquí aprenderá todos los conceptos fundamentales que necesita para desarrollar, probar e implementar su propia aplicación web de pila completa de principio a fin. A medida que aprenda los conceptos teóricos, realmente construirá una aplicación web de pila completa junto con el curso para que gane experiencia de trabajo de primera mano. También aprenderá cómo incluir características como la autenticación de usuario y las cuentas de usuario. Una comprensión básica de HTML, CSS y Javascript es un requisito previo para este curso.

Curso completo de marketing digital :

Si usted es propietario de un negocio y busca aumentar el tráfico a su sitio web o un aspirante a experto en marketing digital, este curso lo ayudará a dominar los conceptos de marketing estratégico y comprender las herramientas necesarias para crear una imagen de marca en el mundo digital. Aquí aprenderá sobre los diversos aspectos del marketing digital, incluida la optimización de motores de búsqueda, marketing en redes sociales, marketing por correo electrónico, marketing en Facebook, marketing en Twitter, marketing en Youtube, redacción de textos publicitarios, WordPress, Google Analytics y Adwords. Aprenderá cómo desarrollar estrategias y utilizar estas técnicas para aumentar el tráfico, generar clientes potenciales y hacer crecer cualquier tipo de negocio.

Se supone que las personas de pila completa son las que pueden intervenir en todas partes en la pila …

Entonces, ¿qué es una pila?

Es realmente raro que la pieza de software en la que está trabajando simplemente funcione en una computadora. Hoy en día, la mayoría de las veces interactúa con otros componentes:
Una base de datos
Una API distante (Make it REST, SOAP …)
Un sistema de archivos distribuido

Ser full stack significa que tienes conocimiento para instalar, mantener e implementar soluciones en cada parte de esto.

Bueno, yo sé SQL, algunos [pon tu lenguaje de programación aquí] ¿me hacen una pila completa?

No.
Con solo esas 2 habilidades, solo eres un desarrollador. Podrá reclamar su título completo de pila cuando podrá hacer recomendaciones sobre el servidor que aloja la base de datos, desde su instalación hasta su concepción y su implementación. Comprenda claramente cómo configurar el servidor de base de datos para hacerlo más eficiente.

El servidor SQL es solo un ejemplo, este principio se puede aplicar a todos los componentes que viven en su pila.

Hmm, espera, no puedo dominar todos esos temas para todas las pilas, ¿cuál es el problema?

Exactamente. Es por eso que cuando se refiere a un desarrollador de pila completa, generalmente invoca la pila:
“Estamos buscando un Desarrollador Full Stack NodeJS / Express / MongoDB / Nginx”. Con esto podemos decir que usted es un desarrollador de pila completa para esta pila específica.

Espero que esto ayude.

En mi opinión, un programador de pila completa es un tipo de ingeniero de software. La pila completa se refiere a las diversas capas lógicas de una aplicación basada en red. Estas capas difieren de una aplicación a otra. Para una aplicación basada en Internet, podría ser el nivel web, el nivel de servicio y el nivel de datos. La pila también se refiere a las tecnologías involucradas. Es posible que haya oído hablar de MEAN y antes de esa LÁMPARA. MEAN y LAMP generalmente se refieren a Mongo DB, Express, Angular, Node y Linux, Apache, MySql y PHP.

Un ingeniero de software podría referirse a un programador de pila completa o un ingeniero de DevOps o un programador que implementa tuberías de análisis de datos (Hadoop, Spark, ETL, NoSql) o cualquier otro tipo de programadores que no realizan programación centrada en el cliente basada en la red. En pocas palabras, los ingenieros de software trabajan en todo tipo de aplicaciones, no solo en la pila completa.

Por último, la pila completa implica que el programador no es solo un programador de nivel web o respaldado, sino que está familiarizado con la tecnología en todas las capas de la pila.

¿Quieres la versión simple de esto?

Full stack solo se usa en el contexto del desarrollo web, por lo que abordaré la pregunta de ese tema.

Para simplificar las cosas, un sitio web tiene dos partes simples para identificar. Hay una parte que se ejecuta en su computadora (javascript, CSS y Html con un billón de marcos que intentan evitar la basura de javascript), luego hay una parte que funciona en una computadora extranjera.

Los desarrolladores front-end trabajan en la parte que se ejecuta en su computadora. Se ocupan del hecho de que su abuela podría estar en el sitio web ahora mismo usando Internet Explorer 7 en una PC de hace una década, pero al mismo tiempo, el lado comercial exige que la página se vea y se comporte EXACTAMENTE como el diseño que pagaron a pesar de ser algo de un graduado de arte sueña con lo que puede ser una página web.

Los desarrolladores de backend trabajan en las partes que se ejecutan en sus propias computadoras llamadas servidores para que las normas no puedan comprender lo que están haciendo (o las computadoras alquiladas, esto se llama la nube. Eso es cuando no quieres que la gente de negocios comprenda lo que lo están haciendo.) Se ocupan del hecho de que los detalles de su tarjeta de crédito y cosas por el estilo TODAVÍA se almacenan en soluciones de datos prehistóricas bien diseñadas (para su época) o en soluciones de datos nuevas terriblemente diseñadas que el CTO implementó en su garaje después de la unidad.

Los desarrolladores de pila completa hacen ambas cosas. Sencillo. Ahora prácticamente hablando:

En realidad, casi todos los desarrolladores tienen la capacidad de ser full stack. Y, de hecho, en las empresas más pequeñas, casi todos están fuera de la necesidad. Nadie tiene dinero ni tiempo para contratar a dos personas para hacer dos cosas bien cuando puedes contratar a una persona para hacer un trabajo a medias en la mitad del tiempo.

En grandes empresas estructuradas, puede ser front-end o back-end, principalmente debido al desdén por trabajar por la otra parte y por haberse afianzado en un rol que no tiene que lidiar con eso.

Para mí, un desarrollador Full Stack es alguien con familiaridad en cada capa, si no dominio en muchas y un interés genuino en toda la tecnología de software. Los ingenieros de software aplican los principios y técnicas de la informática, la ingeniería y el análisis matemático al diseño, desarrollo, prueba y evaluación del software y los sistemas que permiten que las computadoras realicen sus múltiples aplicaciones.

Se espera que un ingeniero de pila completa pueda trabajar en cualquier capa de la pila de software y sea bastante bueno en eso.

Si ve a alguien anunciando uno, espere que esté dentro de un presupuesto y no quiera contratar a mucha gente para realizar diferentes trabajos. Son lo que se llama en la jerga de recursos humanos “Ardillas Púrpuras”.

Por ejemplo, si se trata de un trabajo de LAMP, esperan que pueda hacer todo LAMP: Linux, Apache, MySQL, PHP.

En general, si están buscando un “Ingeniero Full Stack”, esperen que se les pida que hagan todo, que no tengan muchas personas que lo ayuden y que se les pague en equidad, en lugar de un salario alto. Probablemente esté construyendo un prototipo en una startup, o trabajando en una empresa que no se dedica principalmente a la informática y, por lo tanto, no comprende que no se trata simplemente de “escribir mucho”.

Si solo escribe código, es un desarrollador. Puedes ser full stack o de otra manera.

Si diseña sistemas a gran escala que trabajan juntos para resolver un problema, usted es un ingeniero de software.

Es una mentalidad.