Software Firmware Engineer

PTR Global
Los Altos, United States of America
yesterday

Role details

Contract type
Temporary to permanent
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Los Altos, United States of America

Tech stack

Application Testing
Automation of Tests
Unit Testing
C++
Continuous Integration
Software Debugging
Programming Tools
Device Drivers
Distribution Softwares
Firmware
Systems Analysis
Python
Real-Time Operating Systems
Software Engineering
Multithreading
Scripting (Bash/Python/Go/Ruby)
Information Technology
Production Code

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., * 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

Requirements

  • 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.
  • Experience with RTOS and developing multi-threaded applications. Expert knowledge of the full software development lifecycle
  • 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/Experience:

  • 8+ years of industry experience developing and testing low level firmware for embedded systems. 10+ years of solid programming skills using C and C++, and experience developing production code and test applications
  • Bachelor's degree in computer science, software engineering or relevant field required.

Apply for this position