What are the responsibilities and job description for the Firmware Software Engineer with Embedded position at K&K Global Talent Solutions INC.?
K&K Talent Solutions inc is an International recruiting agency that has been providing technical resources in the European, Canada and the USA region since 1993.
This position is with one of our clients in USA , who is actively hiring candidates to expand their teams.
Role: Firmware Software Engineer with Embedded
Location: Sunnyvale, CA(Hybrid)
Employment Type: Contract/Fulltime
Job Description:
The main function of a firmware software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the software and systems that make computers work. A typical firmware software engineer designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Job Responsibilities:
- Develop high quality code using the C and C programming languages for embedded environments, with portability to various processors and platforms
- Develop optimized firmware for the Graphics and Display pipelines to support the product use cases
- Work with internal teams and vendors to improve and tailor existing firmware, device drivers, stack and applications to project needs
- Debug issues across the software stack including hardware functionality and develop quick workarounds to time-critical issues and provide long term solutions
- Writing new tests and maintaining existing tests including unit tests, manual and CI automation
Skills and Experience:
- 6 years of industry experience developing and testing low level firmware for embedded systems
- Solid programming skills using C and C , and experience developing production code and test applications
- Experience with RTOS and developing multi-threaded applications
- Expert knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
- Experience with CI/CD development tools and processes
- Scripting skills using Python or other languages for developing simple utilities and test automation
- Knowledge of AR/VR technologies and/or basic understanding of Graphics and Display systems is a plus
- Expert problem solving skills to troubleshoot issues and make system changes as needed to resolve issues
- Expert ability to work independently and manage one’s time
- Strong verbal, written communication skills and interpersonal skills
Education:
Bachelor's degree in computer science, software engineering or relevant field required.