About The Position

Wind River is a global leader in delivering software for mission-critical intelligent systems. For more than four decades, the company has been an innovator and pioneer, powering billions of systems that require the highest levels of security, safety, and reliability. Wind River helps customers across automotive, aerospace, defense, industrial, medical, and telecommunications industries solve complex technology challenges on their journey toward the new intelligent machine economy. The company’s software powers generation after generation of the safest, most secure systems in the world. Examples include playing a key role in NASA space missions such as Artemis I, the James Webb Space Telescope, and multiple Mars rovers. We’ve achieved recent 5G milestones including the world’s first successful 5G data session with Verizon and building one of the largest Open RAN networks in the world with Vodafone. The company has received industry recognition for its technology innovation and leadership, and for its workplace culture, including global Great Place to Work certification and being named a “Top Workplace” for ten consecutive years. If you want to be part of a unique culture where the lived experience is based on our cultural attributes of growth mindset, customer-focus, and diversity, equity, inclusion & belonging, come join us and help advance the future software defined world. The Senior Engineer - Systems (User Space Sustaining) provides technical expertise and leadership for maintaining and enhancing user space libraries and applications. Senior Engineers work independently on complex technical problems, mentor junior engineers, and contribute to technical decisions within the user space sustaining team.

Requirements

  • Bachelor's degree in Computer Science, Electrical Engineering, or related field
  • 5+ years of software engineering experience
  • 3+ years of experience with embedded Linux or systems programming
  • Experience with C/C++ programming in production systems
  • Strong background in software development lifecycle
  • Strong proficiency in C/C++ programming
  • Solid understanding of Linux user space architecture
  • Experience with embedded systems development
  • Knowledge of build systems (Yocto, Buildroot, or similar)
  • Strong debugging and problem-solving skills
  • Experience with version control (Git) and code review
  • Understanding of software development methodologies (Agile, Scrum)
  • Linux user space application development
  • System libraries (glibc, musl, etc.)
  • Application frameworks and middleware
  • Cross-platform compatibility
  • Performance optimization
  • System debugging and troubleshooting
  • Strong communication and collaboration skills
  • Ability to mentor and guide junior engineers
  • Technical writing and documentation skills
  • Problem-solving and analytical thinking
  • Self-directed and proactive
  • Attention to detail and quality

Nice To Haves

  • Experience with Yocto Project
  • Experience with user space debugging tools (gdb, valgrind, etc.)
  • Understanding of application security
  • Open source contributions
  • Experience in automotive, aerospace, or industrial sectors
  • Knowledge of real-time systems

Responsibilities

  • Maintain and enhance user space libraries and applications
  • Fix bugs and address customer issues in production code
  • Integrate new features while maintaining backward compatibility
  • Optimize application performance and resource usage
  • Write high-quality, maintainable code following team standards
  • Debug and resolve complex technical issues
  • Provide technical guidance and mentorship to junior engineers
  • Participate in code reviews and technical discussions
  • Contribute to architecture and design decisions
  • Drive technical improvements and best practices
  • Lead technical initiatives and small projects
  • Collaborate effectively with team members and cross-functional partners
  • Work with distributed teams across US, Romania, and India
  • Share knowledge through documentation and technical discussions
  • Participate in sprint planning, estimation, and retrospectives
  • Contribute to team process improvements
  • Maintain and enhance user space libraries (glibc, musl, etc.)
  • Support application frameworks and middleware
  • Address compatibility issues across different Linux distributions
  • Optimize application performance and resource usage
  • Design solutions for complex user space problems
  • Work with customers on critical issues and escalations
  • Guide technical direction for user space components
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service