Lead Software Engineer
职位描述
Job Summary
As a Lead Design Engineer (Software/Firmware – Linux RTOS), you will technically lead a cross-functional development team to deliver high-quality embedded software solutions spanning Embedded Linux and real-time operating systems. You are accountable for meeting phase-gate technical milestones, leading technical reviews, ensuring requirements (inputs) and design outputs remain aligned and traceable, and enabling successful manufacturing builds and product launches.
Essential Duties And Responsibilities
- Meet the responsibilities expected of a Senior Software/Firmware Design Engineer (or Senior Design/VAVE Engineer), including hands-on design, implementation, integration, and verification activities.
- Act as a Subject Matter Expert (SME) in Embedded Linux and RTOS domains (e.g., BSP/boot chain, kernel/driver, Yocto/Buildroot, middleware, RTOS scheduling/interrupts, safety & reliability, etc.).
- Represent the design organization in technical discussions with customers and stakeholders; clearly communicate trade-offs, risk, and mitigation plans.
- Partner with Project Managers during RFQ/RFI/quotation to provide technical scope, assumptions, estimates, and risk assessment.
- Own and drive phase-gate technical deliverables; ensure design reviews are planned, executed, and closed with clear action tracking and accountability.
- Ensure specification requirements and inputs align with software architecture/design outputs; maintain traceability across requirements, design, implementation, and verification artifacts.
- Define or review system/software architecture across Linux RTOS components (partitioning, IPC, latency/throughput trade-offs, update strategy, diagnostics, logging, security boundaries).
- Drive board bring-up and platform enablement: bootloader configuration, BSP integration, device tree, driver integration, and basic hardware-software debug.
- Lead software verification strategy (unit/integration/system/regression), including automation approaches, test coverage expectations, and release criteria.
- Drive defect triage and root-cause analysis; lead resolution of complex issues across unit/subsystem/system levels, including concurrency, timing, and memory-related defects.
- Drive delivery of a complete release/design package into PDM/PLM (as applicable), including requirements, architecture/design documents, source/version baselines, build/release notes, configuration databases, test evidence, and other required deliverables.
- Drive delivery of a complete VAVE (Value Analysis/Value Engineering) package when applicable, including detailed proposals, cost/licensing impacts, risk levels, pros/cons, benchmarks, and supporting data/models.
- Lead cross-functional collaboration with hardware, system, test, quality, regulatory, supply chain, and manufacturing teams; incorporate supplier/manufacturing feedback into implementation plans.
- Provide on-site or remote technical support for engineering prototypes, NPI builds, and production releases, including manufacturing test/diagnostics and field issue support when required.
- Promote engineering excellence: code reviews, coding standards (MISRA-C/C where applicable), CI/CD, static analysis, documentation quality, and continuous process improvement.
- Mentor senior and junior engineers; provide technical guidance, coaching, and review of design and test artifacts.
- Stay up to date on relevant technologies, tools, and industry standards to deliver competitive and cost-effective solutions.
- Support management in identifying internal/external resources needed to execute development and analysis activities.
- Perform other duties and responsibilities as assigned.
- Strong experience delivering embedded software/firmware into production, including release management and post-release support.
- Embedded Linux: hands-on experience with Linux user space and system software;
preferred experience with kernel configuration, device drivers, device tree, and build systems (Yocto/BitBake or Buildroot).
- RTOS: hands-on experience with at least one RTOS (e.g., FreeRTOS, Zephyr, ThreadX, VxWorks or equivalent), including task scheduling, interrupts/ISRs, synchronization primitives, and memory constraints.
- Solid C/C programming skills for embedded systems; familiarity with Python/shell scripting for tooling and automation is a plus.
- Debugging proficiency: GDB, JTAG/SWD, crash dumps, logs/trace analysis; ability to debug hardware-software interaction issues.
- Experience with requirements management and traceability concepts; familiarity with regulated development practices is a plus.
- Solid understanding of software development environments and tools (Git, build systems, CI/CD, issue tracking).
- Ability to work effectively across functions and with external customers/suppliers.
- Ability to read, analyze, and interpret technical procedures, professional journals, and relevant regulations/standards.
- Ability to write clear technical reports, documentation, and business correspondence.
- Ability to present technical information and respond to questions from managers, customers, and cross-functional teams.
- Ability to work with mathematical concepts such as probability and statistics, and to apply ratios/proportions to practical engineering problems.
- Ability to define problems, collect data, establish facts, and draw valid conclusions.
- Ability to interpret a wide variety of technical instructions in mathematical or diagram form and deal with multiple variables.
- Ability to develop models (where applicable) and implement results into software/firmware solutions.
Experience Requirements
- Bachelor's degree in Engineering, Computer Science, Software Engineering, or a closely related field from an accredited four-year college or university.
- Minimum 9–10 years of related experience and/or training.
- Minimum 2 years of experience at a Senior Engineer level (Senior Software/Firmware Design Engineer or equivalent).
- Additional requirements may apply as defined by the market sector, or an equivalent combination of education, training, and experience.
- Boot firmware experience (e.g., U-Boot) and system management firmware concepts (e.g., OpenBMC/BIOS concepts) as applicable.
- Experience with networking stacks, performance optimization, diagnostics, or manufacturing test software.
- Experience with cybersecurity features (secure boot, signing, vulnerability management) and software quality improvements.
- Experience working in regulated environments (medical, automotive, aerospace) and creating compliant documentation/test evidence.
- Experience with IPC and mixed-OS architectures (Linux RTOS), including shared memory, message queues, or RPC frameworks.
If you believe you are a victim of identity theft, contact your local police department. Any scam job listings should be reported to whatever website it was posted in.
对这个职位感兴趣吗?