Software Architect: el arte de diseñar soluciones innovadoras

software architect como líder técnico en emergya

Hola, me llamo María y justo me pillas diseñando un asistente virtual para un cliente que quiere mejorar la user experience de su app móvil. Estos días estoy a tope porque acabamos de arrancar un proyecto y hay mucho trabajo en el plano técnico. Por cierto, soy software architect.

Principalmente, un software architect, se encarga de diseñar y ejecutar soluciones de software a alto nivel según las necesidades específicas del cliente. Pero hoy no te voy a hablar de las funciones que solemos desempeñar sino que voy a contarte qué diferencia a un software architect en eºmergya del que ejerce su rol en cualquier otra compañía. Te expondré qué hago exactamente y lo que más me gusta de trabajar aquí. ¿Me acompañas?

Líderes técnicos en el Minimum Agile Team

En las metodologías más tradicionales como Waterfall, los software architects tenemos mucho más trabajo al inicio del proyecto y poco a poco va disminuyendo hasta solo revisar que todo va como se diseñó inicialmente. Pero en eºmergya trabajamos con la metodología Agile, donde todo gira en torno a las entregas rápidas y de valor y a la aceptación del cambio. Esto implica que los software architects estemos presentes durante todo el proyecto. Porque surgen nuevas funcionalidades, se refinan o se mejoran las ya entregadas. 

Dentro del equipo, nuestra responsabilidad es afrontar los problemas que vayan surgiendo y, como te he contado, liderar las soluciones a nivel técnico:

  • Supervisamos, mentorizamos y damos soporte al equipo.
  • Dirigimos y coordinamos la construcción del software, plan o propuesta digital que tengamos entre manos. 
  • Hacemos seguimiento del rendimiento de los procesos técnicos para que las soluciones sean escalables y estén a la vanguardia en temas de seguridad. 

Pero sin duda, lo que nos diferencia de otros software architect es que en eºmergya tenemos la capacidad de proponer mejoras –estamos al día de tecnologías concretas y aprendemos otras nuevas que nos permitan definir soluciones innovadoras– no solo en colaboración con el servicio central de operaciones y el team de coordinación de tecnología e infraestructura, sino también con El MAT

El MAT (Minimum Agile Team) es la unidad mínima que necesitamos para arrancar un proyecto en eºmergya y está formado por el software architect y el tándem product owner-business manager. Por eso al final actuamos como el nexo de unión entre los diferentes miembros del equipo. Al ser los responsables técnicos, tenemos el contexto completo del proyecto y sabemos cómo encajar todas las piezas para que se desarrolle correctamente. 

El trío infalible 

Es cierto que los software architect somos quienes conocemos y definimos la arquitectura de las soluciones. Pero a la hora de diseñarlas, desarrollarlas y validarlas, en eºmergya nos apoyamos principalmente en dos perfiles: cloud architect y quality assurance. Gracias a este trío activamos las arquitecturas y herramientas adecuadas para crear productos de calidad.

Junto a los cloud architects trabajamos para buscar la mejor solución que implementar en la nube. Te lo explico con un ejemplo real: en el caso de las bases de datos relacionales, los software architects definimos el número concreto de tablas y conexiones. Y decidimos junto a los cloud architects qué servicio de Google es el más acertado y cuál es la configuración correcta para la solución. Nos ayudan a montarlo y están de soporte en caso de surgir alguna incidencia.

A pesar de este apoyo, no debemos olvidar que un buen perfil de Software Architect no solo sabe de modelado de datos, definición de APIs, algoritmos de programación o sistemas de integración continua. También es alguien que adquiere conocimientos cloud, como App Engine, BigQuery o CloudBuild. Así puede aportar en el día a día del equipo.

Por otro lado y como responsables de la solución técnica, nos apoyamos en los conocimientos de Quality Assurance para definir e implementar las herramientas correctas que permitan validar de forma continua el proyecto. El perfil QA se encarga de determinar los criterios que han de seguir las funcionalidades para no romper nada. Es decir, especifican el proceso y los pasos necesarios para asegurarnos que lo que se entrega a nivel de código es correcto y pasa los test unitarios y de calidad. Así evitamos que cada nueva funcionalidad rompa lo que ya teníamos implementado. 

En equipo y sin comité de arquitectura 

La mayoría de empresas dedicadas a la creación de productos digitales trabaja con un Comité de Arquitectura. Es un conjunto de software architects de varias secciones o departamentos que en base a la visión de negocio validan que las soluciones vayan en la línea de la compañía. 

Por ejemplo, si la empresa define que todas las soluciones de apps sean híbridas (desarrollo común para IOS y Android) y alguien decide una solución en nativo IOS, debe defender frente a ellos el motivo de esa elección y por qué no sigue el estándar de la empresa.

Pero en eºmergya no tenemos un Comité de Arquitectura per se, porque no solo participamos los software architects, sino todos los perfiles involucrados en el proyecto. Debatimos los temas y valoramos si la propuesta o el enfoque van alienados con las directrices técnicas de la empresa. De esta forma entre todos aportamos más conocimiento y obtenemos las siguientes ventajas: 

  • La toma de decisiones es más rápida y flexible, porque no necesitamos un proceso de aprobación específico.
  • Conseguimos identificar y resolver problemas de manera temprana y efectiva.
  • Existe una mayor colaboración y comunicación entre los miembros del equipo, lo que fomenta una mayor cohesión y otorga una mayor sensación de habernos involucrado en cada solución.
  • Se aprovechan las habilidades y el conocimiento de todos los miembros del equipo, ya que no se limita la toma de decisiones a un pequeño grupo de architects.
  • Obtenemos mayor capacidad para innovar y buscar soluciones creativas.

Gracias a este ambiente colaborativo, a nivel individual tenemos la oportunidad de aprender de otras disciplinas y enriquecer nuestra perspectiva técnica. 

Así potenciamos el rol de software architect 

En eºmergya somos especialistas en Inteligencia Artificial y Machine Learning. Trabajamos en proyectos muy variados, desde asistentes virtuales a motores de recomendación pasando por data y muchos otros. 

Durante el desarrollo de cada solución, sin importar el tipo de proyecto, de nuestro trabajo como software architect se espera:

  • Conocer técnicamente cada proyecto mejor que nadie.
  • Guiar al equipo a nivel técnico.
  • Ser el nexo de unión entre todos los perfiles.

En eºmergya hay una comunidad en torno a cada solución, gente en continua formación de la que tú también aprendes. Las ideas que se te ocurren se ponen en común y se estudia si tiene sentido aplicarlas, si darían algún problema o si son viables. Te escuchan.

Algo que valoro mucho de trabajar aquí es que a parte de definir, también tocamos código. Es un punto a nuestro favor a la hora de potenciar el perfil porque el miedo de muchos técnicos a la hora de afrontar un rol de este tipo es tener que dejar de programar. Y por eso picar código es precisamente uno de esos momentos donde podemos permitirnos estar un poco más relajados. 

Lo que más me gusta de ser software architect en eºmergya es esa sensación de ser un equipo totalmente organizado. De trabajar codo con codo con perfiles muy potentes de los que aprender porque no están externalizados, y eso te da la oportunidad de enriquecerte y seguir creciendo. No estamos solos ante el peligro, actuamos de la mano de los product owner para que el proyecto tenga un liderazgo completo desde el punto de vista funcional y técnico. 

Además, contamos con un programa formativo para que la gente interesada se desarrolle como software architect y abra las puertas a un mundo profesional lleno de grandes oportunidades.

 

¿Quieres transformar tu empresa con tecnologías de futuro?

fondo-footer
base pixel px
Convert
Enter PX px
or
Enter EM em
Result