Siemens PLM Software is seeking an advanced software developer with HPC proficiency to contribute to our Simulation Framework team. The primary focus of this team is the development of high quality software that serves as an underlying framework for other parts of the STAR-CCM+ simulation product such as mesh generation and physics. The successful candidate will develop and optimize HPC framework for shared and distributed memory systems, including in support of both new and existing features.
The position reports to the HPC program manager, as part of the Simulation Framework division of the STAR-CCM+ Platform department.
- Design, implement, and extend HPC-specific framework for use on a range of systems and modern hardware.
- Interact with stakeholders to identify needs and requirements.
- Profile and optimize new and existing implementations to ensure scalability on shared and distributed memory systems.
- Collaborate closely as part of a large, distributed team of developers, testers, and managers.
- Participate in peer-based code and design reviews.
- Communicate project status during regular meetings.
- Use systems for managing development including Jira, Confluence, Git, and BitBucket.
Required Knowledge/Skills, Education, and Experience:
- Master’s Degree or higher in a related field (computer science, applied mathematics, or engineering).
- At least 3 years of professional software development experience in a related field.
- Expertise in C++ and object-oriented software development.
- Experience with designing/implementing distributed parallel algorithms via message passing (e.g., MPI).
- Experience with shared memory (threads) and instruction level (SIMD) parallelism.
- Proficiency at optimizing and benchmarking code for performance and memory.
- A sound understanding of algorithmic complexity.
- Experience working on large, distributed teams and navigating large, complex code bases.
- Experience with software development tool-chains (Git, Eclipse, Visual Studio, etc.).
- Ability to communicate complex technical issues clearly and to present data concisely.
- Ability to handle multiple tasks with minimal oversight.
Preferred Knowledge/Skills, Education, and Experience:
- Familiarity with computational simulation such as CFD and FEA.
- Practical experience with vectorization, SIMD, and GPGPU programming.
- Experience with graph partitioning and associated tools (e.g.,ParMETIS).
- Experience with parallel file systems (e.g., Lustre, Panasas)
Job ID: 181437
Organization: Digital Industries
Company: Siemens Product Lifecycle Management Software Inc.
Experience Level: Experienced Professional
Job Type: Full-time
Equal Employment Opportunity Statement
Siemens is an Equal Opportunity and Affirmative Action Employer encouraging diversity in the workplace. All qualified applicants will receive consideration for employment without regard to their race, color, creed, religion, national origin, citizenship status, ancestry, sex, age, physical or mental disability, marital status, family responsibilities, pregnancy, genetic information, sexual orientation, gender expression, gender identity, transgender, sex stereotyping, protected veteran or military status, and other categories protected by federal, state or local law.
EEO is the Law
Applicants and employees are protected under Federal law from discrimination. To learn more, Click here.
Pay Transparency Non-Discrimination Provision
Siemens follows Executive Order 11246, including the Pay Transparency Nondiscrimination Provision. To learn more, Click here.