AVEVA is creating software trusted by over 90% of leading industrial companies.
Job Title: Senior Optimisation Developer
Location: Cambridge, United Kingdom (Hybrid)
Employment Type: F ull-time
The job
We are looking for a Senior Optimisation Developer with a strong mathematical background and experience in numerical modelling or mathematically intensive software development. This is a hands-on senior software development technical role within the USC Optimisation team. The team develops advanced optimisation technology that helps refineries improve operational efficiency and supports complex refinery planning. The position is ideal for someone who can independently investigate complex problems, work effectively in an established codebase, and grow into broader technical leadership over time. Experience in linear algebra and/or Lagrangian analysis is highly desirable. Programming ability is required , but prior C++ experience is not essential. The ideal candidate will have both postgraduate/research experience and industry experience however, candidates with either are encouraged to apply.
Key responsibilities
Contribute directly to the design, implementation, maintenance and improvement of industrial optimisation software and related numerical modelling components.
Investigate complex mathematical, algorithmic and software engineering problems independently and drive them through to resolution.
Take ownership of large or technically challenging work items, breaking them down into manageable tasks and making sound implementation decisions with minimal supervision.
Work effectively within an existing and in some areas legacy codebase, balancing respect for established team practices with thoughtful technical improvement.
Apply strong mathematical reasoning to modelling, optimisation and algorithmic challenges.
Support the robustness, performance, quality and maintainability of optimisation code through effective debugging, profiling and diagnosis of build/runtime issues through extensive automated unit and regression testing.
Demonstrate the potential to lead technical projects or workstreams over time, even where no formal leadership responsibility is assigned initially.
Provide guidance, coaching and technical support to less experienced developers where appropriate .
Essential requirements
Strong mathematical background, supported by a postgraduate qualification (MSc, PhD, or equivalent experience).
Proven programming ability in at least one relevant language. (e.g. C++, C, C#, Fortran)
Experience of numerical modelling or mathematically intensive software development.
Demonstrated potential to lead projects or technical workstreams, even if formal leadership experience has not yet been required .
Ability to work effectively in a complex and evolving codebase.
Ability to communicate technical concepts clearly and work collaboratively with other developers.
Relevant industrial, research or advanced technical experience.
We welcome candidates from a range of mathematically intensive backgrounds with experience in modelling, simulation, or similar analytical fields . Relevant academic or professional backgrounds may include:
applied mathematics
theoretical physics
operations research
engineering disciplines with strong mathematical modelling content
computer science with significant numerical or algorithmic depth
other computational science
Desired skills and competencies
Experience using and maintaining build and meta-build systems.
Experience of debugging tools, including debuggers, performance profilers and memory profilers.
Experience with source control systems and continuous integration/continuous development i.e. git and Azure DevOps.
Background in one or both of:
Linear algebra
Lagrangian analysis
Problem solving – able to break down difficult technical and mathematical problems and develop practical, effective solutions.
Critical thinking – evaluates evidence objectively and makes reasoned technical…