We are seeking a seasoned Software Engineer with a strong background in computer architecture or networking. The ideal candidate will play a key role in shaping our technology portfolio, bringing expertise and creativity to our solutions by developing high-quality system software, optimizing algorithms, building performance models, and collaborating closely with hardware teams.
Roles and Responsibilities:
- Develop system software in Python and C++ .
- Develop core software optimization algorithms and platforms.
- Build performance models of different IPs (Intellectual Properties).
- Work closely with hardware teams to implement configuration knobs for IPs.
- Execute verification test plans to produce high quality software.
- Participate in the design, development, and architecture of scalable and reliable software solutions.
- Contribute to system-level architecture discussions and propose improvements or optimizations.
- Collaborate with cross-functional teams, including hardware design and verification teams, to ensure seamless integration and product quality.
- Debug and troubleshoot software issues, ensuring robust and efficient performance.
- Document code, designs, and processes for maintainability and knowledge sharing.
Qualifications and Preferred Skills:
- Strong object-oriented programming skills with Python and C++ .
- Expert level knowledge of Data Structures and Algorithms .
- Expert level knowledge of building concurrent system models .
- Strong understanding of computer architecture, memory hierarchies, and networking concepts .
- Understanding of software systems design and modeling.
- Experience with modern code development practices: Git, CI (Continuous Integration), UI (User Interface) .
- Excellent problem-solving skills and attention to detail.
- Robust communication and collaboration skills.
- Ability to analyze complex technical problems and propose effective solutions.
QUALIFICATION:
- BS, MS in Computer Science, Computer Engineering or El