Linux Engineer -Systems
ARCHIVED
We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.
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 proceduresLearn 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 proceduresLearn 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 guidanceLearn 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 ChainAssist with maintaining compiler toolchain components and build configurations
- Help fix build failures and improve build reliability and performance with guidanceLearn 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 systemsExperience with Linux kernel or device drivers
- Open source contributions
- Experience in automotive, industrial, or embedded sectors
- Knowledge of real-time systemsExperience with hardware or BSP development)