Senior Software Developer
Location
Hastings, East Sussex | United Kingdom
Job description
Senior Software development engineer
Reporting to: R&D Manager
The growth of the company has created the need to hire a software development engineer to add to the team.
The ideal candidate will ideally have a minimum of 5 years’ experience in a related field and will value the autonomy and responsibility of working in a small multidisciplinary team to develop new high value professional products being sold around the world.
Background
The company develops and manufactures a wide range of camera products, including a range of x-ray cameras. A software development engineer is required to work with a small team developing software for these professional digital cameras and imaging systems for scientific and surveillance markets.
The Role
- Create, update, and maintain acquisition, control, and post processing DLLs
- Create, update, and maintain camera control utilities
- Create, update, and maintain APIs and end user interfaces
- Write and maintain documentation including release notes and user manuals
- Assist with code and product testing
- Provide customer support on software issues
- Maintain version control on all software products (with experience using Gitlab, GitHub or Bitbucket or similar products)
- Create QA testing protocols and implement across our software products
- Oversee projects and report progress against milestones
- Manage day to day priorities and coach/guide junior staff members in best practices
- Assist in higher level problem solving and customer support
Skills Required
Operational Duties
We are looking for candidates with as many of the following skills as possible:
- C/C++/C# programming knowledge including OOP, ideally C++17+ with knowledge of MSVC.
- Knowledge of Win32 API.
- Knowledge of Doxygen and comment style.
- Python 3.7+ programming knowledge.
- Team player as well as efficient at working independently, taking initiative to get the job done.
- Proficient both in spoken and written English, with confidence to provide customer support when necessary.
- Knowledge of Bitbucket+Git version control systems.
- Knowledge of any data transmitting interfaces, such as: GENICAM, eBUS, TISGRABBER, Camera Link, Server Sockets (raw data), Serial COMs.
- Knowledge of cross platform development tools, such as Boost.
- Knowledge of OpenCV image processing library or equivalent.
- Knowledge of multi-threaded application development.
- Awareness of MATLAB
- Awareness of LAMP stack
- Experience writing unit tests.
- Experience working with Jira (or equivalent) and Confluence (or equivalent)
The role may include other reasonable duties/tasks from time to time
Key Interfaces
- Other R&D department engineers to share opinions and problems
- Customers
- Sales
- Management team
- Person Specification
Experience (Desirable):
- Experience in a manufacturing environment
- An understanding of camera and systems
- An understanding of image sensors, optical components, high speed data streaming, control and analysis
Knowledge:
- C++ (Essential)
- Win32 API
- Python
- Git (Essential)
- C#
Job tags
Salary