Numerics - software engineer
Business Unit: Research in Digitalization and Automation
Requisition Number: 240895
Primary Location: United States-New Jersey-Princeton
Assignment Category: Full-time regular
Experience Level: Entry level
Education Required Level: Master's Degree
Travel Required: 10%
Do you dream about better ways to avoid compounding numerical errors arising from approximate mathematical procedures? Do you understand what it takes to efficiently represent 16,777,217 as a float?
If you answered YES! to these questions and more alike, come and join our team NOW, we NEED you!
SIEMENS Corporate Technology is looking for a talented Software Engineer with deep know-how and interest in Numerics, who would like to join our Product Design, Modeling and Simulation (PSM-US) Research Group of the “Simulation and Digital Twin” Technology Field, in the Tri-state area.
We need your help to build the world's most advanced modeling, simulation and optimization software stack for large scale computer aided engineering and manufacturing infrastructure, in collaboration with our partner startups, leading academic institutions and government agencies. We're currently bringing onoard talented engineers like you to create and maintain a 24x7, no downtime, infrastructure system that can run billions of concurrent non-linear simulations in real-time, continuously, non-stop!
Our team is composed of makers, innovators, engineers and scientists with deep technical expertise, who are passionate about disruptive technologies in the areas of Modeling, Simulation, Engineering, Artificial Intelligence, Machine Learning and Optimization. Our deliverables enable the successful transformation of the technology trends in Digital Twin into the business of the future for a multitude of customer products and services.
Experienced candidates in these areas as well as those with advanced degrees who have research background in these topics with the skills and interest in applying their research and introducing innovative technologies into Siemens products are encouraged to apply!
We want to teach machines to model, simulate and optimize parts, products and systems better than ever before and become perfect companions for engineers in need to accelerate by 1000x their workflows. Our mission is to free engineers from the burden of repetitive and non-creative tasks and allow them to truly explore the immensity of their design spaces, efficiently and with confidence in the results.
Our team is located in the wonderful Princeton NJ, a university town packed with outstanding international talent that provide a unique feel to this true cultural gem in the state. The town has plenty of activities to offer, but for those looking for more, at just about 1-h drive we have NYC or Philly! We have the best public schools in the country and all of the above glued together by a very active and welcoming community!
The candidates will be responsible for:
- Identify, evaluate and implement new numerical solvers and techniques in collaboration with technology startups, leading academic institutions and government agencies,
- design, prototype, implement, evaluate and improve the latest parallel algorithms for the solution of large sparse linear systems
- Develop and support a large collection of linear solvers
- Communicate complex ideas and testing results effectively, both orally and in writing, and provide recommendations and support to internal engineering teams through accurate and effective written documentation
- Seeking advocacy from Siemens business units on potential use cases, while educating and transferring technologies back to Siemens businesses for product implementations.
- Collaborating with others, both within and outside Siemens, to develop successful research proposals for external funding that align with Siemens strategic direction.
- MSc required, PhD preferred, in Computational Science, Mathematics, Computer Science, Physics, or equivalent, with 2-4 years of related experience
- Outstanding coding skills and ability to write high quality code in both C and C++, “code it right the first time”
- Experience with parallel programming, especially pthreads, OpenMP, and MPI
- Strong mathematical fundamentals, including but not limited to linear algebra, numerical methods and advanced knowledge of MINLP algorithms development on different platforms, operating systems and hardware
- Experience in implementing direct and iterative solvers for the solution of large sparse linear systems.
- Experience in Numerical optimization schemes on CPU and GPU, with know-ow in CUDA or OpenACC is preferred.
- Good communication and organization skills, with a logical approach to problem solving, good time management and task prioritization skills, with motivation to learn and use new technologies, work under uncertainty at fast pace, and ability to multitask and make key contributions to several projects