Description:
eSpark Consulting Group invites applications for a role that combines the expertise of a Linux Systems and Kernel Specialist with proficient C++ skills within our Linux Firmware Team. We are pursuing a professional who exhibits an exceptional understanding of Linux systems, emphasizing Linux kernel's memory management and networking. This insight is prioritized above C++ coding ability; however, candidates must also possess high proficiency in C++ for development work.
Responsibilities
- Leverage an intricate knowledge of the Linux kernel to underpin the reliability and stability of our embedded systems.
- Implement and oversee Linux kernel modules, ensuring system dependability and troubleshooting kernel-level complexities.
- Develop robust and reliable C++ code for our embedded systems, where a comprehensive grasp of the Linux platform is instrumental.
- Preserve stringent standards of code and system quality, with a dedication to automated processes for system integrity.
- Engage collaboratively in innovative kernel-level problem-solving and enhancement, maintaining our systems' endurance and dependability.
Preferred Skills
- Proficiency in C++ development, with the ability to write clean, efficient code for embedded systems.
- Acquaintance with containerization and isolation technologies, particularly within embedded environments, will be considered an asset, adding value to our system security and compartmentalization efforts
Requirements
- Advanced knowledge of Linux systems, with particular expertise in kernel memory management, networking, and embedded system architecture.
- Demonstrate proficiency in C++ with practical experience in cross-platform environments, adept in utilizing C++11 features, STL containers, algorithms, and in-depth understanding of memory and process management.
- A high level of English proficiency is required for effective collaboration and communication within our international team.
- Strong background in embedded systems development with specific knowledge of platforms such as OpenWrt and Ubuntu Core, as well as proficiency in using CMake for build configuration.
- Good understanding of Continuous Integration/Continuous Deployment (CI/CD) methodologies, with hands-on experience in tools like Jenkins or GitLab CI.
- Proficient in various bus communication protocols with emphasis on Ubus and Spread Bus, along with experience in serial port communications.
- Competence in utilizing Docker for creating isolated environments, especially in the context of embedded systems.
- Familiarity with the use of JTAG interfaces for in-depth debugging and troubleshooting of embedded hardware.
- Experience in embedded software development and debugging will be highly regarded.
- Analytical and algorithmic problem-solving skills, with a focus on system stability and reliability.
- Skilled in low-level concurrency and adeptness in real-time systems environment.
- Knowledgeable about system call wrapper library functions, contributing to system stability and reliability.
- A strong passion for programming, with a commitment to continuous learning and adaptability to new technological and business challenges
Qualifications: Bachelor's degree in computer science or related field.
Experience: 2+ years of experience as a Linux Developer or a similar role.