Industrial mobile devices software developer

Description

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.

Other titles

The following job titles also refer to industrial mobile devices software developer:

industrial mobile devices software coder
handheld software developer
handheld programmer
industrial mobile devices software programmer

Minimum qualifications

Bachelor’s degree is generally required to work as industrial mobile devices software 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.

Industrial mobile devices software developer is a Skill level 4 occupation.

Industrial mobile devices software developer career path

Similar occupations

These occupations, although different, require a lot of knowledge and skills similar to industrial mobile devices software developer.

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

Long term prospects

These occupations require some skills and knowledge of industrial mobile devices software developer. They also require other skills and knowledge, but at a higher ISCO skill level, meaning these occupations are accessible from a position of industrial mobile devices software 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 industrial mobile devices software developer.

Embedded systems: The computer systems and components with a specialised and autonomous function within a larger system or machine such as embedded systems software architectures, embedded peripherals, design principles and development tools.
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.
Industrial software: The selection of software that aids in estimating, managing and scheduling industrial processes such as design, work flow and production improvement.
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.
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.
Mobile operating systems: The features, restrictions, architectures and other characteristics of operating systems designed to run on mobile devices, such as Android or iOS.
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.
Internet of things: The general principles, categories, requirements, limitations and vulnerabilities of smart connected devices (most of them with intended internet connectivity).

Essential skills and competences

These skills are necessary for the role of industrial mobile devices software developer.

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.
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 software design patterns: Utilise reusable solutions, formalised best practices, to solve common ICT development tasks in software development and design.
Use different communication channels: Make use of various types of communication channels such as verbal, handwritten, digital and telephonic communication with the purpose of constructing and sharing ideas or information.
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.
Design application interfaces: Create and program application interfaces, their operations, inputs and outputs and underlying types.
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 industrial mobile devices software 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.
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.
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.
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.
Windows phone: The system software Windows Phone consists of features, restrictions, architectures and other characteristics of operating systems designed to run on mobile devices.
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.
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++.
Mobile device software frameworks: The API (Application Program Interfaces), such as Android, iOS, windows phone which enables programmers to quickly and easily write applications for mobile devices.
Blackberry: The system software BlackBerry consists of features, restrictions, architectures and other characteristics of operating systems designed to run on mobile devices.
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.
Ios: The system software iOS consists of features, restrictions, architectures and other characteristics of operating systems designed to run on mobile devices.
Scratch (computer programming): The techniques and principles of software development, such as analysis, algorithms, coding, testing and compiling of programming paradigms in Scratch.
Android (mobile operating systems): The system software Android consists of features, restrictions, architectures and other characteristics of operating systems designed to run on mobile devices.
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.
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 industrial mobile devices software developer. However, mastering these skills and competences allows you to have more opportunities for career development.

Migrate existing data: Apply migration and conversion methods for existing data, in order to transfer or convert data between formats, storage or computer systems.
Identify customer requirements: Apply techniques and tools, such as surveys, questionnaires, ICT applications, for eliciting, defining, analysing, documenting and maintaining user requirements from system, service or product.
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++.
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.
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.
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

2514 – Applications programmers

 

 


 

 

References
  1. Industrial mobile devices software developer – ESCO
Last updated on August 8, 2022