Embedded Software Engineer With OpenWRT based open-source system development
- Category: Et cetera
- Deadline: 06th November 20222022-11-06T00:00:00-0700
- California
Vacancy expired!
Position: Embedded Software EngineerClient: Cable LabsLocation: Santa Clara or Denver (Remote) Long term contract This Embedded Software Engineer is responsible for embedded software development in the OpenWrt/Linux environment, including kernel, driver, and bootloader; RPC based protocol development for connecting to remote controller; board bring-up and hardware validation; application support; and integration of third-party and opensource components for networking equipment. In addition to significant direct development work, this position will be involved in setting design direction for the software and working with cloud-based controller development team. Qualifications Experienced in OpenWRT based open-source system development Proficient in embedded Linux kernel & system development Proven knowledge of Linux kernel internals (process scheduler, memory management, concurrency/synchronization, memory allocation, file systems) and networking subsystems architecture Expertise with Linux, USB, and PCIe Extensive device driver development and support in at least two of the areas of Ethernet, Wi-Fi, PLC, 3G/4G/5G, and power management Strong debugging skills in kernel context Experience with exercising/validation of system from user space, and knowledge of user space API Experience with developing cross compilers Experience porting/maintaining Linux distribution for a platform Skilled in C/C, Python / Shell scripting Ability to work independently, meet project deadlines fully documenting work Must have good written and verbal communication skills Education & Experience - MS/BS in EE or CS with 5+ years' experience In-depth knowledge of one or more of the following communication standards: o 3GPP 4G/5G Wireless Communications Responsibilities This position requires creation of Linux platform configurations, user space programs /scripts for exercising hardware and integration of open source or custom drivers, and development of drivers for our processors This role also requires development of kernel drivers and supporting tools for communication system solutions that demand real-time, high performance, ultra-low power, computation intensive hardware and software for various broadcast/broadband software defined radio engagements This role also involves development of RPC based API/protocols to talk to remote controllers. This role involves interfacing with application development teams to provide supported functions, packages, and configurations Board bringing-up and bootloader Porting OS and kernel to new platforms