Location: Georgia (Onsite, 4 days/week)
Contract Duration: 6 Months
Role Overview: We are seeking a seasoned Embedded Systems Engineer specializing in Linux driver development and system integration. This role involves creating, optimizing, and maintaining device drivers and software packages for embedded platforms. The ideal candidate is highly skilled in Linux internals, real-time debugging, and working with complex networking protocols.
Key Responsibilities: - Driver Development: Build and enhance Linux device drivers supporting hardware peripherals and custom interfaces.
- System Integration: Configure embedded Linux distributions using Buildroot or Yocto.
- Debugging & Troubleshooting: Conduct in-depth debugging of system-level issues using low-level debugging tools and techniques.
- Software Development: Develop robust software modules in C/C for embedded devices.
- Network Protocols: Implement and troubleshoot network communications over protocols like IPv6, TCP/IP, and others.
- Product Deployment: Support product testing, validation, and deployment in field environments.
- Team Collaboration: Partner with cross-functional teams for system design, integration, and performance optimization.
Essential Skills & Experience: - Experience:
- Minimum of 10 years in embedded Linux development.
- Advanced proficiency in C and C for embedded applications.
- Expertise in developing, debugging, and deploying Linux kernel modules and device drivers.
- System Knowledge:
- Familiarity with Linux internals, memory management, and multithreading concepts.
- Extensive experience with Buildroot, Yocto, or similar build systems.
- Networking & Protocols:
- Understanding of IP networking concepts (IPv6 preferred).
- Experience with protocol stacks, network configurations, and device management.
- Development Tools:
- Skilled in using version control tools like Git.
- Hands-on experience with CI/CD pipelines using Jenkins or similar tools.
- Scripting:
- Competence in automation scripting using Python or Bash.
Preferred Qualifications: - Bachelor's degree in Computer Science, Computer Engineering, or a related discipline.
- Experience working with distributed networks or large-scale embedded systems.
- Strong communication and technical documentation skills.