Crouse's Embedded Linux Software team provides the foundation on which the in-vehicle user experience is built. We build the software (applications, kernel, drivers, and lower-level userspace platform services) for our Infotainment hardware. This includes touch displays, audio, Bluetooth/Wifi connectivity, USB, and cameras, all connected to multi-core processors and GPU. Our software is based on Linux, GNU toolchain, Yocto, and other open-source projects, delivering the security, capability, and performance our user experience demands.
Responsibilities
- Write well-structured, testable, efficient, and maintainable code
- Integrate software components into a fully functional software system
- Testing software via automated methods, including (but not limited to) writing and running unit tests, integration tests, and functional tests, as well as manual methods
- Participating in architecture and design discussions and decisions
Requirements
- Strong experience with C/C++
- Strong build and debug skills
- Strong knowledge of Linux fundamentals
- Strong Experience with developing Qt applications
- Excellent problem-solving, critical thinking, and communication skills
- Experience with performant software design, object-oriented C++
- Experience with multi-threaded applications
Plus
- Experience with Linux sockets (TCP, UDP, and ...)
- Experience with Python and shell scripting
- Experience with JIRA, Git, and Agile Software development methodology.
- Proficient in developing software on a Linux host, for embedded Linux targets (cross-compilation, etc.)
- Experience implementing automated tests, including unit, integration, and functional tests
- Experience with Linux graphics technologies (X, wayland, mesa3d, dri/drm drivers)
- Experience with Linux application development, Linux kernel drivers, OpenEmbedded/Yocto Linux distribution for multi-core ARM SoCs