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.
Skill reusability level
Relationships with occupations
Use functional programming is an essential skill of the following occupations:
Use functional programming is optional for these occupations. This means knowing this skill may be an asset for career advancement if you are in one of these occupations.
Mobile application developer: Mobile app developers implement applications software for mobile devices, based on the designs provided, using general or specific development tools for device operating systems.
ICT application configurator: ICT application configurators identify, record, and maintain user-specific application configurations based upon user requirements and business rules. They configure generic software systems in order to create a specific version applied to an organisation’s context. These configurations range from adjusting basic parameters through the creation of business rules and roles in the ICT system to developing specific modules (including the configuration of Commercial off-the-shelf systems (COTS)). They also document configurations, perform configuration updates, and ensure the configurations are correctly implemented in the application.
Embedded systems software developer: Embedded systems software developers program, implement, document and maintain software to be run on an embedded system.
User interface developer: User interface developers implement, code, document and maintain the interface of a software system by using front-end development technologies.
Digital games developer: Digital games developers program, implement and document digital games. They implement technical standards in gameplay, graphics, sound and functionality.
ICT system developer: 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.
Industrial mobile devices software developer: Industrial mobile devices software developers implement applications software for specific, professional industrial mobile (handheld) devices, based on the industry needs, using general or specific development tools for device operating systems.
ICT application developer: ICT application developers implement the ICT (software) applications based on the designs provided using application domain specific languages, tools, platforms and experience.
Web developer: Web developers develop, implement and document web-accessible software based on the designs provided. They align the client’s web presence with its business strategy, troubleshoot software problems and issues and look for ways to improve the application.
ICT network engineer: ICT network engineers implement, maintain and support computer networks. They also perform network modelling, analysis, and planning. They may also design network and computer security measures. They may research and recommend network and data communications hardware and software.
Software developer: Software developers implement or program all kinds of software systems based on specifications and designs by using programming languages, tools, and platforms.
Application engineer: Application engineers deal with the technical requirements, management, and design for the development of various engineering applications, such as systems, new product designs, or the improvements of processes. They are responsible for the implementation of a design or process improvement, they offer technical support for products, answer questions about the technical functionality and assist the sales team.
- Use functional programming – ESCO