En la última década, el rol de los desarrolladores de software evolucionó a un ritmo acelerado a medida que más y más organizaciones buscaban entregar nuevas iteraciones de aplicaciones más rápido y con más frecuencia que nunca.
La jefa de ingeniería de Atlassian, Agnes Ro, ha experimentado esto de primera mano. Ro ha pasado los últimos 15 años trabajando en la compañía de software, inicialmente como desarrollador graduado, antes de ascender de rango para supervisar un equipo de 100 ingenieros para un departamento llamado Colaboración fundamental que se encuentra dentro de la plataforma en la nube de Atlassian. Algunas de sus responsabilidades clave incluyen la entrega de experiencias comunes y servicios de back-end para productos de Atlassian, como editores de texto enriquecido en JIRA y Confluence, así como experiencias de archivo y almacenamiento.
La necesidad de velocidad
Según Ro, a diferencia de hoy, donde los ciclos de iteración ocurren en semanas, si no horas, los desarrolladores de software tenían tiempos de respuesta más largos en el pasado.
«Estábamos enviando lo que llamamos productos de servidor y teníamos un ciclo de lanzamiento de desarrollo de tres meses… que es bastante tiempo», dijo.
Ro atribuyó el tiempo de respuesta más corto a los clientes que cambiaron de infraestructuras locales a infraestructuras en la nube.
«Dependíamos de nuestros clientes para ejecutar la infraestructura, y haríamos todo lo posible para enviar y probar en las múltiples plataformas que admitíamos en ese momento: diferentes bases de datos, servidores de aplicaciones e incluso versiones de Java», dijo.
«Muchas veces no estábamos muy seguros de cómo funcionarían nuestros productos… teníamos períodos de prueba y estabilización muy largos al final del ciclo de lanzamiento solo para asegurarnos de que estábamos probando las cosas correctas. Mientras que en estos días, debido a que «Tenemos todo en la nube, hacemos envíos, proporcionamos la infraestructura y somos los que ejecutamos las operaciones y todos nuestros productos y servicios. Siento que realmente ha acelerado nuestra velocidad de desarrollo».
Los marcos para admitir el lenguaje que escriben los desarrolladores, especialmente en el front-end, también han madurado, dijo Ro, recordando cómo, cuando comenzó, su equipo todavía estaba a cargo de admitir IE6.
«Los estándares de los navegadores están muy estandarizados hoy en día, por lo que los ingenieros de hoy se enfrentan a desafíos más diferentes».
Un trabajo en equipo hace que el sueño funcione
Durante los primeros días del desarrollo de software, Ro admitió que se favorecía un enfoque introspectivo ya que las aplicaciones se creaban de acuerdo con lo que los desarrolladores de software consideraban importante, en lugar de lo que necesitaban los clientes.
Actualmente, antes de desarrollar cualquier producto, se adopta un enfoque más coordinado en Atlassian, que involucra a ingenieros, equipos de diseño y equipos de productos que forman una ‘tríada’ para elaborar un plan de desarrollo. Ro dice que este enfoque es particularmente importante cuando los equipos están desarrollando productos que requieren algún tipo de características orientadas al usuario. Señaló que también significa que los desarrolladores obtienen una mejor comprensión de lo que se necesita construir.
«Realmente vimos mucho valor con los gerentes de productos que nos ayudan a concentrarnos; tal vez enviamos menos, pero en las cosas correctas. El diseño también nos ayudó a construir más interfaces de usuario y experiencias que tienen sentido para el cliente. No simplemente enviar nuestros productos a los ingenieros. Siento que es muy importante que asumamos estos roles, y han sido una gran influencia en lo que enviamos a los clientes y las experiencias en torno a eso «, dijo.
Señaló, por ejemplo, cómo la seguridad ahora es lo más importante durante cualquier etapa de desarrollo.
«La seguridad se ha vuelto mucho más arraigada», dijo Ro. «Le diría a todos nuestros equipos de ingeniería que es la prioridad número uno para Atlassian. Hemos llegado a comprender que no es solo la responsabilidad dentro de un departamento de seguridad separado; es responsabilidad de todos, por lo que hacemos mucho para garantizar que estamos constantemente probando y tratando de enviar los mejores y más seguros productos para nuestros clientes».
Un asiento en la mesa
Ro cree que los desarrolladores de software ya no son atípicos dentro de una organización, sino que cada vez desempeñan papeles más cruciales.
«Los ingenieros ahora se sienten mucho más responsables de todas las partes del ciclo de vida del desarrollo, por lo que ya no solo escriben código», dijo.
«Realmente tienen que seguir todo el camino hasta el envío y el lado operativo de las cosas, y asegurarse de que sea confiable, estable y no solo de escribir y enviar el código, por lo que definitivamente siento que eso ha sido un gran cambiar y cambiar».