Imperative Software Developer (ISD)
Programador de lenguajes imperativos

Definición

Profesional que realiza, de manera individual o integrado en un equipo de trabajo, las tareas de implementación de software, bajo el paradigma imperativo, de todos los módulos de aplicaciones básicas o de algunos módulos de aplicaciones complejas según un proceso de ingeniería del software

Competencias desarrolladas

  • Capacidad de diseño básico e implementación de aplicaciones informáticas mediante técnicas de desarrollo, integración y reutilización del paradigma imperativo
  • Capacidad para proponer y evaluar diferentes alternativas de programación imperativa para resolver un problema concreto
  • Capacidad para evaluar de manera básica las posibilidades funcionales de las herramientas de programación imperativa, los sistemas operativos, bases de datos y hardware para la producción y explotación del software desarrollado

Actividades realizadas

  • Usar los conceptos, sintaxis y semántica de la notación algorítmica
  • Diseñar e implementar de forma precisa el comportamiento de programas que resuelven problemas concretos especificados de manera formal mediante la aplicación de conceptos, métodos y técnicas imperativas de programación
  • Aplicar esquemas algorítmicos y diseño descendente como técnicas eficaces para afrontar la resolución de problemas complejos
  • Usar métodos y herramientas (IDE) para escribir, compilar, montar y probar un programa adecuadamente y de manera rigurosa para dar cumplimiento a la calidad especificada
  • Utilizar con fluidez la sintaxis, semántica y funcionalidades de varios lenguajes de programación imperativa
  • Escribir y documentar adecuadamente, según las buenas prácticas y especificaciones establecidas, el código fuente producido
  • Analizar código fuente fiable para reutilizarlo en las implementaciones propias
  • Construir pruebas unitarias y usar herramientas de depuración para los módulos implementados para asegurar la calidad de los programas producidos y su adecuación a las especificaciones establecidas
  • Evaluar y comparar los métodos, grados de complejidad y eficacia de los diferentes algoritmos que pueden resolver un mismo problema especificado, así como la idoneidad de ejecución compilada o interpretada
  • Interpretar correctamente la estructura modular y de datos de cualquier aplicación, así como los algoritmos y programas escritos por terceros, sobre todo los componentes de bibliotecas más aceptados y utilizados