Job descriptionJob Description This role is part of our Automated Vision Systems product line. The Senior Software Developer — Architecture designs, develops, and maintains high‑performance software components for LCMS/inspection systems within a multidisciplinary engineering context. They ensure the technical quality of deliverables, guide architectural decisions, mentor teams (engineers and interns), and work closely with Product, QA and Services to ensure solutions meet customer requirements and industry standards.
Responsibilities
Design, develop, test and optimize libraries and applications in C++ (C++17/20) and C# (.NET/WPF) on Windows and Linux within Agile teams.
Define and document software architecture, APIs and critical module interfaces.
Implement and maintain CI/CD pipelines, continuous integration of unit and integration tests, and automated deployment.
Write and maintain test suites (unit, integration, performance); apply TDD where appropriate.
Perform profiling, optimization and performance validation (memory, latency, parallelism).
Deploy static analysis tools, sanitizers and practices to limit regressions and memory issues.
Produce technical documentation (designs, test plans, performance manuals) and ensure requirements traceability.
Act as a technical mentor: code reviews, pair programming, knowledge transfer and training for junior team members.
Collaborate with Product, Sales and Services to analyze customer needs, validate requirements and prioritize fixes/enhancements.
Conduct technology watch and build prototypes to evaluate relevant new approaches.
Perform any other duties related to the role as assigned by management.
Qualifications
Bachelor’s degree in Computer Engineering, Software Engineering, Computer Science or a related field (or equivalent experience).
Minimum 7 years of relevant software development experience (or 5+ with proven achievements).
Demonstrated experience in software architecture and technical leadership of projects.
Experience in performance‑critical environments (real‑time processing, acquisition, signal processing or equivalent) is an asset.
Strong command of modern C++ (C++17/20): memory management, multithreading, concurrency, design patterns.
Good knowledge of C# and UI development (WPF/.NET); ability to work on a mixed C++/C# codebase.
Experience developing on Windows and Linux; familiarity with cross‑platform toolchains.
Strong debugging and profiling skills (e.g., Valgrind, perf, VTune) and algorithm optimization.
Mastery of software quality practices: unit testing, TDD, BDD, code reviews, CI/CD.
Familiarity with integration/deployment tools (Git, GitHub Actions / Azure DevOps / GitLab CI).
Familiarity with static analysis tools and sanitizers (clang‑tidy, cppcheck, Address/Undefined Sanitizer).
Rigor, autonomy, analytical mindset and excellent communication skills.
Ability to prioritize and deliver according to project timelines.
Professional English (reading/writing/speaking) for documentation and international collaboration.
Optional Assets
Experience in computer vision, AI/ML applied to image or signal processing.
Knowledge of real‑time systems, data acquisition and hardware/firmware interfaces.
Experience with containers (Docker), light orchestration and cloud deployment (Azure, AWS).
Experience in embedded development or SIMD/GPU‑optimized processing engines.
Experience in instrumentation and measurement (LCMS or inspection systems) or a similar domain.
Benefits and Work Environment
Collaborating with experts dedicated to innovation in an environment that values different perspectives, backgrounds and experiences.
Becoming part of an organization that values commitment, initiative, and collaboration to help achieve common goals.
Working in a growing business that encourages learning, curiosity, and respectful challenge.
Being supported through fair, transparent and equitable practices.
Contributing to meaningful projects that create a lasting impact.
Equal Opportunity & Inclusion At Eddyfi Technologies, diversity, equity and inclusion are fundamental to who we are. We are committed to providing equal employment opportunities and fostering an inclusive workplace where everyone feels a sense of belonging.
We welcome and encourage applications from all qualified individuals, regardless of race, ethnicity, gender identity or expression, sexual orientation, age, religion, disability, neurodiversity, or any other characteristic protected by law.
If you require accommodations at any stage of the recruitment process, please let us know. We are committed to ensuring an accessible and inclusive experience for all candidates.
All positions based in Quebec require proficiency in French, both written and spoken. Additionally, functional skills in English are required to meet the needs of our offices and clients internationally. For all our offices worldwide, certain positions may be subject to background checks, including credit, criminal, and employment history verification.
#J-18808-Ljbffr