Position :: Staff Embedded Software Validation Engineer
Location :: Palo Alto, CA (4 days a week onsite)
Duration :: 12+ months contract
Interview :: Video
Job Description:
Duties:
* Create and execute test plans, test cases, and test scripts to validate functional, non-functional, and regression testing for embedded software components
* Design, develop, and maintain automated tests and tools on embedded software systems in automotive environments, including application-layer firmware, infotainment/UI, Android, and multimedia
* Design, build, bring-up, and scale remotely accessible test stations with production-intent hardware and peripherals, to accurately represent automotive environments
* Collaborate cross functionally to: Review requirements for completeness and testability; Analyze and provide feedback on system architecture; Build, review, and expand infrastructure needed to simulate automative behaviors and automate tests; Derive test scenarios from requirements, use cases and analysis of system design; Develop and test in tandem with developers, troubleshoot and resolve bugs, and raise the standard for high quality software and functionality through iteration and automation
Qualifications
PYTHON is very important
* Bachelor''s, Master''s, or PhD degree in Electrical/Mechatronics Engineering, Computer Science, or related field
* Minimum of 5 years of experience in software testing, with embedded systems in the automotive industry
* Experience writing automated tests in test frameworks such as Pytest, Slash, Robot Framework, or similar
* Strong experience debugging embedded systems at a module and/or system level, and the ability to triage nightly regression failures
* Experience with software testing tools, frameworks, and methodologies (e.g., requirements-driven test development, unit testing, integration testing, system testing, automated testing)
* Experience validating embedded software features across one or more of the following domains: network communication, IoT and connectivity, multimedia, UI, Android, and low-voltage power distribution
* Strong programming skills in Python language used in embedded software development and verification for automotive
Preferred Requirements:
* Experience with automotive diagnostic tools and testing environments
* Experience testing Android and/or iOS devices
* Experience with automotive standards and regulations such as ISO 26262
* Experience with electrical wiring, circuit building, and troubleshooting, with the ability to read and create basic electrical schematics
* Proficiency in C/C++, or other relevant embedded software development languages
* Knowledge of automotive communication protocols (e.g., CAN/CAN-FD, Ethernet (MQTT, GRPC, DDS, etc.), LIN, etc.
* Working knowledge of IDLs such as DBC, LDF, ARXML, and work with internal IDLs and frameworks
* Knowledge of sensing and measurement principles, including analog and digital sensors, signal conditioning, and data acquisition techniques
* Familiarity with hardware-in-the-loop (HIL) and software-in-the-loop (SIL) testing on Linux-based environments
* Familiarity with continuous integration and continuous delivery (CI/CD) practices