Los desarrolladores de software deberían estar encantados con el potencial de este año. La introducción de herramientas modernas, innovaciones y marcos brindará más oportunidades para una mayor eficiencia y mucha más diversión como programador en 2023.
Yoav Abrahami, arquitecto jefe y jefe de Velo en Wix Code discutió con TechNewsWorld por qué ve una perspectiva tan optimista para 2023.
“Veo el mejor año hasta ahora, pero no puedo garantizar que no habrá años aún mejores en el futuro”, dijo. “Creo que muchas cosas súper emocionantes están cambiando la forma en que construimos código en el mundo”.
Con ese fin, Abrahami acredita que algunas cosas sucedieron simultáneamente. Una es una tendencia de larga data de pasar a las principales plataformas que continúa con toda su fuerza. Otra es la mayor innovación que se produce al incorporar diseñadores como parte del equipo de desarrolladores. Cerrar la brecha entre el diseñador y el desarrollador es significativo, señaló.
6 predicciones de los desarrolladores para 2023
Mirando hacia el futuro con el ojo de su desarrollador de software, Abrahami ve un año fantástico para ser desarrollador. Aquí están sus seis predicciones sobre qué esperar:
- Los desarrolladores podrán abordar proyectos más complejos a escala.
- La colaboración entre desarrolladores y diseñadores será más efectiva e inspiradora.
- Las plataformas en la nube y las herramientas de código bajo se consolidarán, ofreciendo una gama de nuevos productos, incluidos sitios web, aplicaciones web y aplicaciones móviles.
- Continuará la tendencia de pasar a entornos más gestionados, ofreciendo servicios nuevos y mejor gestionados.
- AI limpiará el código y liberará a los desarrolladores para un trabajo más creativo.
- El talento de los desarrolladores estará más descentralizado que nunca, lo que se traduce en más diversidad y productos finales de mayor alcance.
Si las predicciones obligan a un convincente por qué y cómo de usted, siga leyendo para conocer las explicaciones más detalladas de Abrahami sobre su visión para la comunidad de desarrolladores.
DevOps redujo la brecha
Esta historia de la comunidad de desarrolladores está marcada por la fricción continua entre la «gente del sistema» y los desarrolladores de software. A menudo, los desarrolladores enviaban software que no cumplía con las expectativas, y luego era el trabajo de la gente del sistema hacer que funcionara, lo que causaba más fricción.
“Resolvimos esa fricción al presentar la idea de DevOps. Trasladó la responsabilidad de las fallas causadas por cambios en los sistemas a los desarrolladores para convertirlos en un solo equipo”, observó Abrahami.
Otro enfoque que está ayudando a generar mejores oportunidades para los desarrolladores es tener ambos elementos en el mismo entorno de trabajo, sugirió. Su empresa adopta este método de formación de equipos para el desarrollo de software.
La solución de Wix: deja que el diseñador asuma la responsabilidad del diseño y crea un equipo que incluya tanto al diseñador como al desarrollador. Todos los involucrados obtienen las mismas herramientas.
“En el mismo entorno, el diseñador diseña la interfaz de usuario y los desarrolladores escriben código para trabajar con la interfaz de usuario. La realidad es que el 99,9% de los equipos optarán por las herramientas más modernas, como sucedió con DevOps, y esta revolución sucederá para los desarrolladores. Está sucediendo ahora, y lo vemos simplemente porque los proyectos se envían a una velocidad que nunca imaginamos. Es tan increíble ver eso”, exclamó.
Profundizando en el entorno del desarrollador
Mi conversación con Yoav Abrahami continuó con esta sesión de preguntas y respuestas.
TechNewsWorld: ¿Qué hace posible que los desarrolladores aborden proyectos más complejos a escala?
Yoav Abrahami: Ninguno de los integrantes del equipo se opone a que los desarrolladores y diseñadores trabajen juntos. Esto significa que puede trabajar mucho más rápido y ser mucho más productivo. Pero además de eso, continuaremos avanzando hacia entornos más administrados. Eso significa que va a ser mucho más efectivo en términos de todo su software.
¿Qué está cambiando en la comunidad de desarrolladores?
Abrahamí: Debe recordar qué es realmente el software administrado. Siempre es un comercio. Está intercambiando su libertad para tomar decisiones, como qué servicio funciona.
Hace años, estaría trabajando en sus propias máquinas y elegiría su sistema operativo. Hoy, ni siquiera haces eso. Hace años, construías servidores y tratabas de averiguar qué marco usar. Hoy en día, puede usar varias listas y realmente no le importa lo que sucede debajo de ellas.
Mirando lo que tenemos hoy, incluso estamos dando un paso más. Ni siquiera elige su marco de front-end. Le brindamos una solución lista para usar donde su identificación, entorno de desarrollo, base de datos, back-end y front-end trabajan juntos.
¿Qué tan extendida está esta innovación? ¿Wix está en minoría con estos enfoques?
Abrahamí: No somos los únicos que hacemos eso. Está sucediendo en toda la industria. Cada vez se ven más soluciones con entornos de desarrollo online sin necesidad de configuración de las plataformas.
Para dar una idea de lo que estoy hablando, considere cuánto tiempo llevaría construir un centro de llamadas donde miles de voluntarios puedan registrarse, pasar por un proceso de verificación de quiénes son y luego poder llamar a las personas para preguntarles si necesitan ayuda con medicamentos o alimentos o cualquier cosa durante Covid. Probablemente llevaría meses, incluso dos años, construirlo de forma normal.
Hemos construido uno en dos semanas. En un mes, teníamos 700 voluntarios usando ese sistema. Usó Twilio para la telefonía, una solución lista para usar disponible para la interfaz de usuario para dos aplicaciones diferentes. Ahí es donde nos estamos moviendo para ser mucho más rápidos.
Diría que si hoy ha estado luchando durante meses para construir productos, está haciendo algo mal.
¿Cuánto impacto tiene el uso de plataformas en la nube y herramientas de código bajo/sin código?
Abrahamí: La idea del código bajo es hacerte mucho más rápido en términos de lo que estás construyendo. No necesita escribir todo el código y obtenerlo en la plataforma principal. Solo agrega un poco, unas pocas líneas de código aquí y allá, y tenemos una solución.
Pero entonces, el código bajo también puede convertirse en un fracaso cuando quieres hacer algo, como comparar 600 pasos de codificación, y quieres cambiar algo. ¿Cómo lo pruebas? ¿Cómo se comprueba ese cambio? ¿Cómo sabes el impacto? ¿Cómo ves el cambio entre una versión y otra?
¿Cómo influye la inteligencia artificial en lo que está sucediendo dentro de la comunidad de desarrolladores ahora?
Abrahamí: Para ser honesto, nadie lo sabe. Pero sabemos que va a trastornar todo. Esa es la realidad.
Supongamos que le pide a la mejor IA que escriba código para usted, y ese código es una pieza de software para hacer funcionar su tren. ¿A quién culpas cuando ese tren choca por un error? ¿Es culpa de la IA? ¿Es culpa del proveedor de IA? ¿Es culpa de la persona que escribió el código con el error en el que se entrenó a la IA?
Todas esas preguntas se resumen en un gran problema: ¿Cómo funcionará eso? ¡No sabemos! Pero entendemos que hay potencial en la codificación de IA.
¿Tiene esperanzas de que la IA sea una herramienta benevolente para los desarrolladores?
Abrahamí: Veo un enorme potencial en la IA. Nos fijamos en la calidad, y hay dos cosas en la calidad que no sabemos cómo medir. No sabemos cómo medir la usabilidad y no sabemos cómo medir la corrección. Ahora, la IA podría darnos respuestas allí, y yo podría crear una IA que me dé eso.
¿Hacia dónde ve todo este rumbo potencial?
Abrahamí: Piense en la usabilidad de una interfaz de programación de aplicaciones (API). Eso es mucho más fácil de hacer que medir si puede tratar de escribir código que resuelva su próximo gran problema. Ahora bien, esto es sólo un ejemplo. Otro ejemplo en el que puede pensar involucra a la IA.
¿Cuándo debo ampliar o reducir? ¿Cuándo debo hacer una conmutación por error? ¿Cuándo debo detener un servicio porque causa problemas con otros servicios? Y así.
Tal vez todas esas cosas se puedan automatizar usando IA. La automatización podría evitar el envío de software defectuoso a través de la detección temprana de errores. Así que muchos potenciales existen. Hay muchas cosas que podemos hacer hoy con IA para cambiar la forma en que nosotros, como desarrolladores, trabajamos. Cosas en las que confiamos sobre la IA, como herramientas para ayudarlo en lo que está haciendo.
Otro ejemplo es una búsqueda semántica. Muchas veces entras en una categoría, especialmente en organizaciones grandes. Estás bastante seguro de que alguien en la empresa ha hecho lo que buscas, pero no sabes cómo buscarlo porque te falta la sintaxis exacta.