¿Por qué cada desarrollador debería saber múltiples lenguajes de programación?

En un mundo de infinitos lenguajes y marcos, tiene sentido que algunos de nosotros elijamos nuestra pila favorita y nos quedemos solo.

Pero las tendencias en la industria sugieren que el aumento de la programación políglota puede estar poniendo a estos desarrolladores en una desventaja creciente.

¿Qué es la programación políglota?

La programación Polyglot se define generalmente como "la práctica de escribir código en varios idiomas para capturar la funcionalidad y la eficiencia adicionales que no están disponibles en un solo idioma".

¿Por qué la programación políglota?

Esto podría no parecer algo nuevo en el mundo de las aplicaciones web, que implica una pila de interfaz de usuario. Pero en años más recientes, el término se ha referido a la práctica de adoptar múltiples pilas, incluso dentro de la misma organización.

En el pasado, la opinión común era que tener un ecosistema uniforme es mejor que la sobrecarga de una variedad de marcos. Ahora, muchos creen que es mejor sacrificar algo de consistencia si eso significa usar la herramienta adecuada para el trabajo correcto. Esto se ve catalizado por la adopción generalizada de microservicios, donde existen múltiples aplicaciones implementables independientemente para el mismo producto, cada una con sus propios requisitos.

Por ejemplo, Ruby on Rails es una excelente opción para crear una aplicación web estándar. Pero un servicio de procesamiento intensivo se beneficiaría de la eficiencia de Golang. O para algo simple, simplemente usar Javascript puede ser una opción fácil, gracias a su gran comunidad y herramientas ubicuas. Adoptar la programación políglota significa tener la flexibilidad para tomar estas decisiones.

Una tendencia importante y creciente.

En su informe semestral de tendencias de la industria de la tecnología, ThoughtWorks recomendó encarecidamente adoptar una arquitectura políglota el año pasado, después de mantenerla cautelosamente opcional durante más de una década. La consultora ahora cree que "promover algunos idiomas que admitan diferentes ecosistemas o características del lenguaje es importante para que ... los desarrolladores tengan las herramientas adecuadas para resolver el problema". Estas ideas reflejan lo que está sucediendo en la industria. Un estudio publicado por CodingDojo en 2018 reveló que casi ninguna de las compañías de Fortune 25 trabajaba en un solo idioma, muchas de ellas con múltiples marcos de back-end. Y no son solo las grandes empresas también: Netflix ha sido muy público acerca de su base de código políglota, incluso lanzó un cuaderno políglota para el análisis de datos el año pasado.

Mantenerse relevante en el mundo de un políglota

Todo esto significa que es más importante que nunca que los desarrolladores sean adaptables. Reflexionando sobre el estudio, CodingDojo declaró: “Si bien los trabajos específicos podrían centrarse en un idioma en particular, esta investigación muestra que un solo idioma podría ser un callejón sin salida a largo plazo. Los aspirantes y los desarrolladores existentes deben aprender los bloques de construcción comunes de la codificación y, en última instancia, adquirir fluidez en varios idiomas para tener la adaptabilidad y flexibilidad para una carrera exitosa ".

Esto puede sonar desalentador, pero la clave aquí es centrarse en los componentes básicos comunes de todas las tecnologías de software. A menudo, a los desarrolladores les preocupa que expandirse a nuevas pilas extenderá su conocimiento demasiado, pero lo contrario es cierto. Aprender nuevas tecnologías produce una mejor comprensión de los principios subyacentes que se aplican a todos ellos. El resultado es un ingeniero más completo y adaptable.

Junto con esto, es posible que necesite encontrar un lugar de trabajo que adopte una arquitectura políglota, o mejor aún, influya en la actual. Después de todo, estar listo para abandonar tus nuevas habilidades de Kotlin no ayuda si todavía estás atrapado en un trabajo sin salida, solo para Java.

Ubíquese en un entorno que aproveche los beneficios de muchos idiomas y empuje para aprenderlos. Entonces puedes decir con jactancia "Soy un programador políglota".