Capgemini Engineering

Senior C Engineer

Capgemini Engineering

Cluj-Napoca, RO; Bucharest, RO; Timisoara, RO; Bucuresti, RO; Iasi, RO; Brasov, RO

Job Type Permanent
Experience Experienced Professionals
Posted 1 month 1 week ago
Experienced Professionals Level

Our client is one of the leading companies in the field of accounting SaaS solutions. The client's project is custom hypervisor software that provides increased performance and lower total cost of ownership for various memory-intensive applications compared with more traditional systems. The project is currently being ported from Intel to the ARM platform.

The position involves joining the Virtualization team, which handles this porting to ARM and other virtualization-related tasks. The main skills required are ANSI C experience and Linux kernel or driver development experience.

Your role

  • Build new features and maintain existing functionality of the client’s platform or product according to specifications and design.
  • Participate in code reviews.
  • Report to the Team Lead or supervisor about feature readiness and quality, and raise red flags in crisis situations.
  • Participate in functional and architectural design of assigned features.
  • Research and evaluate technical options for implementing assigned features.
  • Provide estimations of feature scope and split it into tasks.
  • Work closely with team members and other relevant stakeholders.
  • Follow established software development processes.
  • Suggest technical and functional improvements to add value to the product.

Your profile

  • ANSI C programming experience.
  • Linux kernel or driver development on ARM or x86.
  • Multi-core programming experience, including physical interrupt delivery, memory fences, memory barriers, primitives for multicore management, and lockless data structures.
  • x86 or ARM programming experience, including processor opcodes and emulation.
  • Linux-POSIX development, not configuration and integration.
  • Experience writing designs for low-level modules.
  • Sufficient English for verbal and written communication.
  • Technical documentation writing skills.
  • Good communication and collaboration skills.

Nice to have

  • Experience building or optimizing software for ARM processors.
  • Experience with virtualization software or hypervisors.
  • Assembly language experience with x86_64 or AArch64.

Similar Job Openings