details Back

Experience and skills:

  • Interest in developing commercial software tools and supporting embedded software solutions;
  • Recent/Newly Qualified BS or greater in Computer Science/related discipline;
  • Knowledge of high level programming languages (C/C++, Java and Ada considered an advantage), Windows, UNIX and Linux, IDE’s/Processors;
  • High level programming and related technical skills, ingenuity and creativity, logical approach to problem-solving, analytical capabilities, ability to work under pressure, attention to detail, tenacity and patience, communication skills – including the ability to convey information to non-technical colleagues in a concise and understandable way, an understanding of business processes and constraints, independent and motivated individual required for –
    • Scripting and automating tasks using batch, bash, python etc;
    • Translating software requirements into workable programming code and maintain and develop programs for use in business;
    • Writing specifications and designing, building, testing, implementing and sometimes supporting applications using programming languages and development tools;
    • Working on generic products or for individual clients providing bespoke solutions-
      • establishing a detailed program specification through discussion with clients;
      • clarifying what actions the program is intended to perform;
      • breaking down program specification into its simplest elements and translating this logic into a programming language;
      • devising possible solutions to anticipated problems;
      • working as part of a team, which may be established purely for a particular project, to write a specific section of the program;
      • combining all elements of the program design and testing it;
      • testing sample data-sets to check that output from the program works as intended;
      • conducting testing and installing the program into production;
      • reacting to problems and correcting the program as necessary;
      • evaluating and increasing the program’s effectiveness;
      • adapting the program to new requirements, as necessary;
      • conducting user acceptance testing to ensure the program can be used easily, quickly and accurately;
      • writing detailed documentation for the operation of the program by users and computer operators;
      • consulting manuals, periodicals and technical reports to learn new ways to develop programs and maintain existing skills and knowledge;
      • updating, repairing, modifying and developing existing software and generic applications.