Location: Annecy/Lyon (France)
_Design and develop organized, easy to read and modify software source code for embedded systems.
_Debug software/firmware using emulators, analyzers, simulators, and similar tools.
_Design and develop communication protocols, standard and proprietary for device communications via wireless and wired technologies.
_Create object libraries, applications, daemons and drivers deployed inside embedded hardware devices.
_Document software designs and code with specifications and source comments, and create end user documentation.
_Program in high level and low level languages as appropriate including C/C++ and assembler. Other language experience in Java, Ruby, or similar languages is desired.
_Develop applications and drivers for operating systems such as Linux and embedded systems RTOS’s and develop board support packages for new hardware platforms.
_Demonstrate basic knowledge of cross functional and related technical areas such as Software Quality techniques, software configuration management and release management.
_Prepare, present and lead peer to peer and cross functional design review meetings
_Work closely with Electrical Engineers Quality Engineers and Technicians creating custom solutions and bringing up new and innovative hardware designs.
_Work closely with outsource engineering and other resources and represent JOY interests on-site as part of an engineering team.
_Requires a Bachelor of Science degree or may have a Master of Science degree, in a technical discipline from a four year college or university, or equivalent combination of education & experience
_Employees entering this job typically have 3 or more years of directly related experience in embedded systems design and development with a demonstrated record of leadership designing and shipping microcontroller based firmware.
_Experience with C and Makefiles are required, C++ is a plus but not required
_C/C++ Programming experience with developing multi-threaded applications
_Experience working with open source packages
_Good communication skills
_Self motivated to learning new technologies and programming skills without formal training