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