As the software engineer, you will be responsible for designing and
implementing the foundations of Winky’s codebase. You will work across a
variety of platforms and technologies, ranging from embedded
electronics firmware to native mobile applications. Your main assignment
will consist in implementing and maintaining the robot’s dynamic
behavior engine and providing an SDK to allow third-party developers to
interface with it. A wide degree of creativity and latitude is expected
as you will also take part of the upstream brainstorming phases of our
application feature development cycle. You will work as part of a team
and individually with little supervision, reporting to the CTO.
Job Responsibilities:
- Design and implement an evolutive behavior engine running on limited computational resources;
- Design and implement a high-level communication protocol and an
SDK for mobile platforms to frame communications between Winky and
mobile applications;
- Develop, release and maintain stable software;
- Keep the technical documentation up-to-date;
- Foster quality control tools and methodology, set and run continuous unit and integration tests;
- Provide guidance and support to third-party software developers and partners;
- Ensure software licensing compatibility with third-party technologies.
Prerequisites:
- Broad tech knowledge, interest for software architecture, from low-level to high-level programming;
- Experience with IoT projects, in particular MCU programming and Bluetooth profiles, is appreciated;
- Entry-level job, a first experience in a professional or open source development team is appreciated;
- Autonomous, proactive, rigorous and organized mindset;
- Experience with Android and/or iOS application development ecosystems;
Interest for robotics, videogames and education.