Linux Engineer -Systems
Location: Austin, TX (Remote)
ABOUT THE OPPORTUNITY
The Engineer - Systems is an individual contributor role that develops and maintains embedded Linux systems software. Engineers work as part of a team to implement features, fix bugs, and contribute to the overall quality and functionality of Wind River's embedded Linux platforms and tools.
In your daily job you will:
Development & Implementation
-
Develop and maintain embedded Linux systems software
-
Implement features, bug fixes, and enhancements
-
Write clean, maintainable code following team standards
-
Debug and resolve technical issues
-
Write unit tests and contribute to test coverage
Code Quality & Review
-
Participate in code reviews and provide constructive feedback
-
Follow coding standards and best practices
-
Refactor code to improve quality and maintainability
-
Document code and technical designs
-
Ensure code meets quality and performance requirements
Team Collaboration
-
Work collaboratively with team members
-
Participate in sprint planning, daily standups, and retrospectives
-
Communicate progress and blockers effectively
-
Share knowledge and learn from teammates
-
Contribute to team process improvements
HOW YOU WILL CONTRIBUTE
Key skills and competencies for succeeding in this role are:
-
Key skills and competencies for succeeding in this role are:
-
Eagerness to learn: Willingness to grow in one or more of kernel sustaining, BSP, feature development, user space, systems, or tool chain with mentorship and training
-
Foundational technical ability: Ability to read and write C/C++, use Git, follow build and test procedures, and debug with guidance
-
Collaboration: Ability to work in a distributed team across US, Romania, and India, ask questions, and communicate progress and blockers clearly
Kernel Sustaining
-
Assist with applying security patches and CVE-related fixes under guidance
-
Help backport patches and run kernel build and test procedures
-
Learn kernel subsystems, drivers, and debugging (e.g., kgdb, ftrace) with mentorship
-
Validate kernel changes on supported platforms and document results
Board Support Packages
-
Maintain and update BSP configurations and device tree snippets with direction
-
Support hardware bring-up and validation; run BSP test procedures
-
Learn bootloaders (e.g., U-Boot), device trees, and hardware documentation
-
Document BSP changes and hardware requirements
Feature Development
-
Implement well-scoped parts of new features from specifications and design docs
-
Write and run tests for new functionality; update user-facing or developer documentation
-
Participate in feature design and estimation discussions to learn the process
-
Test features on assigned platforms and report issues
User Space Sustaining
-
Fix bugs and address issues in user space libraries and applications with guidance
-
Learn POSIX APIs, system libraries (e.g., glibc, musl), and build systems
-
Run tests and validate fixes on multiple platforms and architectures
-
Update documentation for user space components you change
Systems (General)
-
Contribute to systems-level fixes and small features across kernel, user space, or integration
-
Build familiarity with Wind River platforms, build systems (e.g., Yocto), and release process
-
Support stability and quality initiatives as assigned
Tool Chain
-
Assist with maintaining compiler toolchain components and build configurations
-
Help fix build failures and improve build reliability and performance with guidance
-
Learn cross-compilation, GCC/Clang usage, and scripting (e.g., Python, Shell)
-
Run and document toolchain tests; support debugging tools (e.g., GDB) as directed
QUALIFICATIONS-
Bachelor's degree in Computer Science, Electrical Engineering, or related field
-
2+ years of software engineering experience
-
Experience with C/C++ programming
-
Familiarity with Linux or embedded systems
-
Understanding of software development lifecycle
-
Proficiency in C/C++ programming
-
Understanding of Linux systems (kernel or user space)
-
Experience with version control (Git)
-
Basic debugging and problem-solving skills
-
Familiarity with build systems and development tools
-
Understanding of software testing principles
PREFERRED QUALIFICATIONS-
Experience with embedded Linux development
-
Knowledge of Yocto Project or similar build systems
-
Experience with Linux kernel or device drivers
-
Open source contributions
-
Experience in automotive, industrial, or embedded sectors
-
Knowledge of real-time systems
-
Experience with hardware or BSP development)