Description of the company:
Our client has more than 110,000 employees on all continents and in many fields of high technology. The company specializes in the development of metrology and semiconductor inspection solutions. Their products are used by the largest players in the industry.
Roles and Responsibilities :
The person sought is dynamic and motivated to solve complex problems with the help of a team of specialists in software, optics, electro mechanics, robotics, databases and artificial vision.
We are looking for people who learn quickly, who like to surpass themselves and who make a difference within a team. The candidate must be a developer with a passion for high technology and its application to solving unique and complex problems. He/she must enjoy working in a team environment, but will not hesitate to advance his/her work independently and propose original ideas.
The candidate will be part of the engineering team that collaborates on software and hardware core projects. As a member of the engineering team, he/she will be responsible for the design, development and deployment of software solutions for our industrial hardware solutions to be delivered to our customers. The candidate will also support and enhance existing solutions. He/she will contribute to the development of new functionalities, firmware, drivers and automation software tools for the different components of the system.
Finally, the candidate will have the opportunity to use and improve his/her knowledge of the following technologies:
- Software verification and validation
- Computer Vision / Deep Learning / Machine Learning / Artificial Intelligence
- Optics and vision system
- The engineer will interact with the software team, the hardware AI team, QA, the application engineering team and the project manager.
Primary responsibilities based on the candidate’s skills and interests will be:
- Design and develop solutions applied to complex systems combining robots, sensors and high volume database.
- Develop industrial user interfaces providing real-time information on the status of the inspection in progress.
- Identify bottlenecks and improve the performance of electronic, optical and mechanical equipment.
- Participate in code review, communication of concepts and technical solutions to team members.
- Participate in the preparation of documentation used in the solution proposal as well as their use.
- Following software project management practices and using Agile methods, participate and propose continuous improvements to our development processes.
- Provides accurate estimates of the time required to complete tasks and projects.
- Performs other research, development and engineering tasks.
- Solve problems and work with hardware, software and system engineers to identify the root cause.
- Help investigate and collect information to resolve process or design issues found in the code base.
- Identify improvements in software performance through test-driven development, automated unit testing, and comprehensive integration testing.
Skill and Experience required:
- Bachelor’s degree in Computer Science, Computer Engineering, Electronic Engineering, and Electrical Engineering in related fields is required. A Master’s and/or Ph.D. degree is an advantage.
- Strong knowledge of programming languages such as C / C ++ (MS Visual studio, Borland builder (preferred)), STL C ++ library, mathematically oriented software functionality, Windows dll, services, API development or similar PC-based software engineering systems level experience.
- A functional understanding of data structures as well as design schematics and multithreading are strong assets.
- Experience with a bug and task tracking system such as Phabricator, Redmine or Jira will be very well considered.
- Good organizational skills with the ability to multi-task, prioritize and track many activities.
- Previous experience in the delivery of production quality software on embedded systems
- Practical experience in embedded software development in MCU (Micro Controller Units)
- Scripting experience
- Experience with FPGAs is an important asset.
- Ability to read specifications and write efficient C / C ++ code meeting specifications
- Experience using GIT
Other requirements and Qualities sought:
- Strong analytical and problem solving skills.
- Ability to work at a fast pace.
- Occasional travel may be required.
- Ability to work in multidisciplinary teams.
- Communicates effectively and clearly.
- Positive, team-oriented personality.
- Proactive, has initiative and keeps goals in mind.
- Organized and rigorous.
We thank all applicants for their interest. However, only selected candidates will be contacted.
Associée / Consultante sénior
514-658-JUMP (5867) poste 202