Staff Engineer (Software Engineering)
Shugart, SG
About our group:
The Software Engineering department within Equipment Design Engineering (EDE) organization at Seagate Technology is responsible for designing, developing, and sustaining robust software solutions for HDD backend test equipment and automation systems. The team specializes in automation controllers (PLCs), vision software, Linux OS and kernel optimization, firmware development, and secure system integration. Their work spans supporting and optimizing automation sequences, developing new software for equipment and drive component assembly, and ensuring system reliability and efficiency through rapid troubleshooting and continuous improvement. The department also leads initiatives in Industry 4.0, machine learning, and AI—enabling advanced data collection, streaming, and analytics for Overall Equipment Effectiveness (OEE) reporting. By collaborating across hardware, firmware, and software domains, the team drives innovation, supports high-volume manufacturing, and ensures the scalability, security, and performance of Seagate’s production test environments.
About the role - you will:
We are looking for a highly skilled Staff Software Engineer to join our HDD backend test equipment team. In this role, you will be responsible for designing and building robust, high-quality software solutions. The ideal candidate has strong expertise in Programmable Logic Controller (PLC) tools, Linux OS, Kernel and Customization, multi-threaded applications for backend test equipment and drive component assembly software. We need a collaborative team player with a passion for creating scalable and reliable applications.
Oracle Linux and Test Equipment (TE) Security
- Design, develop, and maintain software in a Linux environment.
- Architect frameworks and co-develop software with the team for new OS and tool integrations.
- Manage and optimize the OS and Kernel for custom server configurations and devices.
- Manage and upgrade kickstart and software release servers for all backend test equipment software components.
- Coach and mentor engineers to expand their technical expertise.
- Resolve software issues quickly to maintain system uptime and testing efficiency.
New Software Design for Test Equipment
- Analyze a problem from a high level, evaluate different solutions, and determine the technical feasibility of implementation.
- Partner with internal teams to clearly define requirements, set realistic timelines, and ensure project goals are met.
- Manage individual project priorities, workloads and deadlines to consistently deliver on time.
- Proficient in developing and executing software tests. Ensuring that the new hardware and software integrations are robust, reliable and perform as expected.
Drive Component Assembly Software & Sustaining
- Develop and implement new software functionality for drive component assembly stations, including features for I/O mapping and configurable settings.
- Support and maintain automation PLCs and vision systems on drive component assembly stations.
- Provide prompt bug fixes and feature enhancements for existing stations.
- Manage software upgrades and provide ongoing support.
Industry 4.0, OEE, Machine Learning & AI Initiatives
- Develop applications to support Industry 4.0 efforts, including data collection and streaming for OEE (Overall Equipment Effectiveness) reporting.
- Collaborate with internal teams to scope and build software for new AI and Machine Learning initiatives.
About you:
- Bachelor's degree or higher in Computer Science, Software Engineering, or a related field is required.
- Highly adaptable and willing to take ownership of projects, with a proactive attitude toward learning new tools and languages.
- Demonstrated ability to collaborate with teams on co-development efforts.
Your experience includes:
- 15 years of hands-on experience in software development for sophisticated test equipment systems. Your expertise should include comprehensive understanding of the automation controller software and vision software along with experience in Linux environment administration.
- Programming Languages: Proven expertise in C/C++, C#, Java, and Python for developing, deploying, and managing large-scale production software.
- Linux & Operating Systems: Extensive experience developing, optimizing, and maintaining backend test equipment software in a Linux environment. This includes proficiency with Linux OS, custom kernel builds, Kickstart for installations, and package management with RPM/Yum.
- Extensive experience in Linux administration, including managing Cron jobs, secure FTP scheduling, data backups, software updates, file cleanup and running scripts for various applications on a regular schedule.
- Proficient in backend test equipment user interfaces, and able to ensure data integrity and compatibility from server to UI.
- Security: A strong understanding of security protocols and technologies, including SSL/TLS, certificate lifecycle management, and key management systems.
- Bootloaders: Experience with SPI Flash for storing and managing bootloader images (U-boot) and configuration data.
- Databases: Proficiency with SQL databases.
- Web Technologies: Familiarity with HTML, CSS, and JavaScript.
Project & Systems Management:
- Experience in supporting custom server configurations and hardware, including OS and kernel-level optimizations.
- Ability to design integration frameworks for new operating systems and software tools.
- Proficiency with Git and modern development workflows.
- Experience with build tools like Makefile, Ant, and GitHub Actions.
Location:
Location: Shugart, Singapore
Travel: None