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
Education & Experience
9. Degree in Computer Science, Engineering, Electronics, or a related field
10. Overall software development experience of at least 5 years.
11. 3+ years of professional experience in C++ development
12. Experience with computational geometry, spatial algorithms and/or 3D Rendering (DirectX, OpenGL) is needed
13. Knowledge of QML and/or MFC is needed
14. Experience in software development process implementation
15. Experience with software development tools (configuration management, design, emulation, debugging, compilers, test, etc.)
16. Experience with Geodesy, GNSS and/or Optical Survey, CAD will be a plus
17. Experience with Android or iOS development is a plus
Knowledge, Skills & Attributes
18. Strong understanding of object-oriented programming and software design principles.
19. Knowledge of algorithms, data structures, and multithreading concepts.
20. Familiarity with cross-platform development and GUI frameworks.
21. Expert knowledge in C++, Standard Library, Boost
22. Understanding of SQL databases like SQLite 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
27. Knowledge of some of these skills geometry, eigen, cgal, tin, surfaces, corridors, roading, parametric curves, splines, Bentley, Autodesk, Civil3D, Revit, DWG, ODA, cogo, geodesy, coordinate systems, LandXML, shapefile, las, point clouds, numerical methods can be a real asset
28. Knowledge of these other Skills C++20, boost, ASIO, static analysis, memory optimization, C++ templates, SQL, multithreading, lockfree can be a real advantage
Working Conditions:
We offer a hybrid and flexible work setup that promotes both in-person collaboration and individual focus:
29. Office presence: Occasional visits to our Concordia office
30. Remote work (Smart Working): available with individual agreement ( 5 days per week ) 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.