Mobile Software Developer (MSD)
Programador de aplicaciones para dispositivos móviles
Definición y funciones
Profesional que construye aplicaciones nativas o entornos multiplataforma para dispositivos móviles, tanto locales como la parte cliente de arquitecturas cliente/servidor.
Este perfil es de aplicación para todos los profesionales responsables, en los aspectos técnicos fundamentalmente, ya que no contempla los aspectos de diseño gráfico y otros relacionados, de la construcción de aplicaciones nativas para dispositivos móviles, que desde una visión global del desarrollo de software, cuentan con unos conocimientos específicos (principalmente, tipos de comunicaciones inalámbricas, tipos de dispositivos móviles, alternativas de desarrollo de aplicaciones móviles, peculiaridades de los desarrollos móviles, problemáticas específicas de seguridad y privacidad en dispositivos móviles) para llevar a cabo las actividades necesarias para obtener productos con suficiente garantía profesional de calidad.
Competencias desarrolladas
- Capacidad para proyectar aplicaciones nativas para dispositivos móviles dentro del contexto de Internet, y por lo tanto, conocimiento de las tecnologías y los protocolos de redes, y los modelos de componentes, de software intermediario y servicios.
- Capacidad para modelar, definir la arquitectura, diseñar, implementar, probar, distribuir, administrar y mantener aplicaciones nativas para dispositivos móviles como sistemas informáticos incrustados y ubicuos.
- Capacidad para asegurar, gestionar, auditar y certificar la calidad de los desarrollos de aplicaciones para dispositivos móviles. .
- Capacidad para proponer y evaluar diferentes alternativas tecnológicas para resolver un problema en al ámbito de la computación con dispositivos móviles.
- Capacidad de trabajo en equipo y de resolver problemas en contextos amplios y multidisciplinarios
- Capacidad de auto-aprendizaje y adaptación continua a las novedades tecnológicas.
- Capacidad para trabajar con criterios analíticos, objetivos y metodológicos.
- Discernir y aplicar los aspectos legales y de privacidad relevantes en cada caso.
Actividades realizadas
- Establecer el contexto tecnológico más adecuado para un determinado proyecto de desarrollo móvil como parte de un sistema de computación en red, y determinar la viabilidad, los riesgos y la planificación para un ecosistema de ejecución concreto.
- Mantenerse actualizado en cuanto a los diferentes tipos y características generales de los dispositivos móviles de computación del mercado, sus interfaces y sus componentes auxiliares, e interpretar correctamente las especificaciones técnicas de los diferentes componentes.
- Establecer cuando es conveniente la adaptación o creación de una aplicación web para dispositivos móviles, y cuando hay que hacer un desarrollo de una aplicación móvil nativa, determinando en cada caso el entorno de desarrollo más adecuado.
- Aplicar métodos específicos de desarrollo de aplicaciones móviles para la planificación, toma de requisitos, definición de la arquitectura, especificación, diseño, implementación, pruebas y mantenimiento, así como diseñar en base a componentes, incluyendo el contexto de ejecución, y especificar los requerimientos de ejecución.
- Determinar la estrategia más adecuada para afrontar la fragmentación en el desarrollo de aplicaciones móviles.
- Utilizar uno o más entornos de desarrollo de aplicaciones móviles, usando los diversos servicios que ofrecen.
- Utilizar adecuadamente diferentes lenguajes de programación de dispositivos móviles, así como bibliotecas generales o específicas para el desarrollo de aplicaciones móviles.
- Utilizar herramientas de desarrollo, depuración, firma, versionado, publicación, distribución y seguimiento.
- Aplicar los conceptos básicos de seguridad, para determinar los riesgos potenciales de una aplicación móvil por capas (hardware, SO, aplicación y usuario) y así tomar las medidas paliativas recomendadas y mecanismos de prevención correspondientes.
- Dirimir correctamente las cuestiones relativas a la privacidad y los aspectos legales relacionados con las aplicaciones móviles y su contexto de ejecución o explotación.