ALTEN Group is a world leader in Engineering and Technology consulting services providing outsourced Engineering, R&D, and IT Services for different industries such as Transportation, Defence, Energy and Security with 55,000 engineers in nearly 35 countries. ANOTECH is the subsidiary of the Group delivering ALTEN's Engineering Services in Singapore.
As a Senior Software Engineer, you will be equipped with good technical skills in designing, developing and maintaining computer software to apply the principles of software engineering.
Responsibilities:
· 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 Requirements:
· 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.
Ø Certified Professional for Software Architecture (CPSA) by iSAQB
Ø Certified Software Architect (CSA) by the Software Engineering Institute (SEI)
Ø TOGAF 9 Foundation by The Open Group
Ø Certified Enterprise Architect (CEA) by the Zachman Institute
Ø Federating Enterprise Architecture (FEA) Certification by the Open Group
Good-to-have Skills/Experiences:
· System skillset :
Ø System Administration basic skillset (services, ssh, user management, …)
· DevOps advanced skillset :
Ø Developing and maintaining Ansible Playbooks and Modules
Ø Deploying and setup of CI/CD pipelines (closely work with development team to develop CI/CD pipelines and deploy into private and public cloud)
Ø Scripting experience in Shell (bash or Python) etc
· Infrastructure as code skillset :
Ø Automate deployment and configuration using Ansible
Ø Working knowledge VMware ESX and other virtualization technologies
· Security :
Ø Secrets management using various vaults (Gitlab security vaults, Kubernetes secrets)
Ø SSH administration
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