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.
As a Software Engineer, you will design, develop, integrate, and validate software for advanced Single Board Computer (SBC) platforms. You will work across the embedded software stack, from low-level drivers and system services to security mechanisms, software update frameworks, and user-space applications, ensuring high performance, reliability, and maintainability.
Working closely with hardware and software engineering teams, you will contribute to system architecture, hardware-software integration, platform selection, and product development from initial prototypes through production releases. This role is ideal for an experienced Embedded Linux engineer who enjoys solving complex system-level challenges, debugging hardware-software interactions, and taking technical ownership of critical software components.
Key Responsibilities- Design software architectures for Single Board Computer (SBC) platforms, defining component structures, module interactions, interfaces, and communication protocols.
- Develop complex low-level drivers, system services, security mechanisms, and software update frameworks for embedded Linux platforms.
- Implement advanced hardware-software integration solutions, including communication and interaction with FPGAs, external controllers, and other system components.
- Develop and integrate complex communication protocol stacks, including Ethernet, USB, and CAN, ensuring reliable system communication and performance.
- Analyze and optimize system boot processes, resource utilization, performance, and stability across SBC platforms.
- Lead technical activities within projects, including task allocation, code reviews, technical decision-making, and code quality control.
- Participate in the selection and evaluation of software and hardware platform architectures, including recommendations for hardware components and system configurations.
- Investigate complex hardware-software interaction issues, including signal integrity problems, bus conflicts, noise, and other system-level failures.
- Define and execute hardware platform test scenarios, perform detailed debugging and diagnostics, and support system validation activities.
- Prepare, maintain, and support production software releases while ensuring appropriate documentation, testing, and release quality.
- Share technical expertise with the team through mentoring, knowledge sharing, and technical guidance.
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related engineering discipline.
- 4+ years of experience in embedded software engineering, with experience developing complex software for embedded systems.
- Strong experience in embedded software architecture, module design, and system-level software development.
- Advanced expertise in Embedded Linux, including both kernel-space and user-space development.
- Proven experience developing high-performance, low-level drivers and system services.
- Experience integrating complex communication protocols such as Ethernet, USB, and CAN.
- Strong understanding of system boot processes, SBC resource management, and embedded system performance optimization.
- Understanding of embedded systems security and secure software development practices.
- Advanced debugging and diagnostic skills using JTAG, OpenOCD, GDB, and gdbserver.
- Experience preparing and maintaining production software releases, including release testing and documentation.
- Strong hands-on experience using oscilloscopes, logic analyzers, programmers, and hardware debuggers for low-level system diagnostics.
- Experience analyzing hardware-software interaction issues, including communication bus conflicts, signal integrity, noise, and thermal or power-related issues.
- Advanced proficiency with Yocto and/or Buildroot for embedded Linux development and system integration.
- Experience with GCC and/or Clang, CI/CD systems, profiling and tracing tools, and Wireshark.
- Familiarity with Doxygen and requirements and defect management tools such as Jira and Polarion.
- Experience using Docker for embedded software build and development environments is a plus.
- Strong analytical and problem-solving skills with the ability to work effectively across hardware and software engineering teams.
- Health Care Plan
- Retirement Plan
- Paid Time Off
- Family Leave
- Free Food & Snacks
Learn more about this Employer on their Career Site
