Description:
Roles & Responsibilities:
The candidate will:
• Analyse system and customer requirements
• Choose the technologies and methodology for the implementation of each components and interfaces in the software solution.
• Guarantee adherence to in-scope standards and best practices, reuse policy and product development plans;
• Co-ordinate product definition, and assessment of design trade-offs between aspects of cost, customer requirements and technological possibilities;
• Document the design choices and the related justifications;
• Participate in the software technical document writing and effort estimation for bids and projects;
• Conduct technical presentation to software team and other internal/external stakeholders;
• Participate in Software team` activities including detailed design review, coding, code review, unit test and debug
• If required, work as Work package management (WPM) on selected work scope required in bids and project as needed (IT Infra, Network, etc).
• Prepare scope of work and management of vendors/suppliers in bids and projects as needed
• Monitoring and execution of other system engineering works as required
Essential Skills & Qualifications:
• Bachelor’s degree in computer science or related field
• Minimum 10 years of relevant experience building front end and back end of software and web applications
• Experience in software solutioning, designing, technical proposal writting and developing large-scale software/web solution
• Hands-on experience with following programming languages, e.g. Java, C#, Angular, JavaScript
• Knowledge of software design patterns
• Experience with various development frameworks
• Experience with RESTful services and Microservices Architecture
• Experience with at least one message queue solution and data streaming solution (e.g. Apache Kafka)
• Experience with software system-level integration
• Experience in analyzing technical/design choices and documenting the analysis results.
• Experience with data modeling, relational database, nosql database
• Experience with cloud technologies, e.g. Microsoft Azure, Amazon Web Services
• Extensive working experience (at least 3 years) with Containerization: Docker, Kubernetes
• Experience with common software development tools, e.g. Jira, Git, Visual Studio code
• Experience in scrum/agile software development methodologies
• Experience with continuous integration (e.g. GitLab CI) and code management repository tools
• Software/enterprise architect related certification is good-to-have. E.g.
o Certified Professional for Software Architecture (CPSA) by iSAQB
o Certified Software Architect (CSA) by the Software Engineering Institute (SEI)
o TOGAF 9 Foundation by The Open Group
o Certified Enterprise Architect (CEA) by the Zachman Institute
o Federating Enterprise Architecture (FEA) Certification by the Open Group
Good-to-have Skills/Experiences:
• System skillset :
o System Administration basic skillset (services, ssh, user management, …)
• DevOps advanced skillset :
o Developing and maintaining Ansible Playbooks and Modules
o Deploying and setup of CI/CD pipelines (closely work with development team to develop CI/CD pipelines and deploy into private and public cloud)
o Scripting experience in Shell (bash or Python) etc
• Infrastructure as code skillset :
o Automate deployment and configuration using Ansible
o Working knowledge VMware ESX and other virtualization technologies
• Security :
o Secrets management using various vaults (Gitlab security vaults, Kubernetes secrets)
o SSH administration
• Experiences in MHA (Ministry of Home Affairs) projects are good to have.
Behaviour:
• Produces Ingenious, astute design, with an open mind
• Excellent communication, presentation and interpersonal skills
• Collaborative team players preferred
• Be able to lead and motivate teams to deliver high-quality software