Software Engineer: Imaging Systems
Role details
Job location
Tech stack
Job description
PSEL is seeking the right individual to join its small multidisciplinary software team. The role is required to support the development, maintenance and improvement of camera drivers, control software and related tools used across PSEL's imaging product range.
The successful candidate will contribute to the continued development of robust software for current products, while also supporting longer-term improvements in software structure, reuse and standardisation, including contribution to the evolution of Vision Core as a broader software platform within the group. This role is primarily focused on backend and systems-level software development to ensure robust, maintainable and scalable camera control and driver infrastructure.
This role would be well-suited to a recent graduate or early-career engineer looking to develop strong practical skills in a real-world engineering environment. Along with offering a high level of responsibility within a small team, this role would suit someone who values autonomy, practical problem solving and close collaboration with hardware and systems engineers.
Reporting, Location & Travel
- This is a full-time, office-based role reporting to the R&D Manager as an individual contributor, with no line management responsibility. There may be an occasional requirement for travel, primarily to meet and collaborate with other Software/R&D functions within the Tibidabo Scientific Industries group.
Key Responsibilities
- Responsibilities include, although are not limited to the following:
- Developing, maintaining and improving camera drivers and control software in C++
- Supporting integration between hardware and software systems across PSEL products
- Creating, updating and maintaining acquisition, control and post-processing DLLs and related software tools
- Creating, updating and maintaining legacy/specialist software drivers for in-house testing and calibration
- Supporting the development and maintenance of camera control utilities and internal engineering tools
- Contributing to improvements in software structure, reuse, maintainability and scalability
- Supporting software testing, debugging and issue resolution for development, production and customer support activities
- Maintaining version control and documentation for software products
- Appropriate use of modern software development tools, including AI-assisted workflows where beneficial
- Supporting continual improvement activities within the Software team and the wider R&D function
- Contributing to the evolution of a structured and maintainable software architecture across products, with a focus on reuse, clarity and long-term supportability
- Debugging and improving existing software in complex, real-world systems where documentation or structure may be incomplete - this involves direct interaction with hardware systems (integration, testing and debugging), rather than purely software-based development, requiring debugging and problem-solving on unfamiliar or imperfect systems
- This role is site-based and not suitable for remote working, due to the requirement for direct interaction with hardware systems and engineering teams
Requirements
- A practical and methodical approach to problem solving through academic or personal projects
- Comfortable working both independently and as part of a small team
- Well organised, with good attention to detail
- Ability to communicate clearly in spoken and written English
- A positive and adaptable attitude, coupled with a willingness to learn
- Ability to work under time pressure while maintaining quality standards
- Ability to take ownership of software components through their full lifecycle, including deployment, support and continuous improvement
Relevant Knowledge & Experience
- Candidates should assess their suitability against the following essential and/or desirable requirements:
Essential:
- Candidates should hold a degree in Software Engineering, Computer Science or a related discipline
- Strong C/C++ programming capability, including object-oriented programming, ideally to C++17 standard or later
- Experience with MSVC and development of Windows-based DLLs and related software components
Desirable:
We are looking for candidates with as many of the following skills as possible:
- Knowledge of Win32 API and low-level software integration
- Experience writing clear technical documentation, ideally including Doxygen-style API documentation
- Familiarity with version control systems such as Git and Bitbucket
- Knowledge of camera and data interfaces such as GenICam, eBUS, TISGRABBER, Camera Link, raw socket data transfer and serial communications
- Familiarity with cross-platform development tools such as Boost
- Knowledge of OpenCV or similar image processing libraries
- Experience with multithreaded software development
- Experience writing unit tests and supporting software quality assurance
- Familiarity with Jira or similar task-tracking tools
- Experience using AI-assisted software development tools such as GitHub Copilot, ChatGPT, Claude or similar
- Ability to critically assess, validate and refine AI-generated code and suggestions
- Demonstrable interest in improving development efficiency through modern tooling, automation and practical use of AI.
Benefits & conditions
In return for a rewarding and fulfilling career, successful candidates can look forward to receiving a competitive salary, plus the following employee benefits:
- Holiday (Annual Leave Entitlement): Employees receive 25 days annual leave each year for use between January and December; this is in addition to Bank Holidays, of which there are typically eight. After five full holiday calendar years' service, leave entitlement increase to give 26 days.
- Pension Scheme: eligible employees will be automatically enrolled into the company's Group Personal Pension Scheme with Royal London after completing three months' service. The scheme is run on a salary sacrifice system with Pension contributions made at 6% Employer and 2% Employee, although employees may increase their contributions if they choose.
- Group Life Assurance: Employees are automatically enrolled into the Company's GLA scheme which pays 4x salary in the event of death in service.
- Income Protection Scheme: the Company provides an income protection scheme which pays up to 75% of an Employee's basic salary in the event of sickness or disability for more than 13 weeks.
- Employee Assistance Programme: the EAP is available to all Employees, providing free access to a confidential helpline for immediate help and support with any issues for Employees and their family, whether work related or personal.
- Private Healthcare: Employees are eligible to join the private medical insurance (PMI) scheme after 3 months service, with the company paying the full premium of single cover membership for employees. The scheme is considered as a taxable benefit. Employees can join the scheme at any time during their employment, with the option of extending cover to include a partner, children or family with the cost of extended cover deducted from month salary payments.
Full details of the Employee Benefits are available upon provisional offer of employment.