ICT system developer

Description

ICT system developers maintain, audit and improve organisational support systems. They use existing or new technologies to meet particular needs. They test both hardware and software system components, diagnose and resolve system faults.

Includes ICT system chief developer.

Other titles

The following job titles also refer to ICT system developer:

ICT systems developer
system developer
chief ICT system developer
systems developer
component developer
ICT systems developers
ICT system developers
systems programmer
IT system developer
system software developer

Minimum qualifications

Bachelor’s degree is generally required to work as ICT system developer. However, this requirement may differ in some countries.

ISCO skill level

ISCO skill level is defined as a function of the complexity and range of tasks and duties to be performed in an occupation. It is measured on a scale from 1 to 4, with 1 the lowest level and 4 the highest, by considering:

  • the nature of the work performed in an occupation in relation to the characteristic tasks and duties
  • the level of formal education required for competent performance of the tasks and duties involved and
  • the amount of informal on-the-job training and/or previous experience in a related occupation required for competent performance of these tasks and duties.

ICT system developer is a Skill level 4 occupation.

ICT system developer career path

Similar occupations

These occupations, although different, require a lot of knowledge and skills similar to ICT system developer.

embedded systems software developer
ICT application developer
digital games developer
mobile application developer
ICT application configurator

Long term prospects

These occupations require some skills and knowledge of ICT system developer. They also require other skills and knowledge, but at a higher ISCO skill level, meaning these occupations are accessible from a position of ICT system developer with a significant experience and/or extensive training.

Essential knowledge and skills

Essential knowledge

This knowledge should be acquired through learning to fulfill the role of ICT system developer.

Computer programming: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms (e.g. object oriented programming, functional programming) and of programming languages.
Ict debugging tools: The ICT tools used to test and debug programs and software code, such as GNU Debugger (GDB), Intel Debugger (IDB), Microsoft Visual Studio Debugger, Valgrind and WinDbg.
Ict system integration: The principles of integrating ICT components and products from a number of sources to create an operational ICT system, techniques which ensure interoperability and interfaces between components and the system.
Integrated development environment software: The suite of software development tools for writing programs, such as compiler, debugger, code editor, code highlights, packaged in a unified user interface, such as Visual Studio or Eclipse.
Tools for software configuration management: The software programs to perform configuration identification, control, status accounting and audit, such as CVS, ClearCase, Subversion, GIT and TortoiseSVN perform this management.
Ict system programming: The methods and tools required to develop system software, specifications of system architectures and interfacing techniques between network and system modules and components.

Essential skills and competences

These skills are necessary for the role of ICT system developer.

Migrate existing data: Apply migration and conversion methods for existing data, in order to transfer or convert data between formats, storage or computer systems.
Provide technical documentation: Prepare documentation for existing and upcoming products or services, describing their functionality and composition in such a way that it is understandable for a wide audience without technical background and compliant with defined requirements and standards. Keep documentation up to date.
Develop automated migration methods: Create automated transfer of ICT information between storage types, formats and systems to save human resources from performing the task manually.
Keep up with the latest information systems solutions: Gather the latest information on existing information systems solutions which integrate software and hardware, as well as network components.
Debug software: Repair computer code by analysing testing results, locating the defects causing the software to output an incorrect or unexpected result and removing these faults.
Use software design patterns: Utilise reusable solutions, formalised best practices, to solve common ICT development tasks in software development and design.
Collect customer feedback on applications: Gather a response and analyse data from customers to identify requests or problems in order to improve applications and overall customer satisfaction.
Develop software prototype: Create a first incomplete or preliminary version of a piece of software application to simulate some specific aspects of the final product.
Interpret technical texts: Read and understand technical texts that provide information on how to perform a task, usually explained in steps.
Use software libraries: Utilise collections of codes and software packages which capture frequently used routines to help programmers simplify their work.
Create flowchart diagram: Compose a diagram that illustrates systematic progress through a procedure or system using connecting lines and a set of symbols.
Solve ict system problems: Identify potential component malfunctions. Monitor, document and communicate about incidents. Deploy appropriate resources with minimal outage and deploy appropriate diagnostic tools.
Analyse software specifications: Assess the specifications of a software product or system to be developed by identifying functional and non-functional requirements, constraints and possible sets of use cases which illustrate interactions between the software and its users.

Optional knowledge and skills

Optional knowledge

This knowledge is sometimes, but not always, required for the role of ICT system developer. However, mastering this knowledge allows you to have more opportunities for career development.

Haskell: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Haskell.
Kdevelop: The computer program KDevelop is a suite of software development tools for writing programs, such as compiler, debugger, code editor, code highlights, packaged in a unified user interface. It is developed by the software community KDE.
Sas language: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in SAS language.
Ruby (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Ruby.
Common lisp: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Common Lisp.
Apache maven: The tool Apache Maven is a software program to perform configuration identification, control, status accounting and audit of software during its development and maintenance.
Lisp: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Lisp.
Visual studio .net: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Visual Basic.
Java (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Java.
Prolog (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Prolog.
Openedge advanced business language: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in OpenEdge Advanced Business Language.
Javascript: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in JavaScript.
Perl: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Perl.
Php: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in PHP.
Software anomalies: The deviations of what is standard and exceptional events during software system performance, identification of incidents that can alter the flow and the process of system execution.
Xcode: The computer program Xcode is a suite of software development tools for writing programs, such as compiler, debugger, code editor, code highlights, packaged in a unified user interface. It is developed by the software company Apple.
Assembly (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Assembly.
C#: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in C#.
R: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in R.
Groovy: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Groovy.
Asp.net: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in ASP.NET.
Apl: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in APL.
Object-oriented modelling: The object-oriented paradigm, which is based on classes, objects, methods and interfaces and their application in software design and analysis, programming organisation and techniques.
Puppet (tools for software configuration management): The tool Puppet is a software program to perform configuration identification, control, status accounting and audit.
Staf: The tool STAF is a software program to perform configuration identification, control, status accounting and audit.
Eclipse (integrated development environment software): The computer program Eclipse is a suite of software development tools for writing programs, such as compiler, debugger, code editor, code highlights, packaged in a unified user interface. It is developed by the Eclipse Foundation.
Ansible: The tool Ansible is a software program to perform configuration identification, control, status accounting and audit.
Ict security legislation: The set of legislative rules that safeguards information technology, ICT networks and computer systems and legal consequences which result from their misuse. Regulated measures include firewalls, intrusion detection, anti-virus software and encryption.
Microsoft visual c++: The computer program Visual C++ is a suite of software development tools for writing programs, such as compiler, debugger, code editor, code highlights, packaged in a unified user interface. It is developed by the software company Microsoft.
Typescript: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in TypeScript.
World wide web consortium standards: The standards, technical specifications and guidelines developed by the international organisation World Wide Web Consortium (W3C) which allow the design and development of web applications.
Objective-c: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Objective-C.
Ml (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in ML.
Ajax: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in AJAX.
C++: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in C++.
Sap r3: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in SAP R3.
Swift (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Swift.
Matlab: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in MATLAB.
Salt (tools for software configuration management): The tool Salt is a software program to perform configuration identification, control, status accounting and audit.
Python (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Python.
Systems theory: The principles that can be applied to all types of systems at all hierarchical levels, which describe the system’s internal organisation, its mechanisms of maintaining identity and stability and achieving adaptation and self-regulation and its dependencies and interaction with the environment.
Scratch (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Scratch.
Vbscript: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in VBScript.
Cobol: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in COBOL.
Pascal (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Pascal.
Internet of things: The general principles, categories, requirements, limitations and vulnerabilities of smart connected devices (most of them with intended internet connectivity).
Jenkins (tools for software configuration management): The tool Jenkins is a software program to perform configuration identification, control, status accounting and audit of software during its development and maintenance.
Scala: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Scala.

Optional skills and competences

These skills and competences are sometimes, but not always, required for the role of ICT system developer. However, mastering these skills and competences allows you to have more opportunities for career development.

Utilise computer-aided software engineering tools: Use software tools (CASE) to support the development lifecycle, design and implementation of software and applications of high-quality that can be easily maintained.
Use concurrent programming: Utilise specialised ICT tools to create programs that can execute concurrent operations by splitting programs into parallel processes and, once computed, combining the outcomes together.
Use logic programming: Utilise specialised ICT tools to create computer code composed of series of sentences in logical form, expressing rules and facts about some problem domain. Use programming languages which support this method such as Prolog, Answer Set Programming and Datalog.
Use object-oriented programming: Utilise specialised ICT tools to create computer code based on the concept of an “object” which is an abstract data type encapsulated with a set of “methods”, which operate on the data.  Use programming languages which support this method such as  JAVA and C++.
Use automatic programming: Utilise specialised software tools to generate computer code from specifications, such as diagrams, structured informations or other means of describing functionality.
Develop creative ideas: Developing new artistic concepts and creative ideas.
Monitor system performance: Measure system reliability and performance before, during and after component integration and during system operation and maintenance. Select and use performance monitoring tools and techniques, such as special software.
Apply ict systems theory: Implement principles of ICT systems theory in order to explain and document system characteristics that can be applied universally to other systems
Use functional programming: Utilise specialised ICT tools to create computer code which treats computation as the evaluation of mathematical functions and seeks to avoid state and mutable data. Use programming languages which support this method such as LISP, PROLOG and Haskell.
Integrate system components: Select and use integration techniques and tools to plan and implement integration of hardware and software modules and components in a system. Apply specific testing techniques to ensure integrity during system integration.
Adapt to changes in technological development plans: Modify the current design and development activities of technological projects to meet changes in requests or strategies. Ensure that the organisation’s or client’s needs are met and that any sudden requests which were not previously planned are implemented.
Design user interface: Create software or device components which enable interaction between humans and systems or machines, using appropriate techniques, languages and tools so as to streamline interaction while using the system or machine.

ISCO group and title

2511 – Systems analysts

 

 


 

 

References
  1. ICT system developer – ESCO
Last updated on August 8, 2022