Imperative Software Developer (ISD)
Programador de linguaxes imperativos

Definición

Profesional que realiza, de xeito individual ou integrado nun equipo de traballo, as tarefas de implementación de software, baixo o paradigma imperativo, de todos os módulos de aplicacións básicas ou dalgúns módulos de aplicacións complexas segundo un proceso de enxeñaría do software

Competencias desenvolvidas

  • Capacidade de deseño básico e implementación de aplicacións informáticas mediante técnicas de desenvolvemento, integración e reutilización do paradigma imperativo.
  • Capacidade para propor e avaliar diferentes alternativas de programación imperativa para resolver un problema concreto.
  • Capacidade para avaliar de xeito básico as posibilidades funcionais das ferramentas de programación imperativa, os sistemas operativos, bases de datos e hardware para a produción e explotación do software desenvolvido.

Actividades realizadas

  • Empregar os conceptos, sintaxe e semántica da notación algorítmica
  • Deseñar e implementar de xeito preciso o comportamento de programas que resolven problemas concretos especificados de xeito formal mediante a aplicación de conceptos, métodos e técnicas imperativas de programación
  • Aplicar esquemas algorítmicos e deseño descendente como técnicas eficaces para afrontar a resolución de problemas complexos
  • Usar métodos e ferramentas (IDE) para escribir, compilar, montar e probar un programa axeitadamente e de forma rigorosa para dar cumprimento á calidade especificada
  • Utilizar con fluidez a sintaxe, semántica e funcionalidades de varias linguaxes de programación imperativa
  • Escribir e documentar axeitadamente, segundo as boas prácticas e especificacións establecidas, o código fonte producido
  • Analizar código fonte fiable para reutilizalo nas implementacións propias
  • Construír probas unitarias e usar ferramentas de depuración para os módulos implementados para asegurar a calidade dos programas producidos e a súa adecuación ás especificacións establecidas
  • Avaliar e comparar os métodos, graos de complexidade e eficacia dos diferentes algoritmos que poden resolver un mesmo problema especificado, así como a idoneidade de execución compilada ou interpretada
  • Interpretar correctamente a estrutura modular e de datos de calquera aplicación, así como os algoritmos e programas escritos por terceiros, sobre todo os compoñentes de bibliotecas máis aceptados e utilizados