Embedded linux System Engineer

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.

Job Details

Company
CXC
Location
London Area, United Kingdom
Posted