Software Developer
At Andrew Alliance, we are dedicated to advance science by working with scientists to create a new class of easy-to-use robots and connected devices that take repeatability, performance, and efficiency of laboratory experiments to the level required by 21st-century biology. We are currently looking for a passionate and highly skilled Software Engineer that could take a "heartless and cold piece of hardware" and transform it into "smart, adaptable hardware" that improves the productivity of bench scientists. The successful candidate will join our best-in-class, award winning R&D team in the much sought-after city of Geneva, working with the most advanced technology and a dynamic multinational team of young, dedicated, and enthusiastic specialists.
Following the acquisition of Andrew Alliance by Waters corporation in January 2020, this role is a genuinely exciting, and unique, opportunity to make your mark in a rapidly expanding organisation, within a well-established brand and global leader in life science products.
Job description:
This position will play a vital role in developing and improving the embedded software we created to control our robots. The successful candidate will be an active part of the software development team working on solutions, raising problems, and co-operating with the other developers and engineers to solve them. You will work closely with hardware engineers, systems designers, and QA teams to ensure that our robots operate with precision, efficiency, and reliability. This role requires a deep understanding of embedded systems, real-time computing, and hardware-software integration.
Key Responsibilities:
- Design and implement embedded software solutions for robotic controllers, sensors, actuators, and peripheral devices.
- Write, test, and debug software in C/C++ or other relevant languages for embedded systems.
- Collaborate with hardware engineers to ensure seamless integration between software and hardware components.
- Develop software to interface with sensors, motors, controllers, and other mechanical components used in robotic systems.
- Optimize code for performance, memory usage, and real-time execution.
- Perform hardware-in-the-loop (HIL) testing to validate embedded software against physical hardware.
- Participate in design reviews and code reviews to maintain high software quality standards.
- Troubleshoot and resolve software-related issues in both development and production environments.
- Maintain thorough documentation of software designs, technical specifications, and test procedures.
- Collaborate with cross-functional teams to support robotic system development from concept to production.
Qualifications:
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, Robotics, or a related field.
- Minimum 5-year work experience in software product development
- Proficiency in embedded C/C++ programming.
- Experience with embedded Linux.
- Comfortable with Git version control, BASH, or command prompt.
- Familiarity with communication protocols (e.g., UART, I2C, SPI, CAN) and hardware interfaces.
- Hands-on experience with robotic systems, sensors, actuators, or motor control is highly desirable.
- Strong problem-solving skills and ability to troubleshoot hardware-software interactions.
- Excellent teamwork and communication skills.
- proven debugging skills with tools such as gdb and Valgrind
- Familiarity with Agile development methodologies.
- experience with existing computer vision tool-kits such as Open-CV is considered as strong asset.
Arbeitsort
Chemin Grenet 21
1214 Vernier
Kontakt
022 518 03 57
Bewerben Sie sich unabhängig von einer bestimmten Stelle mit einer Initiativbewerbung.