Siemens Software Engineer - Advanced- MPI in Lebanon, New Hampshire
Software Engineer - Advanced- MPI
Locations:Lebanon, New Hampshire
Job Family: Research & Development
Division: Digital Factory
Business Unit: Product Lifecycle Management-PLM
Requisition Number: 234452
Primary Location: United States-New Hampshire-Lebanon
Assignment Category: Full-time regular
Experience Level: Mid level
Education Required Level: Bachelor's Degree
Travel Required: 5%
Siemens Digital Factory offers a comprehensive portfolio of seamlessly-integrated hardware software and technology-based services in order to support manufacturing companies worldwide. Siemens PLM Software, a Plano, Texas-based business unit of the Digital Factory Division, is a leading global provider of product lifecycle management (PLM) and manufacturing operations management (MOM) software, systems and services with over nine million licensed seats and more than 77,000 customers worldwide.
For more information, please visit:
We are seeking a Software Engineer-Advanced to design and implement Distributed Data Parallel Applications. The candidate will benchmark, profile and optimize the SimCenter STAR-CCM+ application on a range of hardware.
The primary obligations of the role include designing, creating, and documenting high-quality, extensible software in a timely manner.
This position reports to the Manager of the Runtime team under the Software Framework division of the Platform department working on SimCenter STAR-CCM+. This position reports to the Director of Software
Framework in the Platform Department of Development. The Platform Department is part of Siemens Product Lifecycle Management, Simulation and Test Solutions.
• Implement support for vendor MPI libraries in our distributed memory parallel applications.
• Implement runtime arguments for optimal performance on a range of HPC hardware (InfiniBand, Intel Omni-Path, Mellanox).
• Implement support for a range of HPC environments and schedulers.
• Assist support engineers with customer HPC issues.
• Implement secure systems for managing compute resources used by STAR-CCM+ including authentication and authorization, APIs, and front-ends.
• Write and maintain technical design documents and new-feature documents.
• Write unit tests and functional tests.
• Collaborate closely as part of a large, distributed group of developers.
• Cooperate with engineers, testers, and product managers.
• Participate in peer-based code reviews and design reviews.
• Travel when necessary (up to 3%) to collaborate with other teams.
• Communicate project status during regular meetings.
• Use systems for managing development including Jira, Confluence, Git, and Stash.
Required Knowledge/Skills, Education, and Experience
• Bachelor’s degree in Computer Science or a closely related field + 5 years non-academic experience, or Master’s degree in Computer Science or a closely related field + 2 years non-academic experience.
Required technical experience
• Extensive experience (5+ years) in object-oriented software design and development.
• Experience with software QA including unit, acceptance, and regression testing.
• Intimate familiarity with C++, Java, Python, scripting languages.
• Familiarity with parallel computing paradigms (shared and distributed memory) and experience with the MPI Library.
• Experience of HPC Systems, including RDMA (InfiniBand, RoCE, Omni-Path) fabrics, batch schedulers (PBS, LSF, Grid Engine, SLURM), and basic system administration.
• Extensive experience working on large, distributed teams and navigating a massive code base.
• Experience with software development tool-chains (Git, Eclipse, Visual Studio).
• Excellent communication and collaboration skills.
• Ability to communicate complex technical issues clearly and to present data concisely.
• Proficiency at optimizing and benchmarking code for performance and memory.
• Comfort in a dynamic, fast-paced environment.
• Ability to handle multiple tasks with minimal oversight.
Required amount of travel
• Fewer than 10 days per year, mostly domestic.
Preferred knowledge, skills, or expertise
• TurboGears framework.
• STL, Boost, and Git.
• Successful experience working on large, commercial software products.
• Test-driven / test-first development.
• Experience with distributed systems authentication and/or token-based authentication.
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 at https://www.dol.gov/ofccp/regs/compliance/posters/ofccpost.htm .
Pay Transparency Non-Discrimination Provision
Siemens follows Executive Order 11246, including the Pay Transparency Nondiscrimination Provision. To learn more, Click here at https://www.dol.gov/ofccp/pdf/pay-transp_formattedESQA508c.pdf .