Software Engineer

The Software Engineer leads important projects and possesses capability to make breakthroughs in design, development, testing, debugging and implementing software applications or specialized utility programs in support of end users' needs on platforms. He/She plans and coordinates regular updates and recommends improvements to existing applications. He identifies and resolves issues which have organisztion wide and long-term impact. He identifies security risks, creates requirements to capture security issues, and performs initial threat modelling to ensure coding standards meets security requirements. He develops and maintains the software configuration management plan and oversees the building, verification and implementation of software releases. He provides guidance and technical support to the quality testing teams. He works in a team setting and is proficient in programming languages required by the organization. He is familiar with software development tools and standards, as well as the relevant software platforms on which the solution is deployed on. The Software Engineer is imaginative and creative in exploring a range of application designs and solutions. He is able to engage and support others in the team, readily put forth his ideas in a clear and compelling manner.

Skills and Competencies

Technical Skills & Competencies

Applications Development
Proficiency Level
"Plan the application development process, program applications and secure features, applying suitable debugging techniques to resolve complex errors "
4
Applications Integration
Proficiency Level
"Oversee end-to-end process of application integration, determining suitable middleware and testing procedures and resolving issues that arise"
4
Applications Support and Enhancement
Proficiency Level
"Analyse application performance statistics and user feedback, resolving bugs as required, and review application change requests"
3
Budgeting
Proficiency Level
"Prepare business unit’s operational budgets "
3
Business Environment Analysis
Proficiency Level
"Utilise research instruments, quantitative and qualitative data to gather information on the business environment, evaluate data to draw out meaningful inferences that impact the organization's market positioning and provide feedback to management"
3

Generic Skills & Competencies

Computational Thinking
Proficiency Level
Modify existing computational models, tools and techniques to develop different solutions.
Intermediate
Problem Solving
Proficiency Level
Identify less perceivable problems and use problem solving tools and techniques to solve the problems.
Intermediate
Lifelong Learning
Proficiency Level
Engage in collaborative learning by discussing one’s learning with others and soliciting feedback to continually improve oneself.
Intermediate
Communication
Proficiency Level
"Communicate information with others to respond to general inquiries and to obtain specific information. "
Basic
Teamwork
Proficiency Level
Facilitate work team activities, provide assistance and support needed by team members and promote ownership and commitment among team members to work goals to improve team performance.
Intermediate

Critical Work Functions and Key Tasks

Analyse user and business requirements

• Validate user requirements and design specifications 
• Translate user requirements into technical specifications 
• Formulate software requirement specifications 
• Recommend approaches that balance security, stability, and performance needs 
• Provide technical guidance on proposed solutions and alternatives

Manage the design of software

• Design software components and modules 
• Determine design alternatives and perform trade-off analysis 
• Create multiple views of the software system and design high-level organisation of a software system 
• Facilitate software design reviews 
• Lead static analysis tasks to evaluate design quality 
• Develop and use simulation and prototypes to evaluate software design quality

Manage software construction processes

• Assist in the selection of processes, models, languages and tools for software construction 
• Perform code re-factoring 
• Review detailed designs and code to ensure quality requirements are met 
• Establish project standards for designs and codes 
• Leads code reviews and inspections

Oversee software testing

• Identify stakeholders participating in testing activities 
• Design software test plan and criteria for regression testing 
• Design the test environment and test case scenarios 
• Specify test cases for the selected testing technique 
• Analyse defect arrival rate and failure intensity data

Oversee security provisions in software

• Identify security risks and create requirements to capture security issues 
• Perform initial threat modelling 
• Model threats and associated risks of new and modified systems 
• Identify the attack surface of new and modified systems 
• Establish project coding standards to avoid security vulnerabilities 
• Review and approve coding standards to avoid security vulnerabilities

Get yourself a new skill

In this Path

Coming soon...