Job Description :
Role: Firmware Development Sr. Staff Engineer Location: MENLO PARK CA 94025 Duration: 6 Months RESPONSIBILITIES Embedded firmware architecture and design to orchestrate hardware accelerators End-to-system firmware development to include power-management, boot loaders, scheduling, RTOS and/or bare-metal implementations Develop OS custom kernel drivers and APIs for hardware accelerators and peripherals Support all phases of SoC development including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bring up and support systems and software teams on algorithm development on validated systems Provide high quality software development in conjunction with an ability to lead a multifurcation team allocating task to pursue efficient timely execution MINIMUM QUALIFICATIONS B.S. degree in Computer Science or Electrical Engineering and 10+ years of experience in firmware development Experience in software design and programming in C/C++ for development, debugging, testing and performance analysis Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc. PREFERRED QUALIFICATIONS 5+ years of experience in embedded firmware design for low level OS stack possibly for low-power mobile SoC 10+ years of programming in C/C++ ( Required ) 2+ year of Android or other OS development Experience with lab instrumentation like oscilloscope, logic/protocol analyzers for debugging embedded systems at HW level Familiarity with embedded micro-controllers' architecture Hands-on coding experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB Experience in real-time processing for computer vision and user interaction tasks, high-compute/throughput systems and using simulation and modeling technique to estimate performance and power Hands-on experience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulators Experience with Android Kernel/Framework experience, linux kernel, ARM Platforms, power management, on-device firmware (MCU or DSP), device bring up and bootloaders, User Space/Core Services, BSP, Networking, Storage, Wireless, Security, Graphics, Audio. Experience with design and implement OS components at all layers of the system, e.g. kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc Additional Job Details: 1 - Communication Protocols 2 - Embedded Protocols Testing | 3 - Real Time Operating System (RTOS) Architecture