
Software Engineer
Novanta Inc.2 hours ago
Barcelona, SpainMid Level
Responsibilities
- Develop and maintain communication libraries.
- Develop and maintain motion-control libraries, including identification algorithms and tuning tools.
- Develop graphical user interfaces for commissioning servo drivers.
- Make performance and optimization trade-offs to meet product requirements.
- Write architecture and detailed-design documentation for motion software platforms.
- Collaborate with the Firmware team to improve motion-control products and software solutions.
- Define software test plans with the Quality Assurance team.
Requirements
- BSc, MSc, or PhD in Electrical Engineering, Computer Science, Software Engineering, Robotics, Industrial Engineering, or a related technical discipline.
- At least 2 years of experience.
- Strong proficiency in Python.
- Knowledge of motion control, including motor types, feedback sensors, and controls.
- Experience with source-code control such as Subversion or Git.
- Experience with software testing methodologies and automated testing practices.
- Knowledge of Agile development methodologies.
- Personal interest in robotics or motion control.
- Fluency in written and spoken Spanish and English.
- Experience with industrial communication protocols such as EtherCAT, EtherNet/IP, Profinet, or CANOpen is preferred.
- Experience developing desktop applications with Qt, PyQt, PySide, or similar technologies is preferred.
- Experience developing cross-platform applications for Windows and Linux is preferred.
- Experience in motion control, robotics, laboratory automation, or medical automation markets is preferred.
- Strong analytical, communication, interpersonal, teamwork, and problem-solving abilities are preferred.