With over 20% of our revenues invested in R&D, EXFO is known for its team of experts who create many new products to meet current and future requirements of the largest operators of telecommunications networks in the world. By joining EXFO as a Software Architect you will work with sophisticated technologies in a dynamic and innovative environment.
As a key member of the organization the Software Architect is actively involved in defining, developing and deploying complex systems. The Software Architect will work on the Common Core Framework, which uses a combination of open source, closed source and cloud technologies to deliver common services to be re-used across our product portfolio.
What you’ll do:
As a part of the organization as an Architect you will be responsible for developing and implementing architecture and design solutions to the requirements of EXFO’s products and customer support teams; produce the system requirement design in collaboration with peers. Based on the design deliver high end quality products.
What we’re looking for:
We are looking for a Software Architect specializing in development of applications for Linux and Windows and responsible for driving our technological vision. Your main objective will be to design the architecture and infrastructure of our solutions. Your main tasks will include creation and design of our next generation solutions. Your success will be evidenced by your ability to deliver scalable and highly available solutions. You are interested in the development of portable and/or embedded products and your reflection is oriented towards intended use by the user.
- Extensive experience in designing Linux and Windows based applications. Knowledge of Android and iOS is an asset.
- Extensive knowledge of the technologies to be used thanks to extensive work experience.
- Thorough knowledge of the concept of application software such as: client-server, gRPC, in-proc/out-of-proc, containers, serverless, CI-CD and others.
- Solid knowledge in C#, C++, Xamarin/Maui, Flutter/Dart, MVVM and others. Knowledge of REST/SOAP, creating public and private APIs, Swagger, OpenAPI,Python, Go, Rust, Amazon AWS or other Cloud systems are assets.
- Ability to develop application architectures that promote automated testing
- Ability to convince and mobilize teams on innovative solutions.
- Ability to participate in proof of concepts, work evaluations and the development of solutions related to the needs analysis.
- Ability to participate in development to help the team and stay in touch with what is being developed.
Competencies (preferred skills):
- Meticulous and well organized
- Strong analytical problem-solving, and conceptual skills
- Understands and follows project and software development methodologies and processes, including Scrum
- Proficient understanding of code versioning tools such as Git, SVN, and TFS
- Exposure to SAFe framework
- Experience with Jira, GitLAB tool
- Exposure to telecom domain
- Excellent spoken and written English
- Be attentive and open to proposals, in search of innovative solutions
- Great ability to document design and guidelines for teams
- Be available to share knowledge and ideas
- Technical decision making
- Excellent interpersonal skills
- A team player, who goes out of his / her way to help the team members, whenever required
- A person who is more people oriented, with a skill to talk to people and get / provide required info
- Ability to operate effectively in a complex matrix environment
- Ability to create a climate of trust
- Proactive problem solver
- Action and results oriented
Pertinent Experience: Minimum 15 years experience in Software Development. Minimum 5-7 years experience as a Software Architect.
Education: Minimum Engineering degree in Computer Science or equivalent. Post-graduation in Computer Science or equivalent is preferred.