Embedded Software Engineer (Master's Level, Early Career)
- Level
- New Grad
- Posted
Skills
About this role
Job Title
Embedded Software Engineer (Master's Level, Early Career)
Posting Start Date
10/7/26
Requisition Id
15175
About our group
Seagate is a global leader in mass-capacity data storage, helping organizations and people around the world create, protect, and unlock the value of their data. With over 45 years of technology leadership, Seagate delivers trusted storage solutions for Cloud, Enterprise, Edge, and Consumer markets, powering the infrastructure behind AI, digital transformation, and the world’s growing data economy. Our Software Engineering organization develops embedded software for Seagate storage products, combining strong software fundamentals with close-to-hardware design to deliver reliable, high-performance product behavior. About the role - you will:
Design, implement, and maintain targeted embedded software changes in C/C++ to correct defects, improve reliability and performance, and support product stabilization. Apply computer science fundamentals, modular design, clear interfaces, and testable implementation practices to ensure fixes are maintainable, reusable, and aligned with long-term product ownership. Investigate, debug, and resolve product development defects across embedded software, hardware interactions, firmware interfaces, and storage product behavior. Drive defect closure from issue reproduction and technical analysis through root cause, corrective action, validation support, and clear communication of status, risk, and tradeoffs. Contribute to design reviews, code reviews, defect prevention practices, and engineering quality improvements that reduce recurrence and improve product development execution. About you:
You build reliable embedded systems with software that is understandable, testable, extensible, and sustainable. You understand how software interacts with hardware, operating systems, storage architecture, and product behavior, and you use that understanding to make practical engineering decisions. You break down complex or ambiguous technical problems, reason from first principles, and communicate tradeoffs clearly to peers and cross-functional partners. You take ownership of your work, follow through on defects and integration issues, and look for ways to improve software quality and engineering practices. Your experience includes:
Strong foundation in operating systems, concurrency, memory management, data structures, algorithms, and computer architecture, with proficiency developing production-quality software in C/C++ and working knowledge of Python, Rust, or similar languages. Practical experience with embedded systems, resource-constrained design, hardware/software interaction, debugging tools, root-cause analysis, modern development practices, and cross-functional resolution of software, firmware, or system-level issues. Master’s degree in Computer Science or related technical field.
You might also have
Experience with embedded operating systems, device drivers, storage systems, real-time software, low-level platform software, or firmware interfaces. Experience contributing to modular architecture, interface contracts, testable design, build systems, CI/CD, static analysis, or software quality tools. Knowledge of HDD devices, storage protocols, system-level performance