Posted in

C++ Software Engineer III

C++ Software Engineer III

CompanyKobo
LocationToronto, ON, Canada
Salary$Not Provided – $Not Provided
TypeFull-Time
Degrees
Experience LevelSenior

Requirements

  • Strong software design skills, including:
  • Object-oriented design incorporating design principles and patterns
  • Identifying and explaining trade-offs and rationale
  • Converting final state designs into a sequence of smaller testable incremental steps
  • Strong software development skills in C++11 (or newer), including:
  • Reviewing code and providing feedback (with rationale) to improve code
  • Following modern development best practices
  • Experience developing graphical user interfaces in C++ using Qt or a similar library
  • Experience with embedded development, preferably on Linux
  • 5+ years of experience as a developer in an Agile development environment
  • Strong written and verbal communication skills in English
  • Familiar with:
  • Multi-threaded applications development
  • Web technologies (JavaScript/CSS/HTML/ HTTP/etc.)

Responsibilities

  • Design, implement, and test new functionality for Kobo eReader devices
  • Propose and carry out refactoring within the codebase to improve design and quality
  • Debug and fix defects found by QA and customers
  • Review code for other developers on the team
  • Estimate the effort for future work as an input to planning
  • Collaborate within the eReader team on improvements to our processes and code base
  • Share your knowledge to help grow other members on the team and in turn learn from other members on the team

Preferred Qualifications

  • Experience with GCC, ARM toolchains, and shell scripting
  • Experience with writing and maintaining automated tests in C++, ideally including:
  • Use of dependency injection and mocking frameworks
  • Use of test frameworks such as Google Test
  • User interface tests
  • Experience with TDD
  • Familiarity with the EPUB format/standard
  • EInk screen experience
  • Database experience with SQLite