Senior Software Engineer- GCS
JOB DESCRIPTION
Job title: Senior Software Engineer - GCS
Location: Fareham, Hampshire
Responsible to: Principal Engineer - GCS
Liaison with: All staff, sub-contractors, customers, and suppliers
About the role: To work on the development of user-facing Ground Control Station (GCS) software designed to enable operators to remotely control and monitor autonomous vehicles beyond visual line-of-sight. This role focuses on developing robust, intuitive interfaces using C++, Qt, QML, and JavaScript, while also incorporating modern UX principles and thorough testing methodologies.
You will be responsible for designing, implementing, and optimising user interfaces that must enable operators to navigate complex tactical situations without overwhelming them. You will be expected to run UI experiments with our in-house team of operations experts and with key customers to determine critical software requirements. You should be comfortable handling complex workloads across R&D, prototyping, and mission-critical production deployments.
Primary responsibilities include, but are not limited to:
- Work on the design and development of user-facing GCS software for autonomous vehicle monitoring and control.
- Build and maintain user interface software using C++, Qt, QML, and JavaScript.
- Engage with operators to gather requirements, validate usability, and refine user experience.
- Develop prototypes and storyboards to capture user requirements and iterate on design concepts.
- Ensure software robustness through rigorous testing, validation, and performance optimization.
- Collaborate with cross-functional teams, including autonomy and hardware engineers, to integrate software solutions.
- Document and maintain codebases with a focus on readability, scalability, and maintainability.
- Provide technical leadership and mentorship to junior developers .
PERSON SPECIFICATION
Essential qualifications, skills and experience:
- Extensive experience in C++ and Qt, ideally including QML and JavaScript.
- Strong understanding of user interface design principles, particularly for mission-critical systems.
- Experience defining software requirements, developing architectures, and producing robust implementations.
- Proficiency in software testing methodologies, including unit testing, integration testing, and user acceptance testing.
- UI testing techniques, including automated testing, usability testing, and end-to-end testing, is highly desirable.
- Strong communication skills and the ability to interact effectively with end-users to gather requirements.
- Proven ability to work independently and manage complex workloads effectively .
Desirable qualifications, skills and experience: as above but not essential for the role
- Experience with storyboarding and UX design software (e.g., Figma, Sketch, Adobe XD).
- Prior experience working in remote control systems, robotics, or defence-related industries.
- Knowledge of the maritime environment, nautical charts, or survey software.
- Familiarity with HTML/CSS and WebSockets.
- Familiarity with cloud-based systems, containerization
Key behaviours that align with our commitment to excellence, collaboration and efficiency within the workplace:
- To be punctual and manage workload effectively to meet deadlines and priorities
- Clearly convey ideas and information while actively listening to others
- Work well with colleagues to achieve common goals and support team members as needed
- Identify issues and develop practical solutions in a timely manner
- Maintain a high standard of conduct, respecting confidentiality and addressing challenges respectfully
- Ensure work is accurate, thorough and free from errors through careful review
- Take ownership of tasks, following through on commitments
- Maintain professionalism in client interactions
General accountabilities and responsibilities:
- To use personal judgement and initiative to develop effective and constructive solutions to challenges and obstacles in day-to-day activities and procedures within the specified role
- To maintain personal ability in, and appropriate use of, all relevant IT (Information and Technology) and other systems required to adequately perform the role
- To act ethically, with integrity and in the best interest of the business at all times
- To maintain a professional and supportive relationship with team members and other departments to deliver business objectives or deadlines
- To carry out any other duties as detailed by a member of the senior management team or authorised representative
- To keep good time management to minimise any wasted time and maximise productivity and effectiveness
Health & Safety responsibilities:
- To ensure that the working area is a clean and a safe environment in compliance with the best practice and health and safety policies
- To ensure any equipment used is safe, within electrical test date and all guards and interlocks are working and in place
- To act safely and responsibly in line with company processes and Health and Safety procedures to ensure your safety and the safety of others
- To report any potential Health and safety hazards or violations to your line manager or directly to the QHSE Manager
- To ensure any PPE or work wear required or provided for the job is worn and checked regularly for wear and then reported when replacements required