Software Engineer

KRUSH Tech Inc
Austin, TX, United States
26 days ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
4 years minimum
Working hours
Regular working hours
Job source

Tech stack

Computer-Aided Design JIRA Booting (BIOS) Software Bug Management UClibc (C Standard Library) Profiling Software Quality Code Review Communications Protocols Computer Engineering System Configuration Continuous Integration
+22 more
Software Debugging Linux on Embedded Systems Embedded Software Ethernet Field-Programmable Gate Array (FPGA) Hardware Platform Interface Joint Test Action (IEEE Standards) Performance Tuning Signal Integrity Software Engineering Systems Architecture System Testing Systems Integration Wireshark Doxygen Lasttests Yocto Information Technology Hardware Infrastructure Polarion Docker Hardware Debugging

Job description

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.

Requirements

  • 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.

Benefits & conditions

Pulled from the full job description

  • Food provided
  • Health insurance
  • Retirement plan
  • Paid time off
  • Family leave
  • Snacks provided, * 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.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:07 min

Inspecting default bridge architectures and custom Docker networks

Oliver Seitz Oliver Seitz · World Congress 2025

7:40 min

In-vehicle infotainment systems and graphical functional safety validation

Denis Grahovac · World Congress 2021

3:05 min

Integrating an assistant application with Jira software

Felix Augenstein · LIVE

1:39 min

Speaker introduction and software engineering background

Daniel Raniz Raneland · LIVE

2:34 min

Docker sandbox architecture and microVM environment integration

Manuel de la Peña Manuel de la Peña · World Congress 2026 Europe

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · World Congress 2021

Videos

See all

Related articles

See all