← Tillbaka till jobb

C++ (Numerics) Software Developer

  • Distans
  • Sverige
  • Engelska
  • Publicerad 06.10.26

C++ (Numerics) Software DeveloperContract type: B2B / FreelanceLocation: Fully remote (European Union) About the clientOur client is a leading supplier of advanced process modelling software and digital design and operation technology to the process industries. Their products help customers explore the process decision space rapidly, reduce uncertainty and risk, and make better, faster and safer design and operating decisions through a deeper understanding of their processes. Their products are built on a sophisticated, state-of-the-art software platform that supports all aspects of developing large-scale mathematical models, their formal validation, and a range of mathematical computations based on these models. The roleWe are seeking a highly motivated C++ Software Engineer with a particular focus on advanced numerical methods applied to the solution and optimisation of large systems of nonlinear equations. You will join an international, friendly and supportive development team, designing and implementing new functionality and influencing the future architecture of a state-of-the-art mathematical modelling environment. ResponsibilitiesDesign, implement and extend advanced numerical methods for large-scale system simulation and optimisation, for both conventional and High-Performance Computing hardware platformsDevise and implement novel solution algorithms in collaboration with senior and principal software developersDevelop new functionality with a focus on software quality, long-term maintainability and testability, using appropriate design and testing methodologiesUnderstand user requirements from internal and external users and translate these into development projectsInvestigate and resolve critical bugs efficientlyProvide technical support to internal and external usersCollaborate closely with fellow developers, architects, the Quality Assurance team and Consultant Engineers Essential qualifications and experienceMSc or PhD in Applied Mathematics or Numerical Analysis, with proven direct expertise (including scientific publications) in at least one of the following: linear/nonlinear algebraic systems; ordinary and/or partial differential/algebraic systems; solution of nonlinear programming/mixed integer optimisation problems; distributed computation; data-driven modelling and/or machine learningGood knowledge of algorithms relevant to at least two of the above topicsExperience of C++ programmingDemonstrable object-oriented software design skills DesirableExperience developing multi-threaded applicationsFamiliarity with unit testing frameworks (e.g. CppUnit, gtest) and integration testingVersion control systems, especially GitExposure to Continuous Integration systems (e.g. Jenkins)Cross-platform software development (Windows and Linux)Scripting languages such as PythonData formats such as XML, JSON and HDF5 Skills and attributesAbility to understand complex technical conceptsA desire to learn and strong problem-solving skillsAbility to work independently and as part of a teamStrong oral and written communication