Software Engineer, Senior – Virtual Platforms
- Source: LinkedIn
- Qualcomm
- On-site
- Bengaluru
- Full-Time
- Senior
Job Description
**Company:** Qualcomm India Private Limited
**Job Area:** Engineering Group, Engineering Group > Software Engineering
**General Summary:** As a leading technology innovator, Qualcomm pushes the boundaries of what’s possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world class products that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.
**Minimum Qualifications:**
- Bachelor’s degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
OR
Master’s degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field.
- 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.
**Minimum Qualifications:**
- Bachelor’s degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
OR
Master’s degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
- 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.As a Software Virtual Platform Engineer, you will specialize in virtual platforms, including SystemC TLM and QEMU. Your primary focus will be on developing high-level system virtual models of complex SoC hardware.
Key Responsibilities Include:
- Designing and developing SystemC TLM models to accurately represent SoC architectures.
- Integrating components such as processors, interconnects, peripherals, and custom IP blocks into the SystemC simulator.
- Collaborating closely with hardware designers, software engineers, and other stakeholders to understand system requirements and translate them into detailed SystemC models.
- Extensive experience with C++ programming to ensure efficient and effective model development.
**Preferred Qualifications:**
- 10+ years of Software/Firmware Engineering or related work experience.
- 5+ years of experience developing Virtual Platforms or Simulators
- Open Source Development experience
- Experience in Unit Testing
- Continuous Integration
- ARM Fast Models
- Server Architecture (RAS, Manageability)
**Top Preferred Skills**
- SystemC TLM or QEMU
- Modern C++
- ARM Architecture (CPU, GIC, CoreSight Debug) 4. Firmware and/or Device Driver Development and Debug
- Git Revision Control
Technologies: Virtual Platform, SoC Architecture, CPU Firmware, Software Engineer
**Principal Duties And Responsibilities:**
- Leverage advanced software/hardware systems knowledge and experience to design, develop, create, and modify virtual models.
- Define software requirements to develop complex SoC TLM models.
- Design and implement TLM models for complex, large-scale products and systems.
- Lead design, coding, and testing efforts to ensure that projects are completed to specifications and schedules.
- Perform code reviews and regression tests, as well as triage and fix issues to ensure the quality of code.
- Collaborate with individuals outside the software function (e.g., hardware, systems, and test engineers) to increase leverage and design solutions that work with other components of a specific project.
**Level Of Responsibility:**
- Work independently with minimal supervision.
- Make critical decisions that significantly impact program, product, or project success.
- Utilize strong verbal and written communication skills to convey complex information, often requiring negotiation, influence, and tact.
- Have a moderate amount of influence over key organizational decisions, being cons…
Skills
- cplusplus
- Java
- Python
- qemu
