Software Engineer I - Computational Fluid Dynamics (CFD)
Role details
Job location
Tech stack
Job description
-
Develop and maintain software features that extend solver capabilities across CPU and GPU platforms, guided by senior engineers.
-
Implement new functionality in pre- and post-processing code, ensuring correctness, performance, and maintainability.
-
Collaborate with software engineers, product managers, and technical account managers to understand requirements and deliver high-quality solutions.
-
Participate in sprint planning, sprint reviews, and feature design meetings, contributing to project planning and continuous improvement.
-
Debug and troubleshoot defects in a systematic way, maintaining application performance and code quality.
-
Write and maintain unit tests, integration tests, and regression tests as part of the standard development workflow.
-
Engage in code reviews to give and receive constructive technical feedback, supporting a culture of quality and shared ownership.
Requirements
-
A degree (or equivalent experience) in Physics, Mechanical Engineering, Aerospace Engineering, Computer Science, Mathematics, or a closely related technical discipline.
-
Proficiency in modern C++ (C++17/20) through academic projects, coursework, or personal/open-source work.
-
Strong mathematical foundations, particularly in areas relevant to physical simulation (e.g. linear algebra, differential equations, numerical methods).
-
An understanding of software development fundamentals: version control (e.g. Git), testing practices, and structured problem-solving.
Additional Skills/Preferences:
-
Exposure to CFD principles or numerical methods, through study or personal projects.
-
Familiarity with parallel computing concepts or frameworks (e.g. OpenMP, MPI).
-
Any experience with GPU APIs such as CUDA.
-
Experience working in an Agile development team.
-
Background in scientific or engineering software, scientific visualisation, or CAD tools.
-
Clear and confident communication with both technical and non-technical stakeholders.
-
Methodical, process-oriented approach to software development.
-
Ability to manage time effectively and prioritise tasks in a deadline-driven environment.
Benefits & conditions
Pulled from the full job description
- Employee stock purchase plan
- Life insurance
- Company pension
- Cycle to work scheme, You will join a collaborative Solver team working at the intersection of scientific computing and production software engineering. The team operates using Agile methodologies with regular sprint cycles, design reviews, and cross-functional collaboration.
You will have access to experienced mentors and structured onboarding to help you develop quickly. Tools and technologies in use include modern C++, GPU computing frameworks, version control systems, and internal simulation platforms.
Check what we can offer you:
-
Competitive salary
-
25 days holiday per year
-
Private Medical and Dental plans, Income Protection and Life Insurance
-
Group Personal Pension Plan
-
Cycle to work scheme and gym subsidy
-
5 days paid time to volunteer to give back to our communities
-
Employee Stock Purchase Plan
-
The opportunity to work for a Great Place to Work© & Fortune 100 organization
Cadence is committed to equal employment opportunity and employment equity throughout all levels of the organization. We strive to attract a qualified and diverse candidate pool and encourage diversity and inclusion in the workplace.