¿Qué debo aprender primero para convertirme en un desarrollador web back-end?

Los desarrolladores web de backend procesan principalmente el trabajo del lado del servidor. Intentaré enumerar los posibles pasos para convertirse en un desarrollador web de back-end.

Elija un idioma y un marco: no puede dominar todo a la vez. Por lo tanto, es importante elegir un lenguaje de programación como Python, PHP, Ruby, JavaScript y, posteriormente, elegir un marco sobre él. Como ya conoce un Front-end, debe estar familiarizado con la programación y los conceptos básicos de JavaScript.
Creo que los marcos de back-end que están en tendencia en 2017 son
Django – Construido sobre Python
Laravel – Construido sobre PHP
Ruby on Rails : lo has adivinado bien, está construido en Ruby
NodeJS : no es un marco, es más un entorno construido en JavaScript.

Espero que ya esté familiarizado con los fundamentos de la programación, por lo que solo necesita pasar un tiempo aprendiendo la nueva sintaxis. Si conoce un lenguaje de programación, se vuelve más fácil aprender otros nuevos. Solo necesita verificar la sintaxis, el resto de la lógica seguirá siendo la misma.

  1. Aprenda los fundamentos de programación y los conceptos básicos del lenguaje . Espero que ya esté familiarizado con los fundamentos de programación, por lo que solo debe dedicar un tiempo a aprender la nueva sintaxis. Si conoce un lenguaje de programación, se vuelve más fácil aprender otros nuevos. Solo necesita verificar la sintaxis, el resto de la lógica seguirá siendo la misma.
  2. Estructura de datos y algoritmo: es enorme. Esa es la razón principal por la que la mayoría de los desarrolladores omiten este paso y saltan al marco de aprendizaje. Le recomiendo estrictamente que revise sus estructuras de datos básicas y sus habilidades algorítmicas. No necesita ser experto, pero debe comprender los algoritmos de Pila, Cola, Lista enlazada, Árbol, Gráfico, Hashing, Clasificación y búsqueda, etc.
  3. Conceptos básicos del marco : según el marco que haya elegido,
    puedes aprender los conceptos básicos de ese mismo marco. La mayoría de ellos siguen el mismo principio MVC (Modelo-Vista-Controlador).
  4. Base de datos : si no tiene experiencia en informática, debe dedicar un tiempo a aprender el concepto básico de la base de datos.
  5. AWS: implementación en el servidor: implemente su producto en el servidor. Puede usar cualquier servidor gratuito para esto. Obviamente, AWS será la primera preferencia. Proporciona 1 año de alojamiento GRATIS * (uso limitado).

Puede hacer certificaciones de MOOC como Hay tantas opciones disponibles en línea para comenzar su aprendizaje. Pero si está buscando comenzar su carrera en este dominio en particular, entonces diría que puede ir a las plataformas mencionadas a continuación:

  1. Udacity: proporciona aprendizaje en línea pero cobra una gran cantidad por lo mismo.
  2. edWisor.com esta plataforma es uno de esos lugares donde no solo adquieres habilidades en Android, sino que también eres contratado por empresas para realizar prácticas remuneradas / a tiempo completo.
  3. Edureka (empresa): una plataforma en línea donde se aprende de video conferencias.

Si bien tiene una variedad de lenguajes y marcos para elegir, una pieza común y muy importante, en mi opinión, para aprender es la arquitectura de la base de datos. Todos los back-end manejan bases de datos, aprenden cómo funcionan, qué es la “normalización”, etc.

En segundo lugar, muchos back-end requieren alguna interfaz además de servir páginas de clientes. Obtenga información sobre cómo implementar un servicio web SOAP, así como interfaces RESTful.

Luego, en general, aprenda sobre enrutamiento, seguridad (HTTP vs HTTPS), dominios, subdominios y, por supuesto, elija servidores web como Apache. La configuración de un servidor web es crítica, así como problemas complejos como el equilibrio de carga, etc.

También podría querer aprender sobre el comercio electrónico si está buscando trabajar en un sitio web con una “tienda”.

En mi opinión, suponiendo un conocimiento previo del paradigma orientado a objetos, una combinación de diseño de base de datos y práctica de desarrollo utilizando más de un DBMS con conocimiento práctico de patrones orientados a objetos lo ayudará a:
1. Obtenga una mente entrenada para aplicar con éxito la abstracción.
2. Aplicar criterios para identificar las responsabilidades de clase, identificar patrones y elegir la ubicación correcta para cada pieza de funcionalidad.
3. Aplique la optimización de SQL en el código predeterminado de ORM.

Con estos fundamentos sólidos, estará mejor capacitado para lidiar con la complejidad y podrá construir código eficiente y claro utilizando cualquier lenguaje de programación.

Además de la respuesta de Marc, que proporciona una base sólida para el componente DevOps, simplemente sugeriré un lenguaje ampliamente utilizado como Java o C, y quizás Python en segundo lugar.

  • Los dos primeros dominan la industria, están bien documentados (muchos recursos de aprendizaje gratuitos) y le permitirán aprender muchos paradigmas dentro de un solo vocabulario.
  • Python también, porque también es bastante popular en estos días y es útil tanto como lenguaje de modelado / creación de prototipos (más rápido para esbozar un método o programa en python que en cualquiera de los dos anteriores, a menudo), así como tiene un sólido soporte de ciencia de datos.

Si desea comenzar a ejecutar, sugiero PHP 7 . Debe ser la versión 7+. Este lenguaje se dirige específicamente al procesamiento web de back-end y, cuando se usa junto con el servidor web Apache, tiene un gran impacto.

  • PHP es fácil de aprender.
  • Tiene una gran comunidad útil.
  • Está orientado a objetos.
  • Con toneladas de bibliotecas y marcos gratuitos. Mi marco favorito es Slim, que es un marco RESTful ligero.

Gods of the machine lo ayuda si necesita usar SOAP, pero PHP admite este protocolo anticuado si se ve obligado a usarlo.

Supongo que hay mucho que aprender, y depende de tu punto de partida. Pero puede valer la pena comprender TCP, HTTP y otros protocolos, así como los conceptos básicos de html.

Debes aprender lo que sea más interesante para ti. No hay camino de principiante a profesional. ¡Tienes que hacer tu propio camino! Y esa es la mitad de la diversión.