Embedded
Company: Cerebras Systems
Location: Sunnyvale
Posted on: May 7, 2022
|
|
Job Description:
Job Description About The Role Developer Role: We are looking
for a talented and motivated individual, capable of defining,
designing, and integrating key software components on our embedded
stack. Take pride in writing high quality scalable, robust, and
testable code. Team player, capable of supporting other team
members when necessary and leading when the need arises. Good
understanding of embedded architecture, hardware basics, and
capable of solving complex cross functional problems. Test
Engineer/QA Role: We are looking for a talented and motivated
individual, capable of defining, developing and driving the
embedded test framework and regression testing. This is a critical
role with a significant impact to supplement the team's capability
to continue to develop at an aggressive rate while not sacrificing
overall quality. Responsibilities Developer: Bachelor's degree in
Computer Science or equivalent practical experience with 5 years of
industry experience Develop high-quality software for real-time
embedded applications Work with hardware, systems, and product
teams to define requirements and tradeoffs Participate in peer code
reviews to ensure software best practices and requirements
Collaborate in cross functional activities such as board bring up
and triaging efforts Define and document design details,
architecture, and test criteria Project planning and scoping of
technical tasks balancing trade-offs Capable of breaking down
complex tasks into smaller actionable pieces Test Engineer/QA:
Bachelor's degree in Computer Science or equivalent practical
experience with 5 years of industry experience Work with developers
to define and develop test automation and infrastructure Continuous
improvement of test coverage, performance and speed Break down
complex systems into testable sub blocks Build out the embedded
test framework to emulate running on real systems Create
verification test plans and protocols Write scripts to automate
testing and create tools for software regression tests Play a vital
role in raising the quality of software and identifying areas of
risk Work cross-functionally to identify and root-cause failures in
the field Requirements Developer: Proficient in C, C++ in a
multithread, multiprocessing environment Familiar with device
protocols: I2C, SPI, RS485, JTAG, UART, PCIe and USB Experience
with ARM32 microcontrollers running bare metal or an RTOS Writing
software and configuring multicore ARM64 processors running Linux
Good software practices: OOP, abstraction layers, documentation,
and modularity Use of emulators, debuggers, oscilloscopes, logic
analyzers and comfortable reading schematics Board bring up with
limited support, able to debug and troubleshoot complex problems
Defining requirements, test plans, writing unit and regression
tests Test Engineer/QA: At least 3 years of collaborative
development in Python specific to testing Experience interfacing to
Embedded Systems running Linux or bare metal microcontrollers
Experience working with Git, Continuous Integration (Jenkins) and
Agile development processes Experience writing high quality
testable code and following good software practices Preferred
Skills Developer: Familiar with Bash, Make, Python and other
scripting languages Development with Git, Continuous Integration
(Jenkins), and Agile development processes Understanding of the
Linux kernel, device drivers, and uBoot Prior experience working on
a safety critical application Test Engineer/QA: Familiar with Bash,
Make, C/C++, and board design Experience working with RPi's and STM
Discovery boards and Jenkin nodes Experience interfacing with
device protocols: I2C, SPI, RS484, JTAG, UART, and CAN Experience
working with Pytest or a similar test framework
Keywords: Cerebras Systems, Sunnyvale , Embedded, Other , Sunnyvale, California
Click
here to apply!
|