About the Role
KRUSH Tech is seeking a Lead Software Engineer to define software architecture, development strategy, and engineering standards for SBC-based products. This role offers a unique opportunity to provide technical leadership, drive hardware-software integration, and shape the company's technical direction from its inception.
Responsibilities
- 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.
- 6+ years of experience in embedded software engineering, with significant experience designing and developing complex embedded systems.
- 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 or complex embedded computing platforms.
- Strong experience with Yocto and/or Buildroot and embedded Linux build and integration environments.
- 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 hands-on debugging and diagnostic skills using oscilloscopes, logic analyzers, power analyzers, programmers, and hardware debuggers.
- Experience with tools such as GDB, OpenOCD, Segger, performance profiling tools such as LTTng and perf, and enterprise CI/CD and configuration management systems.
- 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 coordinating system validation activities, including EMC, thermal, power, and long-term stress testing.
- Experience with Docker and Kubernetes in complex development or deployment environments is a plus.
- Strong mentoring, communication, documentation, and cross-functional collaboration skills.
Skills
- Embedded Linux
- Yocto
- Buildroot
- Embedded Linux build and integration
- Hardware-software integration
- GDB
- OpenOCD
- Segger
- LTTng
- perf
- CI/CD
- Configuration management
- Git
- GitLab
- Gerrit
- Software security
- Static analysis
- Fuzz testing
- Docker
- Kubernetes
- Mentoring
- Communication
- Documentation
- Cross-functional collaboration
Location
- U.S.
Work Type
- Full-time
Experience Level
- 6+ years of experience in embedded software engineering
- Significant experience designing and developing complex embedded systems
- Strong technical leadership experience
Education Level
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related engineering discipline.
Benefits
- Health Care Plan
- Retirement Plan
- Paid Time Off
- Family Leave
- Free Food & Snacks
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.
- At KRUSH Tech, we combine the agility of a startup with the ambition to tackle some of the industry's most demanding engineering challenges.
- Our teams work across disciplines—including RF, embedded systems, electronics, mechanical engineering, software, manufacturing, and supply chain—to transform innovative ideas into reliable, production-ready solutions.
- We are building a next-generation, vertically integrated aerospace organization focused on advanced uncrewed aircraft systems (UAS), autonomy, sensing technologies, and scalable manufacturing — for the U.S. market and strategic partners.
