Senior Embedded Software Engineer
About The Company
Located in the West of Scotland, our client is a high growth, global leader in the research, development & manufacture of laser products, designed to make a positive impact on society. Their systems are deployed in a wide variety of industries including renewable energy, microelectronics, fundamental research, life sciences & medicine.
What is on offer for you
With a strong product development pipeline, many exciting opportunities for personal & career development within the organization are available and with the wellbeing of employees at the heart of everything they do, you will be provided with:
- Outstanding work environment & facilities
- Emphasis on work/life balance-eg flexible core hours
- Competitive remuneration package
- Contributory pension scheme
- Subsidised private health care & free life assurance
Overview of the role
- As a Senior Embedded Software Engineer you will be an integral member of an outstanding product development team, responsible for the design & test of software for laser systems.
- Your software engineering expertise will contribute to the long-term development of our client’s scalable system platform, in addition to the full lifecycle development of individual laser products.
- Develop reliable and clean C code to be used in high quality laser systems
- Maintain and expand existing libraries with a view to rapid deployment
- Produce technical documentation
- Planning and estimation of development tasks
- Coordinate the integration of software with hardware & optics
- Support legacy software on existing products
- Demonstrable software engineering experience, preferably in an industrial environment.
- Strong C programming skills and knowledge of using an Object Orientated style approach in the development of C code.
- Ability to develop scalable systems modules and low-level drivers and integrate them into a large code base.
- Strong experience of Real Time Operating Systems, pre-emptive multitasking and event driven programming.
- Experience of low-level Microcontroller interfaces, including UART, CAN Bus, I2C, SPI, ADC and DAC
- Ability to read electronics schematic diagrams & component datasheets
- Hands on experience of embedded software & hardware integration, verification & testing
- Use of Version Control Systems and integration tools (e.g Git, Jenkins)
- Ability to respond to technical inquiries from other departments & customers in a concise, accurate & professional manner (both written & oral)
- Able to work in a team environment with minimal supervision
- Graduate in Computer Science or other relevant degree
- Experience in closed loop drive control methods & techniques for industrial applications
- Familiarity with ARM Cortex-M processor architecture, CMSIS and associated tools
- Experience with C# and Visual Studio IDE