Cairn Research Ltd are recruiting for a scientific software developer with experience in electronic engineering. A large part of the position will initially involve the completion and maintenance of STRÏMM (Synchronised Trace Recording In ImageJ and MicroManager – pronounced ‘stream’), a new open source software package designed to provide high speed data acquisition from multiple sources in a synchronous paradigm. This combines features from the existing programs of ImageJ and MicroManager, whilst also utilising other technologies such as the Akka streaming framework, and the programming language Kotlin.
The job will also involve working within our R&D team to help develop and progress our product line, the ability to interface and develop using MicroChip, Atmel and ARM microcontrollers as well as knowledge of FPGA devices will be highly desirable. A good grounding in analogue circuitry would be beneficial.
This could be a great opportunity for the right applicant, to work for a friendly small company, that appreciates its workforce yet respects the requirements to produce high quality work and complete orders in a timely fashion. Set in an idyllic location we are based just outside Faversham, and surrounded by farmland.
• Ongoing development and maintenance of the STRÏMM software.
• Writing device drivers and incorporating hardware into software packages including STRIMM.
• Working with R&D department to help develop new products.
• Designing and programming microcontroller control systems for current products.
• Troubleshooting previously developed circuits.
• Liaising with the Production department to ease the transition between Product Development and Production.
• Soldering and testing prototype products.
• Experience of programming in Java/Kotlin.
• Proven experience working on applications.
• Experience with Java Swing and Java FX UIs.
• Experience with unit testing.
• Understanding of Java native interfaces
• Experience with C/C++ .
• Experience with modern C++ (C++11/14/17) preferred.
• Experience with software development lifecycles and application deployment.
• Experience working with source control, preferably Git source control.
• The ability to communicate effectively to multiple stakeholders.
• The ability to manage your own time.
• Experience with MicroChip and Atmel microcontrollers.
• Electronic circuit development and layout.
• Knowledge of FPGA devices.
• Experience of developing ImageJ
• Macro language & programming framework
• Programming in ImageJ v1.x and/or v2.x
• Knowledge of MicroManager v1.x or v2.x
• Experience with developing data streaming
• Akka streaming framework
• Knowledge of or experience developing with acquisition hardware i.e. cameras, sensors, electrodes etc.
• Understanding of scientific experiment methodology, specifically biomedical/biophysical research