Knowledge and ability to design, define, construct, enhance, support, and maintain application software on one or more platforms.
Level 1 (Follow)
- Demonstrate a basic level of understanding of software specifications or design techniques.
- Demonstrate a basic understanding of programming concepts.
- Demonstrate a general familiarity with one or more programming languages and/or methodologies.
- Understand the importance of testing, documentation, and production assurance.
- Know where to look for standards.
Level 2 (Assist)
- Demonstrate a working knowledge of one or more programming languages.
- Write or adapt software modules for testing and integration.
- Understand and employ basic development methods and standards.
- Test/debug programme modules.
- Use a testing tool and prepare basic test cases.
- Understand the migration cycle and prepares programme for migration.
- Prepare operational documentation.
Level 3 (Apply)
- Demonstrate a detailed knowledge of several programming environments and a good working knowledge of hardware and software interfaces.
- Write original multi-module/complex programmes or apply reusable modules.
- Design, test and integrate software modules, and resolve programming errors using various debugging tools and techniques.
- Provide support, guidance and production assurance for common problems.
- Conduct impact analysis for proposed changes to the system.
- Prepare technical documentation (e.g., user guides, technical specifications).
- Undertake routine analysis and work with designers and analysts to clarify and improve specifications or to identify alternative programming solutions.
- Enforce standards (e.g., at walkthroughs).
Level 4 (Ensure)
- Demonstrate in-depth knowledge and capability in software construction, testing, infrastructure, configuration, a wide range of system development methodologies and operating standards.
- Demonstrate knowledge in multiple applications, data management systems and technologies or in a single area of expertise.
- Demonstrate application and corporate knowledge and understand how a change would affect multiple applications.
- Make recommendations/decisions in application and programme design, standards, and programme enhancements.
- Debug very complex or urgent problems.
- Analyse and model business functions, processes, and information flow within or between systems.
- Provide guidance/mentorship on programming practices and techniques to individuals and cross-functional teams.
Level 5 (Strategise)
- Demonstrate expert knowledge of software design, construction, programming trends, programming, and scripting languages across organisations/agencies in multiple applications and data management systems or in a single area of expertise.
- Provide effective strategic direction to enterprise-wide application design.
- Guide and oversee multiple-concurrent software construction projects.
- Work with users at all levels to define system requirements and specify appropriate system environments to meet operational needs and system performance objectives.
- Present software construction disciplines to peers in public forums.
- Develop policy and standards for software construction.