A unique opportunity has arisen for an Embedded Software Engineer to join a dynamic and rapidly-growing imaging company based in Edinburgh. The company develops state of the art panoramic and 3D imaging systems. The role is a chance to work on leading-edge products and undertake further development of the current systems and new software.
Main Duties and Responsibilities
- Take ownership of current embedded software, extend its functionality and resolve any issue
- Contributing to the maintenance of the current product Improving processing engine architecture and evolving an existing codebase
- Designing, building and testing of world-class software for new products
- Participate in product design reviews and technical evaluations to ensure and maintain high internal engineering standard.
- Be actively involved in internal and external collaborative R&D effort, particularly in the development of new technology demonstrators.
- Create and maintain documentation relating to test, calibration, debug procedures and potential fixes
Skills and Experience
- Degree or equivalent in a software, physics or electronics related discipline
- Excellent knowledge of Unix/Linux and Windows operating system environments
- Fluency in C/C++ with strong multi-threaded programming skills on Linux/Windows environment
- Experience of embedded Linux and building kernels
- Experience developing embedded Linux drivers
- Experience in developing TCP/IP-based communication applications
- Knowledge of USB, RS232 and board-level communication protocols (I2C, SPI and PCIe)
- Knowledge of RESTful API and WebSocket.
- Knowledge of Agile software development methodology
- Experience using version control systems, such as SVN or GitHub
- Ability to work both individually and as part of a team
- Excellent time management skills to successfully manage multiple simultaneous projects with different priorities and deadlines
- Quick learner and proactive in effective problem solving
- Excellent written and verbal communication skills
- Self-motivated and willing to pitch in on many areas of development
- Knowledge of FPGA systems
- Knowledge of microprocessor and microcontroller systems
- Knowledge of digital signal processing and digital image processing
- Understanding of optics and imaging systems
- Experience with scripting languages such as Python and Perl
- Knowledge of lens modelling and lens calibration
- Knowledge of AI systems
- Knowledge of encryption/decryption and OpenSSL
In less than 10 years, NCTech has established itself as a market leader in the provision of 360° street level imagery and 3D data to Big Tech customers. The company operates globally and is on a rapid growth trajectory, serving the likes of the Immersive Media and Geographic Information System markets.
We’re really proud of our diverse, open and overall awesome company culture – on top of that we offer a wide range of employee benefits such as:
- A generous holiday allowance of 33 days
- Never Work Your Birthday – we think you should always enjoy your birthday off!
- Flexible working hours
- Enhanced pension
- Excellent health benefits cash plan paid for by NCTech
- Family friendly benefits
- Plenty of shindigs and social events – we’re always open to ideas and we’re a sociable bunch!
How to apply
NCTech is proud of our diverse and fully inclusive culture and we don’t tolerate any kind of bias, judgement or harassment. We want our recruitment process to be accessible to everyone so if you require any reasonable adjustments please note them on your application and we’ll do our best to accommodate your request.