C++ (Numerics) Software Developer
Department Software Technology Group
Team Kernel and Solvers Development
Employment basis Full-Time, permanent
Location Hammersmith, UK
Start date Immediate
Salary range: Competitive package
Siemens Process Systems Engineering (SPSE) is is a software development company delivering leading Advanced Process Modelling software (the gPROMS platform) and related model-based engineering and services to the process industries.
Currently employing 280 staff worldwide, SPSE has a well-established reputation for thought leadership and technology innovation, achieved via a substantial R&D programme spanning more than two decades. Following its recent acquisition by Siemens AG, the company is now embarking on a major further expansion of its R&D activities.
Our customers comprise many of the largest companies in the world. Some of them you will have heard of, others you may have heard of or used their brands.
SPSE’s software products and services help our customers improve their processes and product designs, enhance their operations, and be more efficient and effective during the R&D phase. For example, our software is being used in the design and development of Fuel Cell technology, the next big thing in electric vehicles.
We are now looking for a highly motivated C++ Software Developer, with particular focus on advanced numerical and symbolic computation applied to the solution and optimization of large systems of nonlinear equations. You will be part of an international, friendly and supportive development team, designing and implementing new functionality and influencing the future architecture of a state-of-art mathematical modelling environment.
The majority of development work in SPSE takes place within the Software Technology Group. As a member of the Software Technology Group’s Kernel-and-Solvers team, your duties and responsibilities will include:
- Implementing and extending advanced numerical methods for large-scale system simulation and optimization for both conventional and High-Performance Computing hardware platforms.
- In collaboration with SPSE’s senior Software Architects, devising and implementing novel solution algorithms.
- Ensuring software quality and maintainability via appropriate design and testing methodologies.
- Understanding user requirements, both from internal SPSE groups and external users; where applicable, translating these to development projects.
- Resolving critical bug fixes quickly.
- Providing technical support to internal and external customers.
- Collaborating closely with other gPROMS developers, the Quality Assurance team and our Consultant Engineers to achieve the above objectives.
What qualifications and experience you should have
- Proven direct expertise in at least one of the following areas:
- Linear/nonlinear algebraic systems
- Ordinary and/or partial differential/algebraic systems
- Solution of nonlinear programming/mixed integer optimization problems
- Distributed computation
- Data-driven modelling and/or machine learning
- Good knowledge of algorithms relevant to at least two of the above topics.
- Experience of C++ programming
- Demonstrable object-oriented software design skills
- Higher degree in a numerate subject (e.g. Physics or Applied Mathematics) or Computer Science
- Experience in developing multi-threaded applications
- Use of unit testing (e.g. GoogleTest) and integration testing
- Use of modern version control systems (especially Git)
- Cross-platform software development (MS Windows and Linux)
- Knowledge of Python scripting language
- Experience with data formats such as XML, JSON and HDF5
What skills and attributes we are looking for
- Ability to understand complex technical concepts
- A desire to learn and strong problem-solving skills
- Ability to work independently and as a team member
- Ability to communicate well in oral and written communication
We operate an open, diverse and flexible culture, providing independence, opportunity to innovate, early responsibility and open and respected leadership. We have a great working environment that is friendly and supportive, with a real focus on training and development.
As a SPSE employee, you will benefit from:
- Competitive salary
- Company pension
- Medical insurance
- Group life assurance
- 26 days of holiday per year, plus 8 days of statutory Bank Holidays
- Flexible working hours
- Comprehensive internal and external training programs
- Excellent career development
- Internal coaching sessions with a Professional Coach
- Cycle-to-work scheme
- Perkbox discount platform
- Great office environment, with free fruit, coffee and biscuits, and regular social events
- Reimbursement of subscriptions to professional bodies and cost of professional books
If you wish to apply, please click on the button 'Apply here'
If you wish to apply for this role, please click on the button 'Apply here'
- C++ Developers (Future Opportunities)
- C++ (Numerics) Software Developer
- Full Stack Software Developer
- Senior Consultant Engineer
- QA/Test Analyst
- Senior Consultant Engineer - Digital Applications
- DevOps Engineer
- Business Development Director, Formulated Products
- Campaign Manager - Energy
- Java Developers (Future Opportunities)
If you are interested in working for Siemens Process Systems Engineering but can't currently see a suitable role please click here.