← Tillbaka till jobb

C++ Software Developer

  • Distans
  • Sverige
  • Engelska
  • Publicerad 06.10.26

C++ Software DeveloperContract: 6 months, B2B/FreelanceLocation: Fully remote About the ClientOur client is a leading supplier of Advanced Process Modelling software and digital design and operation technology and services to the process industries. Their products enable customers to explore the process decision space rapidly, reduce uncertainty and risk, and make better, faster and safer design and operating decisions through deeper understanding of their processes. Their software products are built on a sophisticated, state-of-the-art platform that supports all aspects of the development of large-scale mathematical models, their formal validation, and the performance of a range of mathematical computations based on these models. They are seeking a highly motivated C++ Software Developer with experience of working with mathematical and numerical methods. 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-the-art mathematical modelling environment. Your ResponsibilitiesDesign, implement and extend advanced algorithms for analysis, validation and manipulation of mathematical models and complex dataDevelop and optimise numerical algorithmsCollaborate closely with PhD-level experts in one or more of the following areas: 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 learningDevelop new functionality with a focus on software quality, long-term maintainability and testability, via appropriate design and testing methodologiesUnderstand user requirements from both internal and external users, translating 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 to achieve the above objectives EssentialDegree-level or equivalent qualification in software engineering, computer science or a closely related subjectStrong programming skills in C++Demonstrable object-oriented software design skills DesirableExperience developing multi-threaded applicationsExperience of Python programmingFamiliarity with unit testing frameworks (e.g. CppUnit and gtest) and integration testingUse of version control systems (especially Git)Exposure to Continuous Integration (CI) systems (e.g. Jenkins)Cross-platform software development (Windows and Linux)Experience with data formats such as XML, JSON and HDF5Experience with numerical libraries (e.g. Eigen, IPOPT)Familiarity with scientific computing, optimisation or machine learning 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 verbal and written communication skills