Tal como se mostró en mi articulo ‘Usted acabará siendo un Científico de Datos’ publicado recientemente, los muchos profesionales que existen necesitan ser formados en el uso de nuevas tecnologías, técnicas y procesos que les permita trabajar cada vez con mas datos.
Un gran obstáculo para los muchos profesionales interesados en adquirir conocimientos tecnológicos, es la necesidad del uso de lenguajes de programación. Esta realidad asusta y desanima a muchos profesionales sin formación en sistemas o ingenierías de software, dado que la curva de aprendizaje -sin formación previa- es muy larga y lenta.
La gran solución a esta situación fue la aparición de herramientas de todo tipo sin necesidad de utilizar ningún tipo de programación. Herramientas conocidas como ‘no-code’. Estas aplicaciones tienen un gran impacto en muchas industrias, ya que permiten procesar grandes capacidades de datos sin necesidad de programar absolutamente nada. Ahora el ususario común puede desarrollar una página web, una base de datos en la nube, un dashboard de Analítica Avanzada o incluso una solución de inteligencia artificial. En una palabra: “maravilloso”.
Las aplicaciones tipo ‘no-code’ funcionan con una interfaz gráfica muy intuitiva y amigable, que facilita el desarrollo de cualquier solución. Por otro lado, estas aplicaciones disponen de unas funcionalidades muy simplificadas -e incluso limitadas- que pueden llegar a frenar el desarrollo de soluciones más complejas.
Este fue el surgimiento de los ‘citizen developer’, es decir un profesional de cualquier ámbito no tecnológico que es capaz de crear soluciones tecnológicas con sus propios medios.
Este tipo de perfiles -‘citizen developer’- ha ido progresando con el uso de herramientas tecnológicas de toda índole, y ha descubierto su interés por profundizar más en el uso e incorporación de tecnología a su trabajo habitual. Poco a poco se ha familiarizado con la tecnología y los sistemas, e incluso comienza a entender la lógica de la programación.
Es a partir de este momento cuando aparecen soluciones tecnológicas que simplifican muchos procesos tradicionales con tan solo algunas líneas de código. Es decir, no es necesario ser un gran programador, ni siquiera tener conocimientos de programación, únicamente introducir algunas instrucciones más o menos pre-definidas para conseguir resultados. En algunos casos, incluso mejores que los resultados que pueden obtenerse con desarrollo de código tradicional, pero ahora ahorrando gran cantidad de tiempo, estrés y errores.
Las aplicaciones ‘low-code’ permiten un buen nivel de desarrollo de soluciones ofreciendo muchas mas opciones y flexibilidad que las aplicaciones ‘no-code’, especialmente para soluciones mas complejas. Incluso, puede llegar a ser tan flexible como el desarrollo de código de programación tradicional.
Incluso muchas aplicaciones de código -Python, R, Java, C++, etc…-en la actualidad están evolucionando en esta línea y se están creando paquetes de funciones que simplifican en gran medida un desarrollo de programación habitual. Tanto es así que cada vez es más frecuente ver anuncios de nuevos paquetes sobre automatización del proceso de preparación de datos, visualización de datos o aplicaciones de aprendizaje automatico totalmente automatizado -conocidos como auto-ML-.
Lo interesante de esta situación es que los desarrolladores de código habituales suelen usar cada vez más estas aplicaciones tipo ‘low code’, ya que el ahorro de tiempo es impresionante. Yo soy testigo de ello, ya que las uso con mucha frecuencia.
Por tanto, las aplicaciones de ‘low-code’ permiten lo que se puede hacer con aplicacines ‘no-code’, pero agregan una flexibilidad mucho mayor. Y además, se están convirtiendo en ‘punto de encuentro’ entre ingenieros de software y analistas de negocio.
Se vislumbra que esa es la tendencia profesional: que los ingenieros sean cada vez mas especialistas de negocio, y viceversa.