Job Description: Software Architect – System Model Application
Our Software Development team architects, develops, tests, and maintains a state-of-the-art engineering software tool that runs on high-performance computing (HPC) infrastructure. This application is designed to model resource allocation and end-to-end communication system performance for a next-generation satellite constellation.
As a Software Architect, the selected candidate will play a key leadership role in the software’s development, productization, and ongoing maintenance. This position provides critical day-to-day technical direction to team members, fostering a cohesive and productive development environment. The Software Architect will also collaborate with cross-functional engineering teams to ensure seamless integration and alignment with organizational goals.
Main Responsibilities
-
Lead the design, development, and deployment of the System Model suite, enhancing its readiness as a production-grade engine for operational business applications running in HPC environments—both cloud-based and on-premise.
-
Provide technical leadership, mentorship, and support to the development team, encouraging innovation and collaboration.
-
Develop and propose solutions to complex technical challenges, including recommendations on software architecture and technology stacks.
-
Collaborate with system engineers, product owners, and testing teams to gather requirements and deliver robust software solutions.
-
Produce clear technical documentation for internal stakeholders and external collaborators.
Education and Experience Required
-
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
-
Extensive hands-on experience in software development.
-
Prior experience in a technical leadership or architecture role.
-
Proficiency in programming languages including C/C++, Golang, Java, Python, SQL, and Bash.
-
Experience with tools and technologies such as Kubernetes (including Helm charts), Terraform, Packer, Ansible, containerization, and secret management (e.g., Azure Key Vault, HashiCorp Vault).
-
Familiarity with Azure Cloud services, including fundamentals, IAM, and networking.
-
Experience with Matlab and related best practices is an asset.
-
Comfortable working within Agile development environments.
-
Experience with cluster job managers.
-
Background in satellite or communication systems is beneficial but not required.
-
10+ years of professional experience in software development or system architecture.
Additional Skills and Abilities
-
Strong problem-solving skills with meticulous attention to detail.
-
Collaborative team player who fosters a positive, innovative team environment.
-
Excellent verbal and written communication skills.
-
Proven ability to effectively engage with stakeholders, engineering teams, and partners.
-
Solid understanding of the business context and constraints of software system design and deployment.
-
Ability to manage competing priorities and project demands.
-
Passion for learning and working with complex systems and technologies.
-
Fluency in English (written and spoken); French is an asset.