Have you considered using our job search? Click here to search our current jobs.

Have you considered using our job search? Click here to search our current jobs.

Software Engineer - Advanced


Motors and Power Systems, Electronics, Research Engineering, Software Engineering and Connectivity
Malmesbury - United Kingdom


Dyson offers a unique opportunity for a talented and experienced Software Engineer in the Technical Research Team, within Dyson’s Research, Design and Development (RDD) department; based in Malmesbury, Wiltshire, U.K.


The software engineering role will involve:  

• Producing high quality software for embedded, resource constrained platforms, including RTOS and bare metal based systems for motor, heater or battery management applications. 

• Developing scripts and tools to automate testing of software. 

• Developing software for demonstration rigs to convey ideas to others. 

• Implementing various control algorithms on embedded systems, along with modelling and analysis of algorithms on Windows or Linux based hosts. 

• Producing well-structured software for transfer to the downstream development teams at particular milestones. 

• Taking part in software reviews. 

• Working with different product teams to gain an in depth product understanding, while using knowledge of the latest technologies to create innovative electronics systems and solutions. 

• Reviewing relevant papers, patents and meeting with companies to keep informed of emerging technologies.

A key focus for any successful applicant will be to research into new technology and look at ways of incorporating this into future products. 

A successful applicant will be expected to: 

• Develop the concept, proving key technologies and demonstrating the system feasibility. 

• Produce clear, well written documentation prior to handover to the development teams. 

• Demonstrate designs are robust, cost effective and fit for purpose for a high volume manufacture environment, through detailed laboratory testing, simulation and analysis.


Education and experience: 

• BSc/MSc degree in Computer Science, or other relevant discipline, or a demonstrable level of industrial experience in a relevant industry. 

Technical knowledge:

Applicants should ideally have experience in the following areas: 

• Hardware: 

o Excellent general knowledge of microcontrollers, preferably including ARM Cortex M devices. 

o Knowledge of a wide range of serial interfaces (e.g. I2C, SPI, UART, USB, I2S). 

o Knowledge of memory devices is desirable e.g. NAND, NOR, SRAM, DDR etc. 

o Experience of application processors. 

o Understanding of electronics and the ability to debug at the circuit level. 

• Software: 

o Experience of defining software level requirements. 

o Experience of C/C++ programming for embedded systems. 

o Experience of unit/acceptance testing and design for test. 

o Ability to analyse assembly code. 

o Use of Matlab or Python for data acquisition, analysis and automation of software. 

• Design Tools: 

o Use of Git for software version control. 

o Atlassian tools, including Jira, Confluence and Bitbucket. 

o Keil µVision, IAR or similar IDEs. • Design Techniques: 

o Good quality engineering process understanding and appreciation. 

o Ability to read and analyse datasheets and technical reference manuals. 

• Lab experience 

o Experience of working in a laboratory environment. 

Essential behavioural skills: 

• Good analytical ability and attention to detail. 

• Ability to communicate appropriate, concise and accurate information in written and verbal format. 

• Ability to adapt or generate imaginative and innovative ideas, in line with core Dyson values. 

• Ability to multi-task and plan effectively when working with a variety of project teams. 

• Excellent team working skills. 

Additional experience that is desirable: 

• Experience of documenting designs with the UML. 

• Robust design including FMEA techniques. 

• Class B software development. 

• Design for high volume manufacture. 

• Experience of programming on Android operating systems running on application level processors. 

• Experience of FPGA design. 

• Digital signal processing experience. 

• FreeRTOS or ThreadX experience.


27 days holiday plus eight statutory bank holidays

Pension scheme

Performance related bonus

Life assurance

Sport centre

Free on-site parking

Subsidised café and restaurants

Discounts on Dyson machines