Responsibilities
1. Works with the project manager, team leader, and software team to plan and manage delivery schedules
2. Acts as the single point of contact for all issues related to a particular software module development, high-level design, and delivery, and as such, works with all other engineering disciplines.
3. Evaluates and schedules all changes in the scope of the module design and delivery
4. Performs modules maintenance, modifications, and enhancements to new/existing systems through programming, testing, and documenting.
5. Works on developing services and applications, working as part of embedded firmware for custom hardware
6. Follows, recommends, and implements software processes
7. Provides technical directions to others as necessary
8. Analyze and resolve technical and application problems
Minimum Job Requirements
Education & Experience
9. University degree in Computer Science, Engineering, Electronics, or a related field
10. 3+ years of professional experience in C++ development, with a focus on Qt and QML.
11. Overall software development experience of at least 8 years.
12. Experience in software development process implementation
13. Experience with software development tools (configuration management, design, emulation, debugging, compilers, test, etc.)
14. Experience with computational geometry, CAD software development, 3D Rendering and video processing (DirectX, OpenGL, OpenCV) will be a plus.
15. Experience with GNSS and/or Optical Survey will be a plus
16. Experience with software development for Android is needed for the role
Knowledge, Skills & Attributes
17. Strong understanding of object-oriented programming and software design principles.
18. Knowledge of algorithms, data structures, and multithreading concepts.
19. Familiarity with cross-platform development and GUI frameworks.
20. Expert knowledge in C++, Standard Library, Boost
21. Understanding of SQL databases like SQLite will be a plus
22. Knowledge of Java and native Android APIs, and iOS development will be a plus
23. Understanding of CI/CD pipelines and automated testing
24. Knowledge of bug tracking systems ( JIRA) and version control systems.
25. Knowledge of Docker is a plus
26. A good command (both written and speaking) of the ENGLISH language is required for the job
Working Conditions
We offer a hybrid and flexible work setup that promotes both in-person collaboration and individual focus
27. Office presence: One day per week at our Concordia office ideally
28. Remote work (Smart Working): Available for the remaining days to support productivity and work-life balance
We’d love to hear from you! Please send us your application, and the earliest date you could join our team.