Lead C/C++ Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+22 more
Job description
Working closely with hardware, systems, and software engineering teams, you will drive the integration of hardware and software stacks from platform selection and architecture through development, validation, and production. This role combines hands-on software engineering with technical leadership and is ideal for an experienced Embedded Linux engineer who enjoys solving complex system-level challenges, making strategic technical decisions, and developing engineering capabilities across teams., * Define the overall software development strategy, architecture, and technical standards for SBC-based products across multiple company projects.
- Design scalable system software architectures and establish common frameworks, coding standards, and engineering best practices across the product portfolio.
- Lead software engineering teams and coordinate technical activities across multiple projects, ensuring alignment with architectural and development standards.
- Develop critical software components and prototypes, providing hands-on technical leadership and demonstrating solutions for complex system-level challenges.
- Collaborate with hardware engineering teams on SBC and hardware platform selection, hardware-software integration, electrical design decisions, and overall system optimization.
- Coordinate the development and integration of low-level drivers, middleware, system software, and application software across the product stack.
- Conduct code, architecture, process, and system audits to identify technical risks, assess solution feasibility, and drive continuous improvement across projects.
- Define testing methodologies, prototype debugging procedures, and validation strategies, including EMC, thermal, power consumption, and long-term stress testing.
- Lead complex technical and strategic decisions, manage engineering risks, and provide recommendations on technology and hardware platform selection.
- Develop team capabilities through mentoring, technical training, knowledge sharing, and implementation of engineering best practices.
Requirements
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related engineering discipline.
- 7+ years of experience in embedded software engineering, with significant experience designing and developing complex embedded systems.
- Deep expertise in OOD/OOP, C/C++ 17+, Bash, Python, CMake.
- Deep expertise in Embedded Linux, covering the complete software stack from bootloader and kernel through drivers, middleware, and user-space applications.
- Proven experience designing system software architectures for SBC-based products (Raspberry Pi) or complex embedded computing platforms.
- Experience with Yocto and/or Buildroot and embedded Linux build and integration environments is a plus.
- Experience with debugging tools such as GDB, performance profiling tools: perf, valgrind etc, and enterprise CI/CD (Jenkins).
- Hands-on debugging and diagnostic skills using oscilloscopes, logic analyzers, power analyzers, programmers, and hardware debuggers is a plus.
- Experience with Git-based development and collaboration tools such as GitLab and Gerrit.
- Knowledge of software security practices, including static analysis and fuzz testing.
- Experience with Docker and Kubernetes in complex development or deployment environments is a plus.
- Experience planning and integrating complete hardware and software stacks, including collaboration with hardware engineering teams and review of electrical schematics and design decisions.
- Experience defining coding standards, engineering processes, testing methodologies, and development best practices across engineering teams.
- Strong technical leadership experience, including coordinating multidisciplinary software development activities and managing the technical aspects of complex projects.
- Ability to independently assess technical risks, evaluate the feasibility of solutions, and make complex technical and strategic decisions.
- Strong mentoring, communication, documentation, and cross-functional collaboration skills.
Benefits & conditions
- Health Care Plan
- Retirement Plan
- Paid Time Off
- Family Leave
- Free Food & Snacks
- Build a great product
Full Time
2147483642
Technology
KRUSH Tech Inc
About the company
KRUSH Tech is a new technology company building advanced hardware solutions for defense, aerospace, communications, and autonomous systems. We’re launching our U.S. operations from the ground up - and this is a rare opportunity to join at the very beginning and help shape the company from day one.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again
What’s the Difference between a Junior, Mid, and Senior Developer?
The Best Software Developer Blogs to Read
The Best X (Twitter) Accounts for Developers