Qualcomm Staff Software Engineering – Virtual Platforms - Cork, Ireland (Evergreen)
Company: QT Technologies Ireland Limited
Job Area:
General Summary:
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:
1. Designing and developing SystemC TLM models to accurately represent SoC architectures.
2. Integrating components such as processors, interconnects, peripherals, and custom IP blocks into the SystemC simulator.
3. Collaborating closely with hardware designers, software engineers, and other stakeholders to understand system requirements and translate them into detailed SystemC models.
4. Extensive experience with C++ programming to ensure efficient and effective model development.
Preferred Qualifications:
1. 10+ years of Software/Firmware Engineering or related work experience.
2. 5+ years of experience developing Virtual Platforms or Simulators.
3. Experience in Unit Testing.
Top Preferred Skills:
1. SystemC TLM or QEMU.
2. Modern C++.
3. ARM Architecture (CPU, GIC, CoreSight Debug).
4. Firmware and/or Device Driver Development and Debug.
5. Git Revision Control.
Principal Duties and Responsibilities:
1. Leverage advanced software/hardware systems knowledge and experience to design, develop, create, and modify virtual models.
2. Define software requirements to develop complex SoC TLM models.
3. Design and implement TLM models for complex, large-scale products and systems.
4. Lead design, coding, and testing efforts to ensure that projects are completed to specifications and schedules.
5. Perform code reviews and regression tests, as well as triage and fix issues to ensure the quality of code.
6. 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:
1. Work independently with minimal supervision.
2. Make critical decisions that significantly impact program, product, or project success.
3. Utilize strong verbal and written communication skills to convey complex information, often requiring negotiation, influence, and tact.
4. Have a moderate amount of influence over key organizational decisions, being consulted by senior leadership for key decisions.
5. Perform tasks that often require multiple steps, extensive planning, problem-solving, and prioritization to complete effectively.
Minimum Qualifications:
1. Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
2. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
3. OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
4. 2+ years of work experience with Programming Languages such as C, C++, Java, Python, etc.
*References to a particular number of years experience are for indicative purposes only. Applications from candidates with equivalent experience will be considered, provided that the candidate can demonstrate an ability to fulfill the principal duties of the role and possesses the required competencies.
We are an Equal Opportunity employer; all qualified applicants will receive consideration for employment without regard to race, colour, religion, sexual orientation, gender identity, national origin, disability, veteran status, or any protected classification.
#J-18808-Ljbffr