Software Designer / Concepteur(trice) logiciel
Ville Saint-Laurent, Quebec, CA
Telecommunication technologies are evolving rapidly, and EXFO aims to be among the first to offer test and validation solutions for the Manufacturing, Lab and Research (MDR) segment. To support this ambition, the R&D team of this division is expanding and is seeking a versatile Full Stack Software Developer who is curious and passionate about emerging technologies.
Job Summary
As a Full Stack Software Developer, you will develop both back‑end and front‑end features for our MDR products. You will also be involved in creating prototypes and proofs of concept (PoCs) to evaluate new technologies, support demonstrations, and foster continuous innovation.
Key Responsibilities
Software Development (Full Stack)
- Design, develop, maintain, and enhance software features for our MDR products.
- Contribute to back‑end development (APIs, services, protocols, low‑level integrations) and front‑end development (user interfaces).
- Understand, analyze, and modify existing code to add new capabilities or improve structure.
Proofs of Concept (PoC) and Innovation
- Quickly develop prototypes to validate new technologies or concepts related to networks, interfaces, or electronic chips.
- Participate in technical evaluations with the R&D HW, FPGA, and SW teams.
- Produce or contribute to internal and external demonstrations.
- Integrate promising PoCs into existing or future products when appropriate.
Hardware Interaction
- Interact with electronic chips through their configuration interfaces (e.g., drivers, low‑level APIs).
- Understand hardware limitations and capabilities as well as their impact on software.
- Collaborate with HW, FPGA, and system engineering teams to solve complex technical issues.
Technical Skills
- Relevant software development experience on hardware‑related products, ideally in the telecommunications field.
- Strong back‑end development skills: C/C++/C# (required).
- Front‑end skills: Flutter (required); TypeScript and Angular (assets).
- Knowledge of Python.
- Experience with REST APIs.
- Knowledge of Git/GitLab, CI/CD, unit testing (assets).
- Strong interest in hardware, including:
- reading and understanding electronic chip technical documentation,
- interacting with configuration interfaces (drivers).
- Comfortable working with emerging, evolving, or poorly documented technologies.
- Experience with network communication environments (asset).
Personal Attributes
- Excellent collaboration skills with multidisciplinary teams (system engineers, HW, FPGA, SW, QA, production).
- Enjoys working with both local and remote teams.
- Highly versatile; able to work on multiple layers of the product.
- Resourceful, autonomous, and quick to learn.
- Natural curiosity for new technologies.
- Enthusiastic about contributing to the launch of innovative products.
Requirements
- Experience: 5+ years in software development.
- Languages: French and English (spoken and written).
- Education: Bachelor’s degree in Computer Science, Software Engineering, Electrical Engineering, or a related field.
- Status: Canadian citizen or permanent resident.