¿Necesito aprender el ajuste de la base de datos, el fragmentación y la configuración de la infraestructura para convertirme en un desarrollador de back-end?

No necesariamente, depende de la empresa y el nivel de antigüedad. Para las nuevas contrataciones sin experiencia, algunas compañías ponen un gran énfasis en la codificación, no en esas otras habilidades. Empresas como Google y Facebook tienen muchas herramientas que permiten a un desarrollador de back-end seguir una plantilla de infraestructura canónica. Virtualización, automatización de infraestructura, bases de datos globales como Google Spanner; todo esto existe para hacer que el desarrollo de backend sea más idiomático para que esos equipos puedan enfocarse en el desarrollo de características en lugar del desarrollo de infraestructura. Debería saber cómo aprovechar esas plantillas de manera inteligente, pero no necesariamente cómo funcionan esas plantillas por sí mismas. He conocido a muchos ex empleados de estas compañías que han comenzado a emprender y lamentan el esfuerzo requerido para sintetizar las herramientas que dieron por sentado.

También hay muchas opciones para “infraestructura como servicio” que están disponibles comercialmente. No es gratuito, pero puede simplificar las cosas al elegir “externalizar” estos problemas a un proveedor como Heroku o Amazon Web Services.

Si trabaja para una startup o una empresa sin un montón de efectivo para gastar en servicios de infraestructura, un BE definitivamente necesitará aprender esas otras habilidades. Además de saber cómo codificar, debe saber cómo se desempeñará ese código dentro del sistema hoy y en el futuro. Los sistemas no son estáticos, crecen en términos de código, volumen de datos y matriz de características. Pueden ocurrir condiciones inesperadas que desconectan los sistemas, y alguien tiene que arreglarlos y volver a conectarlos de manera segura. También hay que considerar la incorporación de personal, el soporte y la rotación. La seguridad es una consideración omnipresente y continua. Toda esta variabilidad puede conducir rápidamente a un mantenimiento no lineal con el tiempo si no se ha planificado. El trabajo del ingeniero de BE es proporcionar un ecosistema estable, robusto y sin sorpresas que suavice cualquier variabilidad para ingenieros y líderes empresariales. Conocer todas las habilidades que mencionó puede mejorar significativamente las probabilidades de éxito sostenido de un equipo.