Are you interested in helping people become better drivers and save lives? Cambridge Mobile Telematics (CMT) develops technology that makes roads safer through educating drivers about their driving habits and teaching them how they can improve.
CMT is seeking outstanding software engineers to join us in building technology to reliably collect and manage data from sensors on smartphones and connected devices in vehicles. As a member of the mobile team, you will work on engineering problems such as:
- Developing software to capture and process data from on-board and external sensors and sensor platforms
- Developing bandwidth and battery efficient algorithms to efficiently process platform specific sensor data, detect driving and other activity, and deliver sensor data to backend platforms
- Developing new interfaces for our software development kit that partners use to develop safe driving applications
- Developing algorithms and techniques to detect and respond to vehicle crashes and accidents in real-time
Reliable and accurate mobile telematics
At CMT, one of our key products is our mobile software development kit (SDK). The SDK provides the mobile sensing and drive detection technology used in our mobile apps and by customers who develop their own app. You will be part of a team responsible for shaping the underlying architecture of the SDK as well as designing and implementing elegant APIs for our customers. In addition, as we add external sensors to our telematics platform, it becomes the job of the SDK to reliably interface with those sensors to fetch and process high rate sensor data. Given the resource constrained environment of the mobile phone, this can prove to be a challenging task.
Do you want to have global impact?
CMT's mobile SDK is used by millions of drivers around the world, including in the US, Canada, Europe, South Africa, Australia, and Brazil. Our users receive instant, customized feedback, making them safer drivers and lowering their insurance rates. Many of them also get real-time roadside assistance using our crash detection system.
- Bachelor’s degree in Computer Science or a related field
- Proficient in a modern programming language, e.g. Java, C/C++, Objective-C, Python
- Strong troubleshooting abilities for diagnosing complex issues
- Ability to read and understand a large code base quickly
- Ability to write correct, clear, and reliable code in a fast-paced environment
- Strong communication and interpersonal skills
“Nice to have” skills
- Solid understanding of algorithm complexity
- Solid understanding of resource trade-offs
- Experience with creating, testing and debugging mobile applications and interfaces
- Experience developing sensing/location-based and networked mobile applications
- Experience working with Bluetooth LE and NFC technologies
- Experience with source control frameworks such as git and svn
- Well-versed in platform libraries for iOS and/or Android
- Familiarity with build tools for iOS (e.g. xcodebuild, xcconfig) or Android (e.g. gradle)
- Passion for UI/UX design and implementation and talent for presenting complex data in engaging ways to users
- Experience with different application architectures such as Model-View-Controller, MVVM, and VIPER
Cambridge Mobile Telematics provides equal employment opportunities (EEO) to all employees and applicants for employment without regard to race, color, religion, sex, national origin, age, disability, sexual orientation, protected veteran status or genetics. In addition to federal law requirements, Cambridge Mobile Telematics complies with applicable state and local laws governing nondiscrimination in employment in every location in which the company has facilities. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation and training.