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.
- Cómo desarrollar una aplicación de Android para el backend desde cero
- ¿Cuáles son los pros y los contras de usar RoR vs Go en el back-end, cuáles son las situaciones en las que usar uno de ellos es imprescindible en lugar del otro?
- ¿Qué gana el 1% superior de los desarrolladores web front-end en compensación anual?
- ¿Cuáles son las otras mejores opciones de IDE que NetBeans para desarrollar con Java?
- ¿Qué editores de código se usan ampliamente en la industria del desarrollo web para la programación de back-end como PHP y MySQL?