Software architect

  • Thales
  • CASABLANCA, Morocco
  • 08 MAY 2024
  • Experience of 5 - 12 years
  • 08 MAY 2024
  • CDI

Job description

Roles & Responsibilities:The candidate will:

  • Analyze system and customer requirements
  • Define the architecture design of the entire software system based on requirements
  • Choose the technologies and methodology for the implementation of each components and interfaces in the software solution.
  • Ensure that software architecture stability is maintained throughout the software development lifecycle from Bid to Delivery and Maintenance;
  • Guarantee adherence to in-scope standards and best practices, reuse policy and product development plans;
  • Document the design choices and the related justifications;
  • Lead the software technical document writing and effort estimation for bids and projects;
  • Conduct technical presentation to software team and other internal/external stakeholders;
  • Provide knowledge on state-of-the-art software architecting, taking account of future developments and maintenances;
  • Lead and participate in Software team` activities including detailed design review, coding, code review, unit test and debug

Essential Skills & Qualifications:

  • Bachelor’s or Master degree in computer science or related field
  • Minimum 12 years of relevant experience building front end and back end of software and web applications
  • Minimum 5 years of proven experience in software architect role, designing and developing large-scale software/web solution
  • 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
  • Knowledge of system architectural design patterns
  • Knowledge of various coding methods and programming languages, e.g. Java, C#, Go, JavaScript, Python
  • 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

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
  • Network basics :
  • Good working experience with NGINX and HA proxy deployment and configuration
  • Familiar with commonly used network commands (e.g. curl, telnet, netstat)
  • LAN architecture (CIDR, vLAN, routing, NAT)
  • DNS and SSL (internal, external)
  • Security :
  • Secrets management using various vaults (Gitlab security vaults, Kubernetes secrets)
  • SSH administration
  • Experiences in MHA (Ministry of Home Affairs) projects are good to have.

Behavior:

  • Fluent in English and French
  • 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

Skills & Experiences

  • Experience of 5 - 12 years