Software Engineer

Company:

Microsaic is a small world leading manufacturer providing cutting edge instrumentation to the chemical industry.

The company manufactures a small Mass Spectrometer which is being targeted at a range of environments including drugs manufacture. The software team provides an application which both controls the instrument’s functions and displays and analyses the data retrieved. The main application is written in Java, and we are developing a new Web GUI for the Mass Spectrometer.

Current work within the software team:

One key project is to develop a new web GUI, which is expected to eventually replace the existing Java Swing GUI. We will develop this using an Agile style process, where we get our stakeholders to pick what features should be implemented next and frequently review progress. Our new developer will have a key design role in the project, including recommending which technologies to use.

Other projects the new developer will be involved in include a major refactor of the existing java code base, which is particularly challenging.
We are also working on new features that allow the mass spectrometer to be used in exciting new fields, such as drugs manufacture and automated reaction monitoring.
Note that this is not an embedded software role – the mass spectrometer includes a PC motherboard running Linux, and we use normal development tools to develop the software.

Role:

We require an intermediate level software engineer with experience developing software in Java and experience developing Web GUIs, to join our small software team.

The role would suite a developer with a few years of commercial development experience who would like to take on more responsibility. We are a small team and everyone has a big impact. There is a lot of interesting science going on in the office, which greatly adds to the interest of software team’s work.

Responsibilities:

  • Develop our new Web GUI (currently a prototype) that will report the state of the instrument, control the instrument and display results. The view presented will be user-role specific.
  • Add new features to the Java application, including support for new hardware and to enable the instrument to be used in new environments and workflows.
  • Fix bugs and provide customer support for the software
  • Thoroughly test your own code
  • Write unit tests for new and existing code
  • Refactor the existing Java code base to improve the structure
  • Mentor a junior developer

Essential Skills:

  • Strong Java 8 (or later) language and library skills including collections – minimum 2 years commercial Java required
  • Good knowledge and experience of developing with web technologies, which must Java Spring MVC, HTML, and Bootstrap (or similar)
  • Strong debugging skills
  • Good understanding of multithread software
  • Source control tools e.g. SVN or Git
  • Issue tracking systems e.g. Jira
  • Software development life cycle
  • Strong verbal and written communication skills

Desirable/Nice to have:

  • Web technologies (any of): JavaScript, Bootstrap, Material, Thymeleaf, Angular, React, Spring boot, CSS, etc
  • Object Oriented Design
  • Design patterns and UML
  • Microservices
  • Linux commands and administration
  • Unit testing
  • Sockets/networking
  • Python
  • C++
  • Agile process
  • Interest in chemistry
  • Interest in mass spectrometry

Qualifications:

  • Degree in Science, IT, Maths, or similar (2:1 or better).

General:

Salary: Negotiable, dependant on experience
Location: Woking, Surrey
Start Date: As soon as possible
Benefits: 25 days leave (increases after 3 years), 35 hour working week, 7.5% company pension contribution, flexible working