Software Engineering Manager
The Software Engineering Manager focuses on operational and/or tactical responsibilities by providing management to a group of professionals. He/She implements software and platform development strategy and provides advice on security requirements. He translates user requirements into technical specifications and manages the preparation of design specifications. He oversees the development of Proof-of-Concept for solutions, and provides technical expertise on the development of software and platform features, ensuring appropriate security and risk factors are considered. He manages the implementation of software and platform solutions, and leads effort in improving the scalability, reliability and performance of software and platform. He leads a team and is responsible for managing projects and resources of the team, as well as coaching team members to build technical and leadership capabilities. He 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 Engineering Manager applies critical and analytical thinking toward developing optimal application solutions. He is a strong leader who is decisive, able to engage, influence and communicate his ideas persuasively to others.
Skills and Competencies
Technical Skills & Competencies
Generic Skills & Competencies
Critical Work Functions and Key Tasks
• Assist in the development of software and platform development roadmap and business plan
• Develop models and structure changes needed to meet the evolving software and platform strategies
• Align software and platform architecture priorities with roadmaps that anticipate the changing technology landscape
• Provide advice on security requirements from a software and platform development perspective
• Drive the adoption of Agile and DevOps practices
• Formulates the strategy and direction for the requirements process across projects
• Oversee the analysis of user requirements based on business needs
• Provide guidance on developing solutions and alternatives to overcome technical challenges
• Create new requirements validation and verification techniques
• Develop business cases, proposals, and communication materials
• Evaluate the effectiveness of the application of software design enabling techniques
• Determine the process, strategy and design methodology to be used in software design
• Provide guidance and advice on the use of software design strategies and methods
• Assess the effectiveness of the application of the selected software design methodology
• Evaluate the effectiveness of the software architecture
• Assess the quality of the software design
• Provide guidance and direction on the need for requirements change resulting from design review
• Select processes and models for constructing software on individual projects
• Select frameworks, platforms, and environments for individual projects
• Establish project standards for unit test coverage, version control and configuration management
• Plan and initiate model-driven development processes
• Establish organisational procedures for testing and criteria for test completion
• Determine project test objectives, success and failure criteria for system and acceptance testing
• Design system test plan and test cases
• Conduct root cause analysis and analyse test data to determine necessity for further testing activities
• Evaluate test results to identify opportunities for process improvement