Imperative Software Developer (ISD)


Professional who carries out the task of software implementation of all modules of basic applications or some modules of complex applications within a process of software development using the imperative paradigm, working individually or as part of a team

Competences developed

  • Ability to create basic designs and implement software applications using development, integration and reuse techniques of the imperative paradigm
  • Ability to propose and evaluate different imperative programming alternatives in order to solve a specific problem
  • Ability to evaluate the functional possibilities of imperative programming tools, operating systems, databases and hardware in a basic way for the production and use of the developed software

Activities performed

  • Used concepts, syntax and semantics of the algorithmic notation
  • Accurately designed and implemented the behaviour of programmes which solve concrete, formally specified problems by applying imperative programming concepts, methods and techniques
  • Applied algorithmic schemes and top-down design as efficient techniques to resolve complex problems
  • Used methods and tools (IDE) to write, compile, build and test a programme in an appropriate and rigorous way to comply with the specified quality
  • Fluently used syntax, semantics and functionalities of different imperative programming languages
  • Wrote and appropriately documented the produced source code according to the best practices and agreed specifications
  • Analysed reliable source code for reuse in his/her own implementations
  • Built unit tests and use debugging tools for implemented modules to ensure the quality of the produced programmes and their compliance with the agreed specifications
  • Evaluated and compared the methods, degrees of complexity and efficiency of different algorithms, which can resolve the specified problem, as well as their suitability when run as compiled or interpreted code
  • Correctly interpreted both the modular and data structures of applications and third-party algorithms and programmes, especially the components of the most reputable and commonly used libraries