¿Qué tecnologías tienes que aprender para ser un desarrollador full stack?

Gracias por la A2A

Un desarrollador web Full-Stack es alguien que puede trabajar tanto en la parte frontal como en la parte trasera de una aplicación.

Entonces, lo que necesita aprender sería estos:

  1. Desarrollo front-end: una aplicación “front-end” es aquella con la que los usuarios de la aplicación interactúan directamente.
  2. Desarrollo back-end: una aplicación o programa “back-end” sirve indirectamente en apoyo de los servicios front-end, generalmente al estar más cerca del recurso requerido o tener la capacidad de comunicarse con el recurso requerido.

Para desarrolladores front-end,

  1. HTML / CSS: son imprescindibles ya que forman la base básica de los sitios web
  2. JavaScript: es el único idioma que se ejecuta de forma nativa en el navegador y también puede duplicarse como lenguaje del lado del servidor (como verá a continuación con Node.js).
    1. Comprende cómo trabajar con el DOM. También sepa qué es JSON y cómo manipularlo.
    2. Características importantes del lenguaje como composición funcional, herencia de prototipos, cierres, delegación de eventos, alcance, funciones de orden superior.
    3. Control de flujo asíncrono, promesas y devoluciones de llamadas.
  3. JS Frameworks : esto es algo opcional para aprender, pero ayudan en:
    1. Velocidad
    2. Código limpio y bien probado
    3. Gran apoyo de la comunidad si alguna vez tienes problemas

Para el desarrollo de back-end, debe aprender cualquier lenguaje de script del lado del servidor como:

  1. PHP
  2. El sitio oficial de Microsoft ASP.NET (C # O Visual Basic)
  3. C ++
  4. Java y JSP
  5. Pitón
  6. Ruby on Rails y demás.

También necesita saber acerca de las bases de datos (bases de datos SQL como MySQL o PostgreSQL y un desarrollador necesita saber sobre bases de datos noSQL como MongoDB, Redis o Cassandra), sin mencionar las bases de datos de gráficos como Neo4j.

Debe elegir entre ellos según el caso de uso.

También hay varias soluciones remotas como el RestDB tipo Mongo o Firebase propiedad de Google, etc.

¿Estás hablando de un desarrollador web de pila completa o un ingeniero de pila completa?

Si está hablando de web / dev de pila completa, entonces debe sentirse cómodo con la pila LAMP completa o la pila MEAN. Debe comprender cada nivel de arriba a abajo.

Si está hablando de un ingeniero de software de pila completa, necesitará saber mucho más. Estos son los tres pilares que me enseñaron en Holberton (Holberton School of Software Engineering en San Francisco)

1. programación de bajo nivel (usando el lenguaje C)

2. programación de alto nivel (usando la pila LAMP)

3. administración del sistema y dev / ops

Los tres pilares están sobre temas arqueados, que incluyen piezas mucho más complejas debajo. Pero le da una idea de la amplitud de comprensión que necesita tener si va a llamarse a sí mismo un ingeniero de software de pila completa.

Respuesta corta:

Todo…

Respuesta un poco más larga:

Desarrollo de front end y back end. Necesitará aprender HTML y CSS sin importar qué, pero también necesitará un lenguaje como Javascript para UX.

Para la parte de fondo, aprenda ingeniería de bases de datos. Lenguajes como MySQL y Java pueden ir de la mano.

Un desarrollador de pila completa no es alguien que haya dominado cierto lenguaje o algo. Un desarrollador de pila completa es alguien bien redondeado. Alguien que tenga la HABILIDAD de desempeñarse bien en el desarrollo front-end y back-end.