Our Vacancies

Early careers

Software Developer

  • Role Type
  • Permanent

  • Location
  • Prague

  • Closing Date
  • 30/09/2022

Job Description

We are looking for a new colleague, a Software Developer, to join our software team based in Prague.

The software developer designs and implements graphical user interfaces in software for powertrain engineering design and analysis, engine development, and gas/fluid dynamics simulation.  They participate in the entire software lifecycle - defines requirements, writes/reviews design documents, implements the approved design, writes and conducts tests, corrects deficiencies, conducts code reviews, writes user documentation and aids the support team.

Job Duties

Development of new software or features: liaising with commercial and product teams to understand customer needs; propose solutions; design and implement the chosen solution.
Maintenance of existing Ricardo Software products: work with development managers and support to determine if enquiries should be elevated to change requests, and implementation of change requests for enhancements and bug fixes
Delivery of projects in an agile environment, and to ISO 9000 quality standards
Specification and creation of tests to demonstrate the correctness of code; tests programs as necessary; correction of any shortcomings revealed by in-house or external testing
Providing second line technical support: working with our support team to find solutions to the customer enquiries

The candidate must have the following

Degree in computer science, engineering or equivalent technical degree.
Proficiency in C++, with a minimum of two years related experience, ideally in user interface and/or graphics programming.
Proficiency in using object-oriented concepts to solve complex problems, preferably in a modelling and simulation context; understanding of complex data structures and data manipulation algorithms.


The ideal candidate will have most of the following

Experience with a revision control system (CVS, ClearCase, git, etc.)
Knowledge of or ability to learn general graphics programming; also user interface toolkits, specifically Qt
Ideally experience with both Microsoft Visual Studio and Linux development environments
Excellent verbal and written communication skills (must be able to explain his/her ideas to a wider audience including those without a programming background)

Additional skills that would be advantageous include

Experience with Python
Experience with Rust
Experience of agile development (especially Scrum)

Experience or understanding of fluid mechanics, thermodynamics, engines and general engineering a bonus