El desarrollo de software tal como lo venimos haciendo hace 30 años ya no tiene sentido. Es momento de abandonar la programación tradicional antes de que quede definitivamente obsoleta. Si el desarrollo de software, que hace pocos años se consideraba avance, hoy es uno de los principales cuellos de botella volviéndose cada vez más lento, costoso e incierto, es claro que algo debe cambiar.
La ironía es que mientras la industria del software ayuda a que todas las demás industrias escalen y mejoren sus procesos, el desarrollo de software no escala. Cada vez se necesitan más programadores para llegar a los mismos resultados. No es casual que solo en Estados Unidos haya más de 1 millón de puestos de desarrollo sin cubrir. Hoy la ecuación es: más software = más programadores. Un proceso que no escala y que además desata “guerras de talentos” en los que las grandes empresas llevan la ventaja y las más chicas o jóvenes no tienen acceso al talento que necesitan para crecer.
En parte es por ello que, si pretendemos que alguno de los gigantes de la informática nos traiga la solución, vamos a seguir esperando. Su negocio es mantener el status quo y su mercado. La innovación viene de los individuos, de los disconformes, de los “inadaptados”.
¿Por qué el desarrollo de software no escala? Como diría una vieja frase: es la herramienta, estúpido. Podríamos pensar que el último gran salto tecnológico fue hace unos 30 años, cuando los teclados reemplazaron a las famosas tarjetas perforadas que se habían vuelto una traba. Desde entonces, y más allá de los avances, los desarrolladores seguimos utilizando como principal herramienta un editor de textos. Básicamente, nos sentamos frente a una pantalla tipo The Matrix y comenzamos a escribir cientos de miles de líneas de código. Incluso para las aplicaciones más sencillas, necesitamos miles y miles de líneas de código. Muchas veces, son las mismas líneas que ya hemos escrito hasta el cansancio a lo largo de nuestra carrera.
Y acá entran las llamadas plataformas de “no-code” o “low-code” que hoy son un boom en todo el mundo. Es decir, plataformas con soluciones prefabricadas que podemos utilizar rápidamente. Pero los desarrolladores sabemos que son solo una solución parcial. Son fáciles e intuitivas, pero tienen opciones limitadas, y nos dejan “atrapados”. Una vez creado el proyecto en la plataforma elegida, es casi imposible salir o escalar. Debemos confiar a ciegas ya que no podemos auditar la seguridad o la calidad de la aplicación. Para un programador, lo visual está muy bien, pero necesitamos ver el código para asegurarnos que está bien hecho y que si nuestro proyecto crece o cambia, no tendremos ningún tipo de límites para hacerlo. Y ni eso nos conforma, no queremos cualquier código, queremos aplicaciones con nuestro propio código. Y hasta ahora, esto solo era posible con la programación tradicional.
¿Qué pasaría si cambiamos el paradigma y combinamos lo mejor de los dos mundos: la velocidad y facilidad de las low-coding, con la libertad de la programación tradicional? ¿Si empoderamos al programador para que pueda implementar procesos que llevan semanas en tan solo unos minutos con la misma calidad y seguridad? ¿Si logramos que el desarrollador pueda crear una sola vez y luego reutilizar fácilmente todo lo hecho en todos los proyectos que lo necesiten? ¿Si podemos hacer que los programadores con más experiencia se dediquen a innovar y empoderamos a los que recién empiezan para que puedan reutilizar todo ese conocimiento de manera fácil e intuitiva? Me dirán que es imposible. Pero les aseguro que esto ya existe. Solo hay que abandonar prejuicios y dar el próximo salto.