Description
User interface developers implement, code, document and maintain the interface of a software system by using front-end development technologies.
Other titles
The following job titles also refer to user interface developer:
user interface developers
UI developers
front end developer
user interface engineer
UI programmer
UI developer
Minimum qualifications
Bachelor’s degree is generally required to work as user interface 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.
User interface developer is a Skill level 4 occupation.
User interface developer career path
Similar occupations
These occupations, although different, require a lot of knowledge and skills similar to user interface developer.
embedded systems software developer
web developer
ICT application configurator
digital games developer
mobile application developer
Long term prospects
These occupations require some skills and knowledge of user interface developer. They also require other skills and knowledge, but at a higher ISCO skill level, meaning these occupations are accessible from a position of user interface 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 user interface developer.
Software ui design patterns: The reusable solutions and formalised best practices to solve common user interface tasks in software development and design.
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.
Web programming: The programming paradigm that is based on combining markup (which adds context and structure to text) and other web programming code, such as AJAX, javascript and PHP, in order to carry out appropriate actions and visualise the content.
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.
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.
Graphics editor software: The field of graphical ICT tools which enable digital editing and composition of graphics, such as GIMP, Adobe Photoshop and Adobe Illustrator, to develop both 2D raster or 2D vector graphics.
Style sheet languages: The field of computer language that conveys the presentation of structured documents such as Cascading Style Sheets (CSS). These documents have to adhere to style sheets, a set of stylistic rules such as font, color and layout.
Essential skills and competences
These skills are necessary for the role of user interface developer.
Use software design patterns: Utilise reusable solutions, formalised best practices, to solve common ICT development tasks in software development and design.
Utilise methodologies for user centered design: Use design methodologies in which the needs, wishes and limitations of end users of a product, service or process are given extensive attention at each stage of the design process.
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.
Design graphics: Apply a variety of visual techniques in order to design graphic material. Combine graphical elements to communicate concepts and ideas.
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.
Draw design sketches: Create rough pictures to assist in creating and communicating design concepts.
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.
Optional knowledge and skills
Optional knowledge
This knowledge is sometimes, but not always, required for the role of user interface 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.
Erlang: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Erlang.
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.
Sass: The computer language Sass is a style sheet language that conveys the presentation of structured documents. These documents have to adhere to style sheets, a set of stylistic rules such as font, color and layout.
Visual studio .net: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Visual Basic.
Adobe photoshop: The computer program Adobe Photoshop is a graphical ICT tool which enables digital editing and composition of graphics to generate both 2D raster or 2D vector graphics. It is developed by the software company Adobe.
Java (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Java.
Less: The computer language LESS is a style sheet language that conveys the presentation of structured documents. These documents have to adhere to style sheets, a set of stylistic rules such as font, color and layout.
Adobe illustrator: The computer program Adobe Illustrator CC is a graphical ICT tool which enables digital editing and composition of graphics to generate both 2D raster or 2D vector graphics. It is developed by the software company Adobe.
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.
Smalltalk (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Smalltalk.
Php: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in PHP.
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.
Gimp (graphics editor software): The computer program GIMP is a graphical ICT tool which enables digital editing and composition of graphics to generate both 2D raster or 2D vector graphics. It is developed by The GIMP Development Team.
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.
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.
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.
Vagrant: The tool Vagrant 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.
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.
Sketchbook pro: The computer program SketchBook Pro is a graphical ICT tool which enables digital editing and composition of graphics to generate both 2D raster or 2D vector graphics. It is developed by the software company Autodesk.
Typescript: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in TypeScript.
Microsoft visio: The computer program Microsoft Visio is a graphical ICT tool which enables digital editing and composition of graphics to generate both 2D raster or 2D vector graphics. It is developed by the software company Microsoft.
Jsss: The computer language JSSS is a style sheet language that conveys the presentation of structured documents. These documents have to adhere to style sheets, a set of stylistic rules such as font, color and layout.
Human-computer interaction: The study of the behaviour and interaction between digital devices and human beings.
Ict project management: The methodologies for the planning, implementation, review and follow-up of ICT projects, such as the development, integration, modification and sales of ICT products and services, as well as projects relating technological innovation in the field of ICT.
Coffeescript: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in CoffeeScript.
Objective-c: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Objective-C.
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.
Ml (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in ML.
Synfig: The computer program Synfig is a graphical ICT tool which enables digital editing and composition of graphics to generate both 2D raster or 2D vector graphics. It is developed by Robert Quattlebaum.
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.
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.
Software interaction design: The methodologies for designing interaction between users and a software product or service to satisfy the needs and preferences of most of the people who will interface with the product and to simplify the communication between product and user such as Goal-oriented design.
Cobol: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in COBOL.
Css: The computer language CSS is a style sheet language that conveys the presentation of structured documents. These documents have to adhere to style sheets, a set of stylistic rules such as font, color and layout.
Pascal (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Pascal.
Abap: The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in ABAP.
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 user interface developer. However, mastering these skills and competences allows you to have more opportunities for career development.
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.
Use markup languages: Utilise computer languages that are syntactically distinguishable from the text to add annotations to a document, specify layout and process types of documents such as HTML.
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.
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 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 scripting programming: Utilise specialised ICT tools to create computer code that is interpreted by the corresponding run-time environments in order to extend applications and automate common computer operations. Use programming languages which support this method such as Unix Shell scripts, JavaScript, Python and Ruby.
Use automatic programming: Utilise specialised software tools to generate computer code from specifications, such as diagrams, structured informations or other means of describing functionality.
Create flowchart diagram: Compose a diagram that illustrates systematic progress through a procedure or system using connecting lines and a set of symbols.
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.
ISCO group and title
2512 – Software developers
References
- User interface developer – ESCO