Cómo ser un arquitecto de aplicaciones móviles

El rol de trabajo “Arquitecto” difiere de una compañía a otra. Estoy basando mi respuesta en mi limitada experiencia.

  • SDLC: En primer lugar, necesitará un buen conocimiento de SDLC. Necesita saber cómo se desarrolla y entrega un software de principio a fin. Eso incluye ventas y preventas. Es necesario un buen conocimiento de Waterfall y desarrollo ágil (Scrum, Kanban, RAD).
  • Conocimiento del dominio. Buen conocimiento de tu dominio. En tu caso es movilidad. Debe tener un conocimiento de movilidad superior al promedio. Debe saber cómo se desarrolla una aplicación, qué tipo de características presenta una plataforma. Básicamente estos son
  • Comunicación. Necesitas tener excelentes habilidades de comunicación. Tratará con personas reales con problemas reales. El conocimiento de dominio que posee debe traducirse en soluciones de la vida real. Tratarás con equipos solos o múltiples con miembros con habilidades variadas. Además de eso, también manejará a personas de otras organizaciones en diversos roles en el día a día.
  • Visión. Debería poder crear una solución de software y dividirla en fragmentos manejables. Manejará al menos un equipo y tendrá que distribuir el trabajo entre ellos. Debe haber un camino establecido para el futuro basado en su visión de la solución.
  • Documentación. Necesitará tener excelentes habilidades de documentación. Establecerá un estándar para que la gente lo siga. Debe ser preciso y fácil de entender.

Desde una perspectiva técnica.

  • Necesita un buen conocimiento de las plataformas de movilidad y desarrollo. Si planea ser un arquitecto especialista en iOS (App Architect -iOS), deberá explorar iOS en niveles más profundos.
  • Si planea tener movilidad general, entonces el conocimiento del desarrollo de Android es imprescindible. Eso incluye Android Studio, está funcionando, gestión de dependencias con gradle, Kotlin y soporte para diferentes tamaños de pantalla y plataformas (en serio. ¡Kikat debe morir!).
  • El conocimiento de los marcos multiplataforma es muy útil. Xamarin, Ionic Framework, NativeScript, React-Native, Kendo UI, Meteor JS son algunos marcos. Estos marcos aprovechan diferentes tecnologías (C #, JavaScript) y puede usar estos marcos si se le dan equipos con diferentes conjuntos de habilidades.
  • Back-end y movilidad: deberá comprender qué lógica de back-end se requiere para dispositivos móviles. Tienes que dejarlo muy claro al principio. Por ejemplo, Backend debe ser capaz de manejar datos, procesamiento de medios, correo, notificaciones push, análisis, integraciones múltiples de terceros, pasarelas de pago, etc.
  • Integraciones de terceros: se encontrará con este lado de la aplicación y el lado del servidor. Debe tener una comprensión básica sobre cómo funciona cualquier integración, cómo se implementará y las posibles soluciones cuando no es posible una integración directa. Te encontrarás con sistemas que quizás nunca hayas visto y tendrás que implementar una solución personalizada basada en la experiencia o el pensamiento innovador.
  • Nuevas y futuras tecnologías: realidad aumentada, asistencia de voz, realidad virtual, aprendizaje automático e inteligencia artificial. Actualmente se trata de tecnología de vanguardia que tiene potencial para convertirse en una corriente principal. Como arquitecto, debe considerar integrarlos en las soluciones. Habrá más tecnologías de este tipo en el futuro y siempre debe tener un ojo para ellas.
  • Pseudocódigo y algoritmos: es más una extensión de la comunicación y la documentación. Como arquitecto, no codificará directamente. Tendrá que proporcionar soluciones en forma de pseudocódigo y algoritmos a los equipos de desarrolladores relevantes.
  • Control y mantenimiento de código y versión: como arquitecto de una solución, usted será responsable de establecer la arquitectura de la aplicación y los estándares de codificación. Usted será responsable de configurar el control de versiones y los sistemas de integración continua. Además de eso, deben decidirse los estándares / patrones de pruebas manuales y / o automatizados. Tendrá que ayudar a sus compañeros para implementar lo mismo. El conocimiento de la implementación en ambas plataformas es imprescindible. Los patrones de movilidad UI / UX y el flujo de prototipos también deben ser resueltos

Eso es lo que puedo decir lo menos. Nuevamente, el rol laboral difiere de una compañía a otra. Algunas veces necesitará algunos de los conjuntos de habilidades mencionados anteriormente. En algún momento requieren ir más allá. Algunos arquitectos son especialistas, algunos son generalistas, algunos son ambos. Depende de un individuo qué estilo le conviene.

Salud !