Education and Experience:
- BE or ME in Computer Science, Computer Engineering or Electrical Engineering or ECE required.
- Bachelor degree with 6+ years or Master with 4+ years of commercial software development experience required.
- X86 architecture required.
- Memory management, threads, and synchronization experience required.
- Experience developing per and post silicon diagnostics, verification tests, or/and manufacturing tests required.
- Expert in C code development.
- Experience doing per-silicon tests on FPGA, or other pre-silicon environment preferred.
- Experience with ALSA(Audio drivers)/USB , USB and protocols preferred.
- Firmware or device driver experience preferred.
- Strong analysis and problem-solving skills required.
- Proven interpersonal skill, technical leadership and teamwork required.
- Solid knowledge of the software development lifecycle required.
- Must be fluent in both written and spoken English.
- Experience working with off-shore teams preferred.
- The x86 micro-architecture and/or ARMv8 and/or RISC-V64 knowledge and peripherals preferred.
- Experience using JTAG testing and/or run-time debugging tools / software, . HDT, DS-5, ITP, OpenOCD, GDB, et al, will be preferred.
Key Responsibilities:
- Communicate with design team and users to understand and define the hardware debugging software requirements.
- Investigate project roadmaps and product technical documentation to understand software impact. Translate these requirements/impacts into executable task plans.
- Write development documentation and contribute content to end user documentation.
- Architect and design the hardware debugging/testing software.
- Software development, unit and integration test, debugging, post release support and software configuration management.
- Own one or a few of functionality/feature development of debugging/testing software. Responsible for design and management of software development activities for the project