Ir para o conteúdo

Linux Kernel Developer (C Programming & Memory Management)

  • Remote
    • Lima, Lima, Peru
  • IT Services

Job description

Job Summary:

We are seeking a skilled Linux Kernel Developer to join our team, specializing in C programming, Linux kernel development, and memory management libraries. This role will focus on building, optimizing, and maintaining kernel-level components and memory management libraries to ensure robust system performance, efficiency, and reliability.

Job requirements

Key Responsibilities:

  • Develop, modify, and maintain Linux kernel modules using C, with a focus on performance, scalability, and maintainability.
  • Implement and optimize memory management functions and libraries, improving efficiency in memory allocation, deallocation, and data integrity.
  • Design and develop new kernel components and features, particularly related to memory management and low-level system operations.
  • Debug and troubleshoot kernel-level issues, using tools like gdb, strace, and other debugging utilities.
  • Perform code reviews, optimize existing code, and adhere to best practices in kernel development.
  • Collaborate closely with system architects, embedded software engineers, and hardware engineers to ensure seamless integration and optimal performance.
  • Contribute to documentation, including technical specifications, code documentation, and user guides for kernel components and memory management libraries.

Qualifications:

  • Bachelor’s or Master’s degree in Computer Science, Software Engineering, or related field, or equivalent practical experience.
  • 3+ years of experience in C programming, with strong skills in low-level programming and understanding of memory management.
  • Proficiency in Linux kernel development, including experience with kernel internals, modules, drivers, and debugging techniques.
  • Solid understanding of memory management principles within the Linux operating system (paging, caching, memory mapping, etc.).
  • Familiarity with tools and libraries used in Linux kernel development, such as GCC, Make, Git, and patch utilities.
  • Knowledge of data structures, algorithms, and optimization techniques for performance-critical code.
  • Ability to write clear, maintainable, and well-documented code.
  • Strong problem-solving skills and experience troubleshooting issues at the kernel level.
  • English required

Preferred Skills:

  • Experience with virtualization technologies, system calls, and hardware interface knowledge.
  • Contributions to open-source projects, especially within the Linux kernel community.
  • Understanding of multi-threading, synchronization, and concurrency issues in low-level software.

or

Apply with Indeed unavailable