Overview
Skills
Job Details
We are seeking a Software Infrastructure Engineer to join our End-to-End (E2E) System and Infrastructure team. In this pivotal role, you will be instrumental in building, scaling, and maintaining the essential laboratory software infrastructure that underpins our Firmware (FW), Software (SW), and Design Verification (DV) development, as well as system integration efforts. Your work will span both pre-silicon and post-silicon platforms, ensuring high confidence and efficiency in our silicon development lifecycle.
Responsibilities
Develop robust automation frameworks to accelerate prototyping, system provisioning, silicon/software validation, and system integration with high confidence.
Create innovative tools to streamline reliable software deployment, test execution, and data analysis within our continuous integration and release systems.
Design and distribute library APIs to orchestrate silicon development platforms, automating stimuli input and capturing data streams from various interfaces on silicon evaluation boards and FPGA/Emulation platforms.
Perform hands-on integration and troubleshooting of distributed software infrastructure.
Develop data loggers for existing dashboards and automate health monitoring systems.
Integrate libraries from third-party hardware vendors with in-house solutions.
Basic Qualifications
Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
3+ years of professional experience in software and test automation, with at least 1 year directly related to silicon or firmware validation.
Proficient in software design and programming with C/C++ and Python, demonstrating strong understanding of data structures, algorithms, and Object-Oriented Programming (OOP) principles.
Solid understanding of software testing methodologies.
Excellent communication skills and a proven ability to collaborate effectively with cross-functional teams.
Preferred Skills & Experience
Experience with integration and testing of complex systems.
Experience building or working with real-time embedded systems.
Knowledge of ASIC design flow and ASIC prototyping flow.
Experience with FPGA and hardware evaluation boards, EDA design tools, and/or Instruction Set Architecture (ISA) simulators.
* C/C++ (Preference: 5)
* Python (Preference: 5)
* ASIC/EDA flow knowledge (Preference: 3)
Absolute Must-Haves (Preference 5): The candidate must be highly skilled in both C/C++ and Python. These are the core programming languages for the job.
Strong Plus (Preference 3): Knowledge of ASIC/EDA flows is a significant advantage. It indicates that the candidate can better understand the needs of the hardware teams they'll be supporting, leading to more effective infrastructure development.