¿Qué debe saber todo desarrollador web de back-end?

¿Qué hace esencialmente un desarrollador de back-end?

Se asegura de que los servidores web, las bases de datos y las aplicaciones funcionen en armonía, lo que puede ser invisible para los usuarios finales.

¿Qué debe saber como desarrollador de back-end?

  • Conocimiento competente del lenguaje / marco de programación de back-end: MongoDB, Node.js, Ruby, Python, Java y .NET para ayudar a construir aplicaciones utilizando herramientas como MySQL, Oracle y SQL.
  • Comprensión de las tecnologías web front-end como HTML , CSS, JavaScript y Angular.js, etc.
  • Capacidad para administrar un entorno de alojamiento : administración de bases de datos y aplicaciones de escala para manejar cambios de carga.
  • Conocimiento de accesibilidad y cumplimiento de seguridad.

¿Dónde aprendo estas habilidades?

Hay cursos o campamentos de arranque y portales en línea disponibles para prepararlo para una carrera en el desarrollo de back-end.

Pero siempre le sugeriré que investigue y navegue por Internet antes de llegar a una conclusión.

Sin embargo, hay tres sugerencias para comenzar:

  • edWisor tiene una carrera profesional (habilidades mejoradas, proyectos en vivo, conocimiento práctico) que le ofrece una garantía de empleo después de aprender y adquirir las habilidades a su propio ritmo.
  • Udacity le ofrece un buen plan de estudios, nano títulos , certificaciones, asistencia laboral pero sin garantía de empleo.
  • Udemy ofrece buenas habilidades de aprendizaje, pero nuevamente se enfoca en dar a los candidatos solo certificados y sin garantía de empleo.

Nota: Los desarrolladores de back-end juegan un papel fundamental en los equipos de desarrollo web. Son responsables de manejar el almacenamiento de datos y garantizar que el contenido se entregue al front-end.

Los desarrolladores de back-end deberían conocer y comprender los patrones de diseño asíncrono [1] o los idiomas.

Los idiomas con asíncrono incorporado incluyen JavaScript / NodeJS, Go, Python 3 (o Twisted Python) y C # (con asíncrono / espera).

También recomiendo encarecidamente que elija un idioma con tipo de seguridad para cualquier proyecto no trivial. Eso excluye Python de mis recomendaciones anteriores y cambia JavaScript a TypeScript.

El problema con escribir todo su código sincrónicamente (como si estuviera obligado a hacerlo, digamos, PHP) es que depende del sistema operativo para el subprocesamiento múltiple. Esto tiende a poner de rodillas a un servidor con poca concurrencia. Como resultado, puede necesitar 50 veces más servidores con PHP que con, por ejemplo, Go, que puede manejar subprocesos asincrónicos con muy poco tiempo de ejecución o sobrecarga del desarrollador.

Notas al pie

[1] ¿Cuáles son los patrones de diseño de JavaScript conocidos para la programación asincrónica?

Todo depende de los servicios e idiomas que esté utilizando.
Por ejemplo, si va con No SQL, puede obtener AWS y nodejs.
AWS tiene muchas características que en realidad son fáciles de implementar.
AWS: servicios web de Amazon
Más – GraphQL, MongoDB.

Y, si planea ir a Relacional, comenzar con My SQL y PHP será de gran ayuda.

Después de todo, de todos modos puede aprender el idioma y la forma de las implementaciones. Lo importante son los patrones de diseño, las estructuras de datos, la forma correcta de resolver problemas, las mejores prácticas, etc.

Los buenos desarrolladores, ya sean back-end o de otro tipo, necesitan saber tres cosas:

  1. Cómo usar sus herramientas. Los buenos desarrolladores controlan su editor, su sistema de control de versiones, sus herramientas de prueba, etc. Los desarrolladores malos son controlados por sus herramientas. Para los desarrolladores web de back-end, querrá preocuparse por el lenguaje y el marco que está utilizando, además de las cosas mencionadas anteriormente.
  2. Cómo diseñar y construir buenos sistemas. Los buenos sistemas son simples, robustos, mantenibles, escalables, etc. Los buenos desarrolladores saben cómo hacer intercambios inteligentes en cada uno de ellos. Los malos desarrolladores simplemente escriben código sin pensar en los sistemas que están creando.
  3. Cómo mejorar su equipo. Los desarrolladores 10x no son desarrolladores 10x porque escriben 10 veces más código. En cambio, se enfocan en hacer que su equipo sea 10 veces mejor. Buscan formas de mejorar la comunicación y disminuir las líneas de código. Ayudan a su equipo a aprender cómo usar sus herramientas y diseñar y construir buenos sistemas.

Su kilometraje puede variar, pero estas reglas me han servido bien.

  • Escriba API simples : cuanto más simple sea para usar su servicio, más personas lo usarán, más fácil será mejorarlo y menos tiempo tendrá que dedicar a arreglar cosas. Con una buena API, ayudas a tu usuario a hacer lo correcto la primera vez con un mínimo esfuerzo.
  • Haga el mejor esfuerzo : intente completar la solicitud del usuario. Es importante que el usuario perciba su servicio como robusto.
  • Devuelva errores útiles y mensajes de registro : un mensaje claro, informativo y de búsqueda puede ahorrar días de depuración dolorosa.
  • Distribuya la carga : porque ese es su pan y mantequilla. Sepa cómo escribir un servicio escalable.
  • Cubre tu A ** : un chico malo puede arruinarte el día. Comprender los conceptos de seguridad y cómo implementarlos.

Esta es mi guía práctica:

  1. Escribir API (La lógica detrás, estructura)
  2. API de prueba: utilice una herramienta como SoapUI para puntos finales
  3. Sepa cómo usar al menos 2 sistemas de gestión de bases de datos
  4. Saber utilizar muy bien un marco de programación
  5. Master GIT, úsalo en cada proyecto (personal)

Estoy creando una lista de esto exactamente aquí: Cosas que todo desarrollador de back-end debe saber

También he agregado algunas de las sugerencias del usuario.