El interés en las plataformas de desarrollo de software low-code/no-code se ha encendido en los últimos años. Estas plataformas de codificación proporcionan componentes reutilizables e integraciones prefabricadas, lo que permite incluso a los que no son desarrolladores generar aplicaciones y flujos de trabajo listos para poner en producción en cuestión de minutos. El método es una bendición para conseguir que más personas se interesen en el desarrollo de software, pero tiene sus límites.
Recientemente conversé con Prashanth Chandrasekar, director ejecutivo de Stack Overflow, sobre los límites de las herramientas de código bajo/sin código. Supervisando la comunidad y el foro de desarrolladores en línea más grande del mundo, Chandrasekar tiene una visión aguda de las actitudes y preferencias tecnológicas de los desarrolladores modernos.
A continuación, sopesaremos los pros y los contras de low-code/no-code y consideraremos otros métodos para aumentar la accesibilidad en torno al desarrollo de software.
Beneficios de low-code/no-code
Sin duda, low-code/no-code tiene un potencial único para democratizar el desarrollo de software. El concepto ha evolucionado a lo largo de los años y recientemente trajo una nueva clase de usuarios comerciales a la esfera del desarrollo. Por ejemplo, Chandrasekar describe cómo Salesforce Dreamforce permite a los desarrolladores escribir flujos de trabajo dentro de Salesforce; estas capacidades permiten a los expertos en la materia crear rápidamente funciones dentro de la plataforma.
Low-code/no-code también puede adoptarse por necesidad debido a la creciente brecha de habilidades de TI , o puede ser útil para abordar la presión amplificada para construir servicios digitales provocada por la pandemia. “El código bajo es una forma poderosa de entusiasmar a las personas y que entren en el espacio de la codificación”, dijo Chandrasekar.
Además, los líderes ahora están a cargo de supervisar muchas iniciativas de TI dispares, describe Chandrasekar. Estos pueden incluir minería de datos y aprendizaje automático , DevOps, arquitectura de microservicios, observabilidad de seguridad y otras áreas. Dada toda esa demanda, muchas instituciones enfrentan una falta de suministro de ingeniería para abordar los puntos débiles que el código bajo/sin código está configurado para remediar.
Inconvenientes de low-code/no-code
Aunque las plataformas de desarrollo low-code/no-code hacen que las aplicaciones y los flujos de trabajo sean más fáciles de construir, se sacrifica mucha personalización, dice Chandrasekar. “Los primeros desarrolladores pueden usar herramientas de codificación impulsadas por IA sin aprender los principios básicos, pero finalmente llegarán a un techo”, dijo.
También hay posibles problemas de garantía de calidad a tener en cuenta. Si el código se genera automáticamente, los ingenieros no tendrán una comprensión profunda de sus matices subyacentes, dice Chandrasekar. Esta falta de conocimiento podría asomar su fea cabeza durante la corrección de errores o las pruebas, ya que los ingenieros no estarán muy familiarizados con el código si lo genera un bot.
Como hemos discutido anteriormente, a veces demasiada automatización del desarrollo de software puede ser más un obstáculo que una fuerza positiva. Obligar a los desarrolladores a utilizar plataformas de codificación estrictas podría dar lugar a soluciones paralelas, incompatibilidades y problemas de gobernanza. Para los programadores experimentados que ya se sienten cómodos con un entorno de desarrollo integrado, es probable que los coloquen en una caja.
Otras vías de acceso al desarrollo de software
“El low-code es una buena manera de hacer que los no tecnólogos ingresen al espacio tecnológico al democratizar el desarrollo de software”, dijo Chandrasekar. “Pero el código bajo no es la única rampa de acceso: los desarrolladores deben aprender los fundamentos y hay muchos recursos en línea para ayudar”.
El 70% de los desarrolladores ahora están aprendiendo a codificar utilizando recursos en línea. Muchos recursos están disponibles gratuitamente para leer y aprender, ya sean los 50 millones de preguntas y respuestas en Stack Overflow, repositorios de GitHub, blogs y artículos comerciales, o ejemplos dentro de la documentación de código abierto. La mayoría del código publicado en Stack Overflow se puede copiar y pegar en sus propios proyectos de forma gratuita. Comprensiblemente, hay mucho conocimiento disponible para cubrir las bases fundamentales: el obstáculo es acceder a todo de una manera que complemente el flujo de aprendizaje de un programador.
Con esto en mente, un objetivo para democratizar el desarrollo de software es simplemente hacer que estos recursos existentes sean más accesibles. Chandrasekar describe esto como “aprovechar el flujo de trabajo para brindarles a los desarrolladores y tecnologías acceso a la información correcta en el momento correcto”. Curiosamente, los productos Stack Overflow se están moviendo en esta dirección al proporcionar una función de búsqueda unificada que abarca repositorios de conocimiento de codificación tanto públicos como internos. Esto podría ayudar a aprovechar el conocimiento de la comunidad mientras se protegen las muestras y los secretos de código interno propietario.
Mejorar la experiencia del desarrollador
Al hacer que los recursos de aprendizaje gratuitos sean más accesibles en cada etapa del flujo de trabajo del desarrollador, los usuarios pueden aprender activamente sin generar código a ciegas. Chandrasekar describe cómo ampliar este conocimiento con integraciones en Teams o Slack podría ayudar a los equipos de desarrollo a encontrarse donde están. En ese sentido, mejorar la experiencia del desarrollador (DX) es otra forma potencial de aumentar la accesibilidad. La documentación utilizable, las guías de inicio y los ejemplos de código se encuentran entre las estrategias bien conocidas para mejorar el DX de una herramienta de software.
Por lo tanto, antes de invertir rápidamente en código bajo, considere qué tan accesible es para el conocimiento del desarrollo y la experiencia del desarrollador. Esto podría eliminar la necesidad de agregar deuda tecnológica adicional que reemplace completamente el conocimiento de programación.
Conclusión
Según Chandrasekar, el low-code/no-code tiene demasiados límites para que los desarrolladores profesionales lo tomen en serio. Dichas plataformas son muy útiles, pero los usuarios inevitablemente llegarán a un techo que impide una personalización profunda. Además, el código generado automáticamente puede ser difícil de depurar. Personalmente, sin embargo, me mantengo optimista acerca de low-code/no-code, ya que creo que puede empoderar a los expertos en la materia en la planta baja con capacidades de desarrollo. El crecimiento en este sector también parece prometedor: se estima que el tamaño del mercado global de plataformas de desarrollo de código bajo alcanzará los 35.200 millones de dólares para 2030, experimentando una tasa de crecimiento anual de la empresa del 22,9 % de 2022 a 2030. Pero aunque las perspectivas de los analistas parecen favorables, es importante tener en cuenta las compensaciones que presentan las iniciativas de código bajo.