Profession ICT application developer

Software engineers research, analyse and evaluate requirements for existing or new software applications and operating systems, and design, develop, test and maintain software solutions to meet these requirements.

Would you like to know what kind of career and professions suit you best? Take our free Holland code career test and find out.

Personality Type

  • Investigative / Conventional

Related professions software

  • IT applications programmer
  • IT consultant
  • IT department manager
  • IT information analyst
  • IT project leader
  • IT sales professional
  • IT software tester
  • IT systems analyst
  • Software or multimedia developer or analyst, all other

Knowledge

  • 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.

  • 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.

  • 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.

  • Service-oriented modelling

    The principles and fundamentals of service-oriented modelling for business and software systems that allow the design and specification of service-oriented business systems within a variety of architectural styles, such as enterprise architecture and application architecture.

Skills

  • Use software design patterns

    Utilise reusable solutions, formalised best practices, to solve common ICT development tasks in software development and design.

  • Interpret technical texts

    Read and understand technical texts that provide information on how to perform a task, usually explained in steps.

  • 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.

  • 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.

  • Use software libraries

    Utilise collections of codes and software packages which capture frequently used routines to help programmers simplify their work.

  • Propose ICT solutions to business problems

    Suggest how to solve business issues, using ICT means, so that business processes are improved.

  • 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.

  • 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.

  • Create flowchart diagram

    Compose a diagram that illustrates systematic progress through a procedure or system using connecting lines and a set of symbols.

  • Debug software

    Repair computer code by analysing testing results, locating the defects causing the software to output an incorrect or unexpected result and remove these faults.

  • 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.

  • Manage business knowledge

    Set up structures and distribution policies to enable or improve information exploitation using appropriate tools to extract, create and expand business mastery.

Optional knowledge and skills

abap cobol software anomalies scala apache maven objective-c open source model groovy salt (tools for software configuration management) saas (service-oriented modelling) javascript integrate system components php perl sap r3 use automatic programming use functional programming openedge advanced business language matlab kdevelop jenkins (tools for software configuration management) r microsoft visual c++ asp.net scratch (computer programming) use logic programming lisp internet of things ruby (computer programming) hybrid model visual studio .net puppet (tools for software configuration management) use concurrent programming ajax python (computer programming) ml (computer programming) swift (computer programming) outsourcing model haskell c# java (computer programming) design user interface apl assembly (computer programming) sas language vbscript common lisp ansible collect customer feedback on applications world wide web consortium standards develop creative ideas use object-oriented programming prolog (computer programming) staf typescript object-oriented modelling ict security legislation migrate existing data eclipse (integrated development environment software) pascal (computer programming) adapt to changes in technological development plans c++ xcode