Software Engineer

Embedded System

Farnborough Area, UK

Full Time.

Reporting to: CTO

Salary: Negotiable depending on experience

The Role

We are looking for an Embedded Systems Engineer to assist us with the design and implementation of a command and control system for our in-house developed autonomous underwater drone.

BOSS Background

BOSS is a well-funded tech start up with financial and IP backing from two IOC’s, one of which is a well know Super Major.  Our vision is to disrupt the Marine Seismic industry through the development of a large-scale autonomous ocean bottom seismic data acquisition system, resulting in a step change reduction in the cost, time and HSSE risks required to acquire high quality OBS data. We help our clients to reduce their carbon emissions and their carbon footprint.

BOSS is developing a revolutionary, integrated seismic acquisition system based around long endurance, self-repositioning ocean bottom nodes.
These nodes are capable of multiple autonomous re-positions to allow rolling of the receiver array without having to recover and redeploy nodes. This, in combination with rapid deployment and recovery rates, allows for optimisation of seismic acquisition survey operations to minimise duration and
cost, and removes the requirement for ROV support.

We are still young enough to be fun, but we have a great business idea and we’ve already established a global company presence with significant potential.
We are partnered with some large companies who are influential within our industry and will provide you with valuable professional experience (and be easily recognisable on your resume).

The equipment we are building and the project we are working on are both interesting AND challenging (as well as ground-breaking and useful).
We are a friendly, diverse and inclusive workplace and welcome all applications. We consider safety and security a priority.

Required Experience & Qualifications

 • Have a proactive attitude and a professional approach to enable working independently with confidence

• Be a productive team member with excellent written and verbal communication skillsd

• Have a proven history of reading, interpreting and producing high-quality technical documentation such as diagrams and documentation for software design, datasheets of electronic components and project management tools


• Display technical aptitude and sound analytical, decision making, problem solving and project prioritisation skills

• Possess a Computer Science / Software Engineering / Mechatronic Engineering Degree or equivalent

• Proven Industry Experience

• C/C++ / Arduino programming experience

• Python programming experience

• Linux scripting and networking familiarity

• Understanding of common Version Control Systems (Git/BitBucket/SVN)

Desirable Qualifications & Experience

• Experience with operating and developing for MOOS, ROS or RTOS

• Programming autonomous C2 systems

• Full stack embedded system or IoT experience/experimentation, from baremetal firmware all the way up to the cloud

Bonus Value Skills:

• Awareness of typical data storage approaches or solutions such as use of SQL (eg. MySQL)

• User interface design and implementation using Grafana or similar

• Experience working with control systems and electronics including related tools. e.g. KiCad.

• Experience in embedded Linux software development.

• Docker experience

• AWS experience/familiarity

• Machine learning or computer vision experience

General responsibilities

The role is broad – you will be required to assist with researching and analysing design concepts, designing and implementing solutions and testing/evaluating the development of C++ embedded system firmware and software modules across multiple platforms and from multiple aspects. Any prior experience or experimentation with IoT development will be beneficial.

Development of the control system will be within an autonomous middleware framework, with some potential to re-direct your focus and specialise in your preferred skillset as the project progresses.

The position may present opportunities for some domestic and international travel, both overseas within the company or meeting with stakeholders and to support testing and trials throughout project phases.

Specific responsibilities include, to lead the following project components:

• Establish a local BitBucket server as a solid foundation for accelerating in-house development of the project

• Build and execute a Docker container snapshot of the autonomy system to conduct stress testing utilising cloud resources

• Develop and implement a detailed testing plan for our existing Proof of Concept development

• Maintain and improve existing C++ software modules across a multi-platform embedded systems project

• Design and implement new software modules and interfaces

Primary Responsibilities:

• Participate in analysing, designing, documenting, implementing, testing, deploying and maintaining systems and producing quality code applying an Agile-inspired developmental approach

• Prioritise project objectives within a team and manage work tasks and time independently