The Role
Rakuten Kobo's eReader team is looking for an experienced C++ Software Engineer III to join our team in Darmstadt, Germany to work on our range of eReader devices. You will be joining a software delivery team of ~15 to work on building and enhancing some of the top eReaders in the market. The ideal candidate will be located in Darmstadt, or the wider Hesse region in Germany.
Here are some of the things we do and strongly believe in :
- We follow an Agile development process that encourages trying new things and making suggestions to enable us to continuously improve
- We’re dedicated to crafting high-quality, peer-reviewed code, and we’re continuously working on growing our automated test suite to ensure reliability and efficiency
- Every member on the team has a voice and is encouraged to contribute to planning, designing, and decision making
- QA is embedded within our development teams is involved in projects from day one, promoting a collaborative approach to quality
- We host regular learning sessions on various engineering topics hosted by members of the team
Responsibilities :
As a member of an Agile development team :Design, implement, and test new functionality for Kobo eReader devicesPropose and carry out refactoring within the codebase to improve design and qualityDebug and fix defects found by QA and customersReview code for other developers on the teamEstimate the effort for future work as an input to planningCollaborate within the eReader team on improvements to our processes and code baseShare your knowledge to help grow other members on the team and in turn learn from other members on the teamRequirements :
Strong software design skills, including :Object-oriented design incorporating design principles and patternsIdentifying and explaining trade-offs and rationaleConverting final state designs into a sequence of smaller testable incremental stepsStrong software development skillsin C++11 (or newer), including :Reviewing code and providing feedback (with rationale) to improve codeFollowing modern development best practicesExperience developing graphical user interfaces in C++ using Qt or a similar libraryExperience with embedded development, preferably on Linux5+years of experience as a developer in an Agile development environmentStrong written and verbal communication skills in EnglishFamiliar with :Multi-threaded applications developmentWeb technologies (JavaScript / CSS / HTML / HTTP / etc.)Bonus points :
Experience with GCC, ARM toolchains, and shell scriptingExperience with writing and maintaining automated tests in C++, ideally including :Use of dependency injection and mocking frameworksUse of test frameworks such as Google TestUser interface testsExperience with TDDFamiliarity with the EPUB format / standardEInk screen experienceDatabase experience with SQLiteThe Perks :
Flexible hours and hybrid remote working environmentLifestyle spending accountTalent and development training budgetFree Kobo device + free weekly e-book or audiobookWeekly Kobo Tech University sessionsMaternity / paternity leave top up