• To plan, lead and manage system software, embedded software and firmware design and development projects
• Manage the embedded software design team including mentoring its junior members
• Responsible for all aspects of software and firmware design and development to meet product requirements from the initial concept, architecture and specification all the way through to the final verification
• Responsible for co-architecting the software-hardware partitioning with the digital design team
• Responsible for all phases of the design cycle (requirements gathering, specification, modeling, coding,verification, building, releasing, code and release maintenance, lab testing, support and documentation).
• Plan, lead and execute incremental updates and maintenance of existing software and firmware designs, test systems, and supporting environments.
• Plan, conduct and contribute to design reviews, provide input to characterization and qualification test systems, and deliver the software needed for other activities such as FPGA emulation, and system simulators
• Work closely with digital and analog design, VLSI, System, production, applications, and platform teams to develop and optimize the chip functionality and performance
• Contribute with his team to lab testing and debugging the design all the way from first silicon to productization
• Work with the applications engineers to provide adequate training and help address customer issues
• University degree in Electronics or Computer Engineering
• Minimum 12-13 years of embedded software design, development and management experience
• Experience building, growing and managing large teams is a strong plus
• Excellent command of English (verbal and written)
• Strong communication and interpersonal skills
• Highly motivated and independently driven with a Can-Do attitude
• Having strong project management skills is a must
• Ability to work with global, cross-functional teams
• Excellent understanding of best-in-practice software development such as agile; TDD and CI.
• Ability to derive software architecture and design from system requirements using formal specification methods
• Excellent knowledge and experience of software industry norms, practices and processes (e.g.,configuration management tools, issue tracking, revision control, ..) and having the discipline to enforce their use
• Experience in ARM based architectures and platforms, AMBA bus variants, boot loaders and OTA FW updates is a must
• Excellent knowledge of processor memory hierarchy, memory type selection and sizing,caching and memory management concepts and practices
• Experience with communication buses such as I2C, SPI, SDIO and common peripherals
• Working knowledge in Linux drivers and SDK development is a must
• Experience in C and its standards such as C90, C99 and C11, Assembly, multithreaded programming and RTOS
• Experience in TCPIP and socket programming
• Hands-on experience with debugging hardware issues using scopes, logic analyzers and JTAG debuggers with good analytical and debugging skills
• Experience with digital design or interfacing with the digital design team is a strong plus
• Experience with DSP algorithms, image and video coding, wired and wireless communications systems concepts and building blocks is a strong plus.
• Working knowledge of Windows and Linux application development is a strong plus
• Working knowledge of PCB design concepts and board bring-up is a plus
Potential candidates are welcome to forward their resumes with an email subject [MESW] to email@example.com
*This position can accept full time and permanent employees.
Every year Goodix sponsors a domestic or international trip, which provides employees with an excellent opportunity to explore the world together, build bonds and inspire each other.
Open WeChat, use "Scan" to follow.×