Además de crear una API y su implementación, ¿cuál es el conocimiento más importante que necesita saber para convertirse en un desarrollador de back-end?

El desarrollador de backend tiene que ser competente con:

  • Bases de datos relacionales como PostgreSQL o al menos MySQL (deben conocer los principios de ACID y comprender los niveles de aislamiento de transacciones)
  • Los servidores de mensajes (como ActiveMQ, RabbitMQ y Kafka) y deben saber cuándo usar cuál de ellos.
  • Servidores de almacenamiento en caché ( Redis , Memcached, Hazelcast) y deben saber qué usar y cuándo.
  • Bases de datos de documentos (MongoDB, PostgreSQL , ya que supera a MongoDB y admite transacciones, se fragmenta bien con PgPool, ahora es la mejor opción para el enfoque base relacional y de documentos)
  • Bases de datos compatibles con Big Data como Cassandra o HBase (SOLO en caso de que el desarrollador de backend maneje una gran cantidad de datos)
  • Marcos de seguridad (por ejemplo, SpringSecurity o Shiro para java).
  • Criptografía aplicada (en la lista distinta cuándo usar criptografía asimétrica y simétrica y qué cifras).
  • Debe saber cómo escribir software que sea fácil de probar.
  • Debe estar familiarizado con los patrones EIP e implementaciones como Apache Camel o Spring Integration.

También como cualquier programador desarrollador de backend debe saber:

  • Su idioma de elección y marcos para ese idioma como (Spring e Hibernate para java).
  • Debe conocer patrones de diseño como GOF.
  • Y debe conocer los principios generales de diseño de software como KISS, DRY, YAGNI y SOLID.

Opcional agradable tener habilidades será:

  • comprensión de la configuración de nginx
  • administrar contenedores con docker y docker compose (a menudo es muy útil iniciar el entorno de agujeros en su PC)
  • bash (o python)

Debería saber UML.

More Interesting

¿Qué deben saber los arquitectos empresariales sobre el desarrollo web front-end?

¿Cómo actualizo la sección de noticias en el sitio web de mi escuela desde cero (¿necesito usar backend?)

¿Cuál es el proceso de conectar el código front-end (HTML / CSS) con el código back-end (Java) en el desarrollo web (con un ejemplo)?

¿Cuál es la mejor solución de fondo para una aplicación basada en chat como WhatsApp?

¿Es normal que tenga más interés en los lenguajes de programación de fondo como php, c #, vb, java que javascript, ajax, etc.?

Cómo decidir qué idioma y marco de back-end usar para su proyecto

¿Es posible que uno sea muy bueno tanto en desarrollo web front-end como back-end?

Quiero aprender desarrollo web usando Ruby on Rails (sé que aprender el lenguaje Ruby es esencial). ¿Necesito pasar tiempo para aprender PHP también?

Al completar el certificado de back-end de Free Code Camp, ¿debo usar un idioma de back-end que se enseña en mi programa de informática en la universidad?

¿Qué tan físico se vuelve un desarrollador de back-end?

¿Qué es el desarrollo back-end y front-end?

¿Es posible usar un mismo código de servidor de servidor web para el sitio web y la aplicación móvil sin REST?

Necesito un kit de inicio para mi nueva aplicación. ¿Dónde puedo encontrarlo según los siguientes requisitos?

Dadas mis circunstancias, ¿en qué dirección debo ir: desarrollo web front-end o desarrollo back-end o desarrollo de aplicaciones?

¿Qué debe aprender un desarrollador de back-end (paso a paso)?