Job Description - Staff Engineer - Linux Device Drivers/Upstream
Lead and mentor a team of 3-5 engineers, providing technical guidance and fostering a collaborative development environment. Architect, design, and implement embedded software solutions using C and C++. Drive development and optimization of Linux device drivers, firmware modules, and system-level components. Collaborate cross-functionally with hardware, software, and QA teams to ensure seamless integration and delivery. Contribute to design reviews, code reviews, and technical documentation. Investigate and resolve complex system-level issues across hardware and software boundaries. Leverages advanced Software knowledge and experience to design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs. Analyzes user needs, software requirements, and time and cost constraints to design and customize software for optimal operational efficiency. Designs and implements software modules for large-scale products and systems. Participates in and leads design, coding, unit testing, debugging, and integration efforts to ensure projects are completed to specifications and schedules. Performs complex code reviews and regression tests as well as triages and fixes issues to ensure the quality of code. Collaborates with individuals outside the software function (e.g., Hardware, Systems, and Test engineers) to ensure solutions work with other components of a specific project. Writes detailed technical documentation for complex Software projects. Works independently with minimal supervision. 11+ years of hands-on experience in embedded systems, Linux device drivers, or firmware development. 10+ years of professional experience in C and C++ programming. Demonstrated ability to upstream patches; having a few accepted patches to the Linux kernel Proven experience in leading small engineering teams and driving technical initiatives. Strong understanding of system architecture, memory management, and performance optimization. Familiarity with ARM SMMU (System Memory Management Unit). Knowledge of Linux DMA buffers and memory sharing mechanisms. Exposure to Accel driver frameworks or similar hardware acceleration interfaces. Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc. Master's Degree in Engineering, Information Systems, Computer Science or related field. 8+ years of Software Engineering or related work experience. 3+ years of experience with Database Management Software. 1+ year of work experience with Git, Perforce, or Source Code Management System.
All Job Ads are subject to GrabJobs’s Terms of Service. We allow users to flag postings that may be in violation of those terms. Job Ads may also be flagged by GrabJobs moderation team. However, no moderation system is perfect, and flagging a posting does not ensure that it will be removed.
Be the first to receive the latest Others Full-Time Jobs in India.
Setup your job alert:
By activating job alerts, I agree to GrabJobs Terms & Privacy Policy. I can unsubscribe to job alerts anytime.
Skip