Alternate Job Titles

Application Engineer, Software Programmer, Programmer, Software Architect

Job Level

Entrant
Specialist

Functional Group

Software and Systems – Application Development & Deployment

Job Family

Development and Deployment

Job Description

  • Create and test the software/applications in accordance with the detailed technical design to ensure that the business requirements are met.
  • Work to resolve software/applications issues.
  • Participate and contribute to the review, analysis and verification of business and software requirements.
  • Create and maintain software/applications in accordance with the detailed technical design.
  • Code from component specifications and test scripts.
  • Develop test plan and run unit testing to determine functionality of software/applications.
  • Participate and contribute to the review and verification of test requirements and test cases.
  • Prepare technical documentation and reports on software/applications development.
  • Develop, create and modify general computer applications software or specialised utility programmes.
  • Analyse user needs and develop software solutions.
  • Design software or customise software for client use with the aim of optimising operational
    efficiency.
  • Analyse and design databases within an application area.
  • Coordinate database development.
  • Design, develop, test, debug and implement software applications or specialised utility programmes.
  • Work with applications support lead in resolving software/applications issues.

Critical Work Function

Identification of Requirements

  • Support stakeholder discussions to understand business needs and user requirements.
  • Support proposal writing for development of applications.
  • Support the formulation of specifications and the definition of application delivery platforms.
  • Support analysis of requirements.
  • Participate in discussions with stakeholders to understand user requirements.
  • Conduct requirements analysis based on user requirements.
  • Prepare requirements documentation, descriptions of interfaces, and functional and non-functional requirements.

Application Development

  • Integrate applications with databases from the back end.
  • Support the creation of programme logic for new applications and functionality.
  • Support the creation of the concept of apps, interface design and architecture.
  • Analyse and resolve issues using prescribed guidelines or policies.
  • Plan and coordinate regular updates and recommend improvements to existing applications.
  • Identify and resolve issues which have organisation-wide and long-term impact.
  • Identify security risks, create requirements to capture security issues, and perform initial threat modelling to ensure coding standards meet security requirements.
  • Develop and maintain the software configuration management plan.

Application Implementation

  • Apply bug-fixes.
  • Deploy applications as per specifications.
  • Create procedures for document implementation.
  • Investigate problems and perform root cause analysis.
  • Support testing of the applications developed.
  • Provide guidance and technical support to the quality testing teams.
  • Evaluate changes and updates to source production systems.
  • Train end-users on new reports and dashboards.
  • Propose new technologies for cutting edge platform development.

Application Optimisation

  • Collect user feedback and generate system reports on the performance of the applications.
  • Propose recommendations to improve the performance of applications.
  • Support initiatives to enhance applications’ functionality and process flow.
  • Support the analysis and modification of design logic in existing applications.
  • Encourage the integration of new products with existing applications to enhance features.
  • Assist in the installation and use of tools for a project’s designated design strategy and methodology.
  • Assist in architectural design tasks associated with use of standard notations, diagramming techniques, models, and patterns.
  • Apply selected software design pattern to the design of software components or modules.
  • Participate in software design reviews.
  • Carry out static analysis tasks to evaluate design quality.
  • Assist in development and use of simulation and prototypes to evaluate software design quality.
  • Perform integration testing as part of the integration process.
  • Adhere to project standards in the collection of security assessment metrics.
  • Perform code reviews to identify security vulnerabilities.
  • Assist in determining impact of constraints on Software Configuration Management (SCM) imposed by policies, contract, and software development life cycle.
  • Provide measurement data for SCM measures.
  • Assist in identifying software configuration items (SCIs).
  • Generate, classify, and manage problem reports.

Application Maintenance

  • Analyse usage reports on applications.
  • Document the technical architecture of the application, changes to code, issue resolutions and procedures.
  • Solve routine issues occurring within applications.
  • Promote monitoring of compliance with safety measures.
  • Support the updating and maintenance of existing applications.
  • Collect standard measures of code quality and size.
  • Generate codes and systems from models.
  • Create and execute unit tests for delivered codes.
  • Achieve test coverage goals set by project and organisation standards.
  • Identify unit and integration testing success and failure criteria.
  • Adhere to software test plans.
  • Assist with the development of test plans and test cases.
  • Implement the test environment and unit test cases and integration and system test cases.
  • Collect and analyse test execution results.
  • Follow recommended coding standards and secure-coding principles to avoid security vulnerabilities.

Entry Requirements

#1

Application Developer

BDQF Level 6 in Information Systems, Computer Science or related field with 3 years experience in related fields or


BDQF Level 5 in Information Systems, Computer Science or related field with 5 years of relevant industry experience or possess relevant portfolio/experience.

Skills & Competencies

Technical Skills

Soft Skills

Recommended Technical Training Courses

NET Core Development

IBM Certified Mobile Application Developer

Associate Android Developer (Google)

GIAC Mobile Device Security Analyst

Introduction to Development using Flutter

Mobile App Development Using Flutter

Salesforce Certified Platform App Builder

Agile Project Management Foundation Certification

Android Application Development Certification

ArchiMate 3 Foundation & Practitioner

Developing ASP.Net Core MVC Web Applications

Developer Training for Spark and Hadoop

Microsoft Azure Fundamental

Oracle Database Administrator (DBA)

SAP Certified Development Associate – ABAP

ITIL Foundation

Scrum Developer

Node.js

Programming Languages in Demand (JavaScript, Python, HTML, CSS, Java, SQL, NoSQL, C#, C++, Rust, Perl, Go, PHP, R, Ruby, Swift)

Related Job Roles