Cana is a stealth mode startup changing the world through products that inspire a more thoughtful approach to everyday consumption.
About the role:
As the first Embedded Linux engineer at Cana, you will be responsible for selecting and refining a Linux distribution, related packages, and frameworks for our embedded IoT consumer product. You will establish the development, test, and release workflow for developing user and kernel space code. You will work closely with the product, engineering, and science teams involved with our firmware platforms and processes' definition and architecture. You will work closely with the Software and Firmware team to write code that directly interfaces with real-time subsystems in the device and code that queries and responds to our cloud and mobile systems. You will be an important voice in contributing to product feature discussions, and most importantly, you will be a key contributor to the culture & growth of Cana’s engineering team.
- Experience with building, shipping, and maintaining an Embedded Linux based cloud-connected consumer device
- Extensive knowledge and experience with Buildroot, Yocto, OpenEmbedded
- Experience with C++, C, Python, embedded Linux development, embedded Linux graphical frameworks, and interfacing with a hardware device
- Experience interfacing with IoT Cloud Services (AWS IoT Core, Azure, Google Cloud)
- Demonstrated experience in taking non-technical requirements and translating them into executable user stories and workflows for software & embedded teams
- Experience designing and implementing software quality patterns and practices (continuous integration, static analysis, unit testing, integrated testing)
- Deep understanding of Linux application development, software security architecture, catalog-based patterns, and other design patterns.
- Proficient with source control management repositories (GitHub), virtualization, and hardware simulation techniques.
- Demonstrated success in a fast-paced team environment and delivering high-quality software products using established agile development methodologies (such as Scrum, Kanban, etc.)
- Typically requires a minimum of 6 years of related experience with a Bachelor’s degree; or 4 years and a Master’s degree; or a PhD with 2 years experience; or equivalent experience. This is a guideline and not a fixed requirement.