£65,000 Per year
Inside
Hybrid
London Area, United Kingdom
Summary: The role of Software Engineer involves working within multidisciplinary teams to develop and productize custom computing and medical devices for hospital operating rooms. The position requires extensive experience with Linux device drivers and system components, as well as strong programming skills in C/C++. The engineer will collaborate with hardware teams, conduct code reviews, and ensure compliance with security and regulatory standards while developing robust software solutions. This is a hybrid position based in London, UK, for a duration of 6 months.
Key Responsibilities:
- Support the development and productization of custom computing devices and medical devices.
- Drive collaboration with hardware teams to build and maintain compatible kernels/drivers.
- Architect, develop, test, and debug system services and hardware-dependent software applications.
- Coordinate and conduct code reviews for embedded software.
- Contribute to software infrastructure for seamless software deployments.
- Participate in security and regulatory compliance processes.
- Develop secure-by-design software for medical-grade systems.
- Perform formal risk analysis and develop software mitigations.
- Run verification tests and participate in design transfer to manufacturing activities.
Key Skills:
- BS/MS in Computer, Electrical, Electronics Engineering or equivalent.
- Extensive experience with Linux device drivers and kernel tinkering.
- Excellent networking knowledge and expert C/C++ and shell scripting skills.
- Experience with custom Linux build systems (Yocto/Buildroot).
- Strong knowledge of security concepts and Linux diagnostic tools.
- Basic electronics knowledge and experience with software systems engineering.
- Strong verbal and written communication skills.
- Ability to independently solve problems and manage complexity.
Salary (Rate): £65,000 yearly
City: London
Country: United Kingdom
Working Arrangements: hybrid
IR35 Status: inside IR35
Seniority Level: Senior
Industry: IT
Job Title: Software Engineer
Job Type: Hybrid - 3 days per week onsite
Duration: 6 months
Salary guide: £55-65 (As per market standard(inside ir35 only)
Location: 230 City Road, London, United Kingdom
A Day in the Life
Work within our highly technically diverse multidisciplinary teams (application software, embedded, computer vision, cloud platform, etc.)
Support the development and productization of our custom computing devices, medical devices, and other devices for the hospital operating rooms.
Drive collaboration with our hardware team to build and maintain compatible kernels/drivers for our hardware platforms.
Architect, develop, test, and debug system services and hardware-dependent software applications.
Coordinate and conduct code reviews for embedded software.
Contribute to the software infrastructure to ensure seamless software deployments.
Participate in the relevant security and regulatory compliance processes.
Develop robust and secure-by-design software fit for a medical-grade system.
Perform formal risk analysis activities, develop software mitigations, run verification. tests and participate in design transfer to manufacturing activities.
Must Haves
BS/MS in Computer, Electrical, Electronics Engineering or equivalent
Extensive experience working with Linux device drivers (V4L2/I2C/SPI/UART etc), tinkering with the Linux kernel and device trees.
Extensive experience with varied Linux system components such as kernels, services, log management, rules, etc.
Excellent networking knowledge
Expert C/C++ and shell scripting knowledge.
Experience working with custom Linux build systems (Yocto/Buildroot etc)
Experience in system bring-up and hardware integration.
Experience with over-the-air update mechanisms for embedded systems.
Strong knowledge of security concepts (e.g. hardware root of trust, cryptographic key generation and usage)
Fundamental knowledge of Linux diagnostic/benchmarking tools
Basic Electronics knowledge – comfortable following a schematic and technical documentation/datasheet.
Experience with software systems engineering and design principles.
Strong verbal and written communication skills
Flexible - you can independently solve problems as they arise but are comfortable asking for help when you need it.
Comfortable with complexity – being able to think through consequences of changes in a highly interconnected ecosystem over varied use environments.
Nice to Haves
Experience working with deployed hardware systems and remote device management.
Good Python programming skills
Nvidia computing platforms experience.
Microcontroller development experience.
Experience with AWS
Experience with automated testing
Video processing/streaming experience, working with camera sensors, codecs and streaming protocols.
Understanding of core security concepts
Experience with software development for medical products or other safety-critical applications.
Responsibilities may include the following and other duties may be assigned.
Designs, develops, tests, debugs and implements operating systems components, software tools and utilities.
Determines systems software design requirements.
Ensures that system improvements are successfully implemented and monitored to increase efficiency.
Generates systems software engineering policies, standards and procedures.
SPECIALIST CAREER STREAM: Typically an individual contributor with responsibility in a professional discipline or specialty.
Delivers and/or manages projects assigned and works with other stakeholders to achieve desired results.
May act as a mentor to colleagues or may direct the work of other lower level professionals.
The majority of time is spent delivering and overseeing the projects from design to implementation while and adhering to policies, using specialized knowledge and skills normally acquired through advanced education (typically University).
DIFFERENTIATING FACTORS
Autonomy: Recognized expert, managing large projects or processes . Exercises considerable latitude in determining deliverables of assignments, with limited oversight from manager . Coaches, reviews and delegates work to lower level specialists.
Organizational Impact: Contributes to defining the direction for new products, processes, standards, or operational plans based on business strategy with a significant impact on work group results . May manage large projects or processes that span outside of immediate job area.
Innovation and Complexity: Problems and issues faced are difficult, moderately complex and undefined, and require detailed information gathering, analysis and investigation . Develops solutions to moderately complex problems, and/or makes moderate to significant improvements of processes, systems or products independently to enhance performance of job area. Implements solutions to problems.
Communication and Influence : Represents organization as a primary contact for specific projects and initiatives; communicates with internal and external customers and vendors at various levels . May negotiate with others to reach understanding or agreement, and influence decisionmaking.
Leadership and Talent Management: Typically provides guidance, coaching and training to other employees within job area. Typically manages major / moderately complex projects, involving delegation of work and review of work products, at times acting as a team leader.
Required Knowledge and Experience : Requires mastery of a specialty area and full knowledge of industry practices, typically obtained through advanced education combined with experience. May have broad knowledge of project management. Requires a University Degree and minimum 7 years of relevant experience, or advanced degree with a minimum of 5 years of relevant experience.