Develop, refine, and maintain system-level methodologies and software tools for efficient SOC creation, with a primary focus on top-level assembly tools and flows written in C++
Design, implement, and test robust software components (APIs, libraries, command-line tools) to streamline SOC design and assembly through innovative integration efforts
Build and improve automated test infrastructure (unit/regression) to ensure correctness, scalability, and long-term maintainability of SOC assembly workflows
Spot inefficiencies in the SOC/front-end implementation and assembly process and propose actionable improvements (tooling, workflow, usability, performance)
Collaborate across teams to drive standard methodologies and continuous improvement in SOC development, including requirements gathering, documentation, and user support
Enable high-quality RTL and integration collateral delivery to downstream teams with thorough quality checks, automation, and reviews
Occasionally use the top-level assembly tools/flows for IP integration and SOC assembly tasks, helping validate and improve methodology in real projects
Contribute scripting and infrastructure improvements (e.g., automation, CI, build systems, environment setup) to accelerate methodology adoption
Requirements
BS or MS in Computer Engineering, Computer Science, Software Engineering, Electrical Engineering, or equivalent experience
3+ years of hands-on software engineering experience, ideally developing C++ tools used in design/automation or other large-scale engineering workflows
Strong analytical and problem-solving skills, with a focus on debugging complex systems and improving reliability/performance
Strong C++ programming skills, including design for maintainability, code reviews, testing, and performance awareness
Proficiency in Python, Perl, or similar scripting languages for automation and workflow improvements
Working knowledge of SOC integration concepts and RTL-to-implementation flows (e.g., synthesis, place and route, timing/quality checks) is a plus
Excellent communication and teamwork abilities to build consensus within and across teams, translating user needs into effective tools and processes