Project Lead - Embedded Linux
The candidate will be responsible for working on Embedded hardware, device drivers, kernel, s/w application/firmware and leading a software team independently from project perspective. Key development tasks include software design and architecture, bootloader/BSP/driver development/porting, OS kernel customization.
Job Position : Project Lead (Embedded Linux)
Experience : 8+ Years
Location : Gurugram/Bengaluru
Education: BE/B. Tech/M. Tech in Electronics/Computer Science
Responsibilities :
- Independently lead the software team of a project.
- Responsible for complete software delivery for a project.
- Carryout project planning (effort, time and cost estimates).
- Distribute work among team members and mentor them.
- Involve in architecture design both at system and software levels.
- Manage client interactions.
- Requirement gathering and freezing of scope of work.
- Do project documentation.
- Coordinate with different cross-functional teams (HW/FPGA/QA) during implementation, integration and testing phase.
- Work onsite or travel whenever needed.
- Do R&D investigation, estimation and make proposals for defense projects.
- Project Planning
- Do budget planning if required
- Team and resource planning.
- Development Env. Setup
- Task breakup and Timelines
- Risk Assessment and Mitigation plan.
- Plan for software development and quality process.
- Team Management
- Daily stand-up meeting
- Task assignment
- Task and Bug tracking
- Do periodic internal and client reviews.
- Timesheet monitoring
- Team training and grooming
- Team’s Performance Review
- Process
- Enforce software development and quality processes.
- Get process and quality audits done.
- Regularly gives project updates to the PM.
- Software module development and testing ownership
Mandatory Skills:
- Proven experience of leading software team in embedded domain.
- Proven record of C and C++ development experience in Embedded Systems.
- Proven experience on Linux and bare-metal development.
- Have very good understanding of hardware.
- Proven experience of Linux kernel internals and Linux device driver framework.
- Proven experience in developing/customizing/porting Linux device drivers both in single threaded and multi-threaded environment.
- Hands-on experience in Linux kernel customization, optimization and porting.
- Knowledge of memory management, scheduling, IPC mechanisms, file system under Linux.
- Experience in developing/customizing/porting drivers like:
- SPI, I2C, UART, CSI driver, GPIO, Ethernet Controller, PCI Switch, Intel graphics/display driver, any PCIe and USB drivers
- Experience in bootloaders.
- Good communication skills.
- Proven design and documentation skills.
- Self-motivated, self-driven and good team player.
- Knowledge of SDLC cycle and Quality Process. Strict in following processes.
Desired Skills:
- Experience on heterogeneous computing platforms (CPU+GPU+FPGA).
- Experience in GUI development.
- Experience in RTOS (VxWorks, Integrity etc.)
- Exposure or experience in FPGA.