Mi opinión sobre el “No Code”

Tweet
Programming

Los movimientos no-code y low-code se han puesto muy de moda desde hace un tiempo atrás. Las herramientas que implementan estos paradigmas permiten a los mortales (no programadores) “desarrollar” aplicaciones de diversos tipos, según la plataforma, sin escribir una sola línea de código, o muy poco, mediante una interfaz gráfica. Por supuesto, las herramientas low/no-code aún tienen muchas limitaciones y se centran en casos de uso genéricos (pasarela de pagos, bases de datos simples, generación de formularios, etc…), con posibilidades de personalización relativamente reducidas.

En este post, voy a dar mi opinión de cómo creo que afecta esto a los usuarios no técnicos, a las empresas y a los desarrolladores.

Según un estudio que he leído por ahí, en 2024, el 65% de aplicaciones de Internet estarán construidas usando este tipo de herramientas, convirtiendo al ciudadano de a pie en lo que llaman citizen developers. En mi opinión, todo lo que sea hacer a la población más autónoma y capaz de construir sus movidas me parece estupendo.

Para las empresas, por razones obvias, este paradigma también les es muy beneficioso, ya que pueden construir aplicaciones sencillas con unos cuantos clicks rápidamente a un precio bajo, comparado con lo que costaría contratar a alguien para desarrollar el mismo producto ad-hoc.

Ya hemos hablado de cómo afecta este movimiento al usuario no técnico y a las empresas. Pero, ¿cómo afecta el low/no-code a los desarrolladores de software? Veámoslo. (Tranquilo, que no me voy a poner hater. Tras leer algo de información sobre el tema voy a exponer mi humilde opinión.)

En el caso de los desarrolladores, existen dos perspectivas:

Como hombre de negocios, las herramientas no-code pueden ser muy útiles. Si resuelven el problema del cliente, pueden ser la mejor opción: efectiva, rápida y barata. Vamos, que hay que valorar esa alternativa y no tirarse como loco a escribir código. Esto “eleva” al desarrollador a una posición de problem solver.

Por otra parte, como técnico, ingeniero, developer o como prefieras llamarlo, lo que aportan estas herramientas puede llegar a ser incluso negativo para tu carrera profesional. ¿Por que? Basicamente, porque si dedicas 10 años de tu carrera a desarrollar aplicaciones en una de estas plataformas, serás experto en dicha plataforma, pero ignorante en los fundamentos de ingeniería, buenas prácticas, protocolos, etc. Seguramente, la motivación la tendrás por los suelos y tus opciones laborales se verán reducidas enormemente.

Por eso, mi consejo es que te centres en aprender ingeniería del software de verdad. Estudia protocolos de comunicación, lenguajes y paradigmas de programación, testing, seguridad y este tipo de cosas. Eso son los pilares del software y no van a cambiar. Enorgullécete de saber como funciona TCP internamente, no de cómo se configura el [introducir sistema de ERP] para que el menú de proveedores bla bla bla… 🥱😴

Para terminar, creo de verdad que los movimientos no-code y low-code aportan algo bueno a la sociedad y al mundo empresarial. Y como desarrolladores, según el rol que adoptemos, hemos de saber aprovechar su potencial y cuándo usarlas, pero también entender las consecuencias de ello. En mi opinión, se puede ser un problem solver con un bagaje de ingeniería rico. Como todo, la clave está en encontrar el equilibrio.