Wind River is a global leader in delivering software for mission-critical intelligent systems. The Engineer - Systems is responsible for developing and maintaining embedded Linux systems software, implementing features, fixing bugs, and contributing to the overall quality and functionality of Wind River's platforms and tools.
Responsibilities:
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
Requirements:
- 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
- Candidates must be legally authorized to work in the United States on a permanent basis - without requirement for any type of visa sponsorship/transfer, now, or at any time in future. Verification of employment eligibility will be required at the time of hire
- Must be a local resident of Greater Austin, TX
- 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