We're looking for a Sr. C++ Engineer 🚀
About the Role
We are seeking a talented Senior C++ Engineer with excellent qualifications to help design and build cross-platform libraries and tools to communicate directly with the client's machines. You’ll be part of a large, collaborative team working closely with designers, backend engineers, and product managers to deliver innovative mobile solutions for a leding client in the USA.
What You’ll Do
- Work collaboratively with fellow department members, product managers, firmware engineers, test engineers, and designers to develop cross platform (iOS, Android, macOS, Windows) libraries and tools which interface directly with the client's machines through USB and Bluetooth interfaces (BLE and Classic)
- Developing new features, enhancing existing features and improving the quality of the libraries and tools
- Apply software engineering design patterns to develop well-structured, modular, performant application code
- Perform code reviews, write unit and integration tests, and contribute to architectural planning and refactoring
- Ensure best coding practices
- Training, mentorship, and development of junior team members
What We’re Looking For
- Proficient in C, C++, Java, Kotlin, Swift
- Expertise in USB and Bluetooth (Classic and BLE)
- Experience with development of communications protocols
- Experience in developing Android, iOS, Windows and macOS libraries/frameworks
- Experience with CMake – ability to read, understand, and help contribute to current build procedures for
- cross platform maintainability
- Experience with package managers (npm, CocoaPods, Maven, NuGet, SwiftPM, etc.)
- Experience in unit and integration testing
- Experience with Git in a collaborative environment (pull requests, branching strategies, tags, etc.)
- Experience in continuous integration and delivery (e.g. GitHub Action)
- Strong knowledge of and experience with SDLC and Scrum/Agile methodologies
- A solid grasp of fundamental algorithms, data structures, and design patterns
- High critical thinking skills to evaluate alternatives and present solutions that are consistent with business objectives and strategy
- Ability to communicate effectively, both written and verbal, with technical and non-technical multifunctional teams
- Aptitude and desire to independently learn new technologies