C++ Software Engineer

Job Details

Location: Blindley Heath, Surrey, RH7 6JP

Contract type: permanent , full-time


Mark Roberts Motion Control products involve the integration of high-definition camera systems with autonomous robotic motion platforms controlled via embedded systems networked with remote servers deployed on both Windows and Linux platforms.

You will be involved in development cycles for both our existing range of Motion Control products as well as future new product developments where you will actively see projects through every step of evolution.


  • Produce technically compliant software design solutions which entirely satisfy the design brief
  • Produce software designs that are fully compliant with commercial goals in terms of estimated design time, estimated costs and estimated timescales
  • Be aware of market trends, potential future customer requirements, new emerging technologies and competitors solutions.
  • Be aware of customer & client requirements, other solutions and products in the market, cameras, robotic solutions and software accessories that might be useful, trends, usage, etc., so as to direct the development direction of our Software products and come up with better solutions.
  • Produce software designs that are well structured, solid, bug-free and robust with appropriate provision for embedded comments/documentations.
  • Produce software designs that are fully compliant to all appropriate design, machinery, safety &EMC/EMI standards appropriate to MRMC and our global markets.
  • Ensure all software designs are fully compliant with In-House Software Development Design Standards.
  • Liaise closely with mechanical, electrical & firmware design colleagues to ensure the final product design optimally integrates all design disciplines.
  • Actively support peer review of colleagues designs and provide constructive feedback.
  • Ensure all software designs are fully compliant with MRMC part number scheme.
  • Ensure all software development is fully managed through MRMC JIRA System and that release status information is accurately maintained.
  • Contribute to preparation of Software Design In-House Design Standards to document the methods adapted by MRMC to produce our devices. Document to address design standards in terms of preferred methods for design & development, structuring, modularisation, documenting, version control and embedded diagnostic features.
  • Develop verification methods to validate all elements of designs.
  • Actively engage with Pre-Production & Production to support assembly of first-offs, prototypes etc.
  • Where necessary, prepare installation instructions and define test methods.
  • Support detailed product testing to ensure compliance with customer specifications and/or appropriate design standards including functional, EMC/EMI, thermal, shock, vibration, safety etc.
  • Perform software updates from feedback from customers, production, product/production engineering in-line with MRMC Change Control Process.
  • Ensure all project activities assigned are completed with the allocated time/schedule. Provide regular and accurate feedback of progress.
  • Ensure all tasks are correctly scheduled and accurately maintained in JIRA.
  • Prepare & submit daily reports summary to Software Colleagues & Management.
  • Participate in Weekly Team Meeting to update progress of development.


Professional Skills 
  • Strong C++ knowledge and experience.
  • Dealing with tasks ranging from customer facing GUI development to mathematical & control algorithms.
  • QML programming experience.
  • Qt programming experience.
  • Multithreading applications.
  • Real Time Development.
  • STL and C++11/14 standards.
  • Graphical UI & UX design and coding.
  • MFC experience.
Personal Skills
  • Excellent attention to detail.
  • Strong communication and people skills.



Our success is only possible because of the team effort from everyone and we recognise the individual input of each person throughout our design and manufacturing process at MRMC.


  • flexitime
  • discretionary bonus
  • training and development opportunities
  • ample and secure parking

MRMC receives a large number of applications and we are not always able to provide individual feedback on your application. If you don’t hear from us within 15 working days from the date you have applied, it means the application didn’t meet minimum requirements to go onto the next stage of recruitment. We value your time and interest in MRMC and encourage you to re-apply if your circumstances change or you find another role with us that is more suitable to your skills and experience.

If you apply online for a position with Mark Roberts Motion Control, we will use the information you provide to assist in the recruitment and selection process. Information provided on the application form and CV will be retained in all cases in electronic format cases and/or hard copy for as long as is required for the purposes of: the administration of your application, consideration for roles in the future, forming the basis of your employment records, if your application is successful, discharging any legal or regulatory requirements. Mark Roberts Motion Control will process your personal data in accordance with our Privacy Policy which can be found on our web-site. If you need more information on how long your data is kept for, which varies, depending on a stage of recruitment you’ve gone through, please contact us and we will provide relevant information.
By submitting your application/CV online you are confirming you have read and accept the above and you are giving your consent to MRMC to process your personal and sensitive personal data for the purposes explained above.

Apply for this role

Please send your up to date CV to moc.ocomrm@rh to be considered for this position. MRMC will be delighted to hear from you. MRMC processes your personal data in accordance with the MRMC Privacy Notice. You have the right to object to certain processing activities of your personal data.