top of page
fondo_08.jpg

Ds - Desarrollo de Software
Arquitecto de Software

Responsabilidad / Principales competencias

Es el responsable de la definición y diseño de la arquitectura.
Entre sus competencias está:
Definir la arquitectura de los sistemas tomando las decisiones de diseño de alto nivel y estableciendo los estándares técnicos, incluyendo plataformas, herramientas y estándares de programación, teniendo en cuenta los requisitos funcionales, no funcionales y las necesidades del negocio.

Nombres de Cargos Similares

Diseñador de Software, Diseñador de Soluciones, Desarrollador Senior.

Actividades que realiza

  • Negociar con el propietario de la aplicación y el líder de proyecto para tomar las decisiones de diseño de alto nivel que correspondan.

  • Seleccionar el software: Seleccionar la tecnología a utilizar en conjunto con el líder de proyecto; y definir y revisar estándares y normas aplicables al diseño y construcción, brindando coaching técnico al equipo de desarrollo.

  • Diseñar la arquitectura: Conducir la construcción del modelo de arquitectura/diseño, subdividiendo aplicaciones complejas en partes o componentes menores, más fáciles de manejar.

  • Realizar un seguimiento del proceso de desarrollo para asegurarse que sus instrucciones se implementen en forma adecuada; y registrar los cambios de arquitectura que se produzcan.

  • Asegurar la calidad: Medir la performance de la aplicación y conducir pruebas en relación a la performance, seguridad, etc.

  • Facilitador: Colabora con otras áreas como seguridad informática, base de datos, operaciones, el equipo de mantenimiento, etc.

  • Liderazgo Técnico: Capacidad para asumir la dirección técnica y asegurar todos los aspectos de la arquitectura con responsabilidad y autoridad. Poder realizar coaching y mentoring sobre problemas técnicos, ayudando a la evolución profesional del equipo de programadores.

  • Conjuntamente con el líder de pruebas, definir las pruebas de los requisitos no funcionales y de integración que se realizarán y efectuar un seguimiento de las mismas.

Conocimientos necesarios

  • Dominio de arquitectura de software, metodología de componentes y su interacción.

  • Conocimiento de las tecnologías de comunicación disponibles.

  • Estándares y normas a aplicar en la construcción de software de la tecnología a su cargo.

  • Conocimiento en programación avanzados en varios lenguajes, arquitecturas y paradigmas.

  • Manejo de herramientas para la gestión de requerimientos y ambientes de desarrollo.

  • Lecto-comprensión y elementos de redacción en inglés.

  • Conocimiento avanzado de Bases de Datos (tanto en la rama de programación como administración).

  • Conocimiento avanzado de comunicación entre aplicaciones: SOA, Servicios Web (SOAP, REST), protocolos y lenguajes de comunicación (XML, JSON).

  • Conocimientos de Ingeniería del Software.

  • Prácticas de Testing y Refactoring.

  • Conocimiento de metodologías de análisis como UML u otras.

  • Conocimiento de metodologías ágiles como SCRUM u otras.

  • Conocimiento de herramientas de control de versiones como GIT u otras.

  • Conocimientos de patrones de software empresarial.

Competencias, habilidades o aptitudes deseables

  • Iniciativa

  • Creatividad

  • PlanificaciónyControl

  • Pensamiento de Integración

  • Pasión por la tecnología

  • Capacidad de análisis y de síntesis para la resolución de problemas complejos

  • Capacidad de trabajar en equipo, compartiendo información y conocimientos y tomando en cuenta a los usuarios

  • Actualización permanente en las tecnologías a su cargo, de forma tal de proponer e instrumentar

  • Gran capacidad de aprendizaje.

Posibles especializaciones o áreas de especialización

  • Aplicaciones móviles.

  • Requiere conocimiento de sistemas operativos y software para dispositivos, lenguajes o ambientes de programación para sistemas embebidos

Diferencias por nivel

Nivel: Competencias

Nivel 1 - Trainee: N/A

Nivel 2 - Junior: N/A

Nivel 3 - SemiSenior: Tiene experiencia en su campo de ocupación e independencia para abordar problemas puede descomponer problemas, buscar posibles soluciones y tiene idea del conjunto del proyecto. Puede trabajar en cooperación con un Perfil Senior para abordad sistemas más complejos.

Nivel 4 - Senior: Cuenta con una experiencia variada, gran autonomía y capacidad de brindar coaching a otros. Comprende la arquitectura y tiene autonomía para deducir y completar especificaciones incompletas, especialmente las no funcionales. Sabe estimar su esfuerzo y planificar el proyecto técnicamente.

Desarrollo

Desarrollo

Análisis

Diseño

Calidad

Soporte

Im

Implementación

Co

Comunicación

bottom of page