STEM OPT Linux Software Engineer Jobs
Linux Software Engineer roles qualify for the 24-month STEM OPT extension if your degree falls under an eligible CIP code in computer science, electrical engineering, or a related STEM field. Employers must be enrolled in E-Verify, and you'll need a signed I-983 training plan before your extension begins.
See All Linux Software Engineer JobsOverview
Showing 5 of 16+ Linux Software Engineer jobs


Have you applied for this role?


Have you applied for this role?


Have you applied for this role?


Have you applied for this role?


Have you applied for this role?
See all Linux Software Engineer jobs
Sign up for free to unlock all listings, filter by visa type, and get alerts for new Linux Software Engineer roles.
Get Access To All Jobs
INTRODUCTION
Xylem is a Fortune 500 global water solutions company dedicated to advancing sustainable impact and empowering the people who make water work every day. As a leading water technology company with 23,000 employees operating in over 150 countries, Xylem is at the forefront of addressing the world's most critical water challenges. We invite passionate individuals to join our team, dedicated to exceeding customer expectations through innovative and sustainable solutions.
THE ROLE
We are seeking a talented and experienced Sr. Embedded Linux Software Engineer to join our team. In this role, you will be crucial in designing, developing, and maintaining tailored Linux distributions for our cutting-edge hardware platforms. You will work across the entire software development life cycle, from board bring-up to deploying secure, over-the-air (OTA) updates, ensuring high performance, reliability, and security for our embedded systems in electric metering products.
- Custom Linux Distribution Development: Design, develop, and maintain custom Linux operating systems and Board Support Packages (BSPs) using Yocto Project.
- Kernel and Driver Development: Configure, build, and debug the Linux kernel, and develop or port device drivers for various peripherals.
- Hardware Integration and Board Bring-Up: Collaborate closely with hardware and firmware engineers on initial board bring-up and troubleshoot complex hardware/software integration issues.
- System Architecture: Design and implement robust software architectures for resource-constrained embedded systems, focusing on efficiency, stability, and scalability.
- Security and Updates: Implement security frameworks (e.g., secure boot, encryption) and design infrastructure for reliable OTA updates with A/B partitioning support.
- Testing and Debugging: Perform root cause analysis and advanced troubleshooting at the kernel and user space levels, using tools like GDB, oscilloscopes, and logic analyzers.
- Documentation and Collaboration: Create comprehensive technical documentation and participate in code reviews to ensure code quality and adherence to best practices within an Agile/Scrum environment.
WHAT YOU'LL BRING
- A Bachelor's degree (or higher) in Computer Science, Computer Engineering, Electrical Engineering, or a related engineering field.
- Proven, hands-on experience in embedded software development, with 3+ years experience building and shipping embedded Linux distributions for high-volume, long-life products.
- Expertise in C/C++ programming for embedded systems and proficiency in scripting languages like Python or Bash.
- In-depth knowledge of Linux internals (kernel, bootloaders like U-Boot, device drivers, file systems) and cross-compilation toolchains.
- Strong experience with embedded Linux build systems such as the Yocto Project.
- Ability to read schematics and data sheets, and familiarity with hardware interfaces, communication protocols (e.g., I2C, SPI, UART, WIFI), and memory characteristics/tradeoffs.
- Experience optimizing software applications for low-power sleep modes.
- Experience with real-time operating systems (RTOS) and associated design techniques.
- Experience designing time-critical data processing functions.
- Familiarity with container technologies like Docker.
- Knowledge of CI/CD practices for generating release artifacts.
- Experience with multiprocessor system-on-chip devices running independent applications and shared memory architectures.
Join the global Xylem team to be a part of innovative technology solutions transforming water usage, conservation, and re-use. Our products impact public utilities, industrial sectors, residential areas, and commercial buildings, with a commitment to providing smart metering, network technologies, and advanced analytics for water, electric, and gas utilities. Partner with us in creating a world where water challenges are met with ingenuity and dedication; where we recognize the power of inclusion and belonging in driving innovation and allowing us to compete more effectively around the world.
At Xylem, you'll not only contribute to solving water issues but also have the chance to make a difference through our paid Volunteer Program, Xylem Watermark. We prioritize our employees' well-being through inclusion and belonging as well as our Employee Resource Groups (ERG). Proud to be an Equal Employment Opportunity (including disability and veterans) and Affirmative Action workplace, Xylem fosters an inclusive environment free from discrimination or harassment.
Please note that the information in this job description outlines the general nature of the position and is not an exhaustive list of duties. Xylem is dedicated to providing reasonable accommodations to enable all employees to perform their essential job functions. We reserve the right to modify this job description and assign additional duties as needed. Embrace the opportunity to be part of Xylem's transformative journey in shaping the future of water technology!
See all Linux Software Engineer jobs
Sign up for free to unlock all listings, filter by visa type, and get alerts for new Linux Software Engineer roles.
Get Access To All JobsTips for Finding STEM OPT Authorization as a Linux Software Engineer
Confirm your CIP code before applying
Not every computer science or engineering degree automatically qualifies for STEM OPT. Cross-reference your degree's CIP code against the Department of Homeland Security STEM Designated Degree Program List before you accept any offer that depends on the extension.
Filter employers by E-Verify status early
Linux roles at startups and small dev shops often lack E-Verify enrollment, which disqualifies them from sponsoring your STEM OPT extension. Search Migrate Mate to find Linux Software Engineer positions at employers already enrolled in E-Verify.
Verify the I-983 covers kernel-level work
Your I-983 training plan must describe training goals directly tied to your STEM degree. If your role involves embedded systems, kernel development, or systems programming, make sure those technical objectives appear explicitly in the plan your employer signs.
Use OFLC Wage Search to benchmark your offer
Before signing an offer, run the Linux Software Engineer SOC code through OFLC Wage Search to check the prevailing wage for your metro area. STEM OPT doesn't require prevailing wage compliance, but a below-market offer can complicate a future H-1B petition.
Check O*NET before writing your training objectives
O*NET lists the knowledge domains and technical tasks associated with Linux and systems software roles. Aligning your I-983 training objectives with O*NET's documented competencies for software developers strengthens your training plan if USCIS reviews it.
Linux Software Engineer jobs are hiring across the US. Find yours.
Find Linux Software Engineer JobsFrequently Asked Questions
Does a Linux Software Engineer role qualify for STEM OPT?
Yes, if your degree carries an eligible CIP code. Computer science, electrical engineering, computer engineering, and applied mathematics degrees typically qualify. The role itself must also provide practical training that's directly related to your degree field. Your DSO verifies the degree eligibility before recommending the STEM OPT extension to USCIS.
What E-Verify requirement applies to my STEM OPT employer?
Your employer must be enrolled in E-Verify before you begin work on a STEM OPT extension. Enrollment after you start doesn't satisfy the requirement. Verify enrollment status through the E-Verify employer search tool before accepting an offer. If the employer isn't enrolled, your DSO cannot recommend the extension, and you can't legally begin work under it.
What goes into the I-983 training plan for a Linux engineering role?
The I-983 must document specific training goals tied to your STEM degree, the supervision structure, how the employer will evaluate your progress, and how the role connects to your academic preparation. For Linux Software Engineers, that means describing work in areas like systems programming, kernel modules, device drivers, or performance optimization in terms that map back to your coursework.
How does cap-gap protect me if my H-1B is selected during STEM OPT?
If your employer files an H-1B petition on your behalf before your STEM OPT EAD expires and your registration is selected, cap-gap automatically extends your work authorization through September 30 of that fiscal year. You can continue working as a Linux Software Engineer without interruption while USCIS adjudicates the petition. USCIS publishes guidance on cap-gap eligibility and documentation requirements.
Where can I find Linux Software Engineer jobs at E-Verify employers?
Migrate Mate filters Linux Software Engineer listings for employers enrolled in E-Verify, so you're not wasting applications on companies that can't support your STEM OPT extension. You can search by role, location, and employer type without needing to manually verify E-Verify status on each company's profile before applying.
See which Linux Software Engineer employers are hiring and sponsoring visas right now.
Search Linux Software Engineer Jobs