15 days ago
Phoenix, AZ, USASenior
Responsibilities
- Lead investigations into software safety interlocks and validate corrective and preventive actions.
- Analyze interactions across subsystems to understand end-to-end platform behavior and workflows.
- Drive root-cause and corrective-action efforts using packet captures, log analysis, and system-level troubleshooting.
- Design, evaluate, and improve subsystem architectures, including multithreaded applications and scheduler interactions.
- Develop, deploy, maintain, and enhance software for semiconductor manufacturing equipment.
- Troubleshoot complex software issues, including real-time control systems.
- Serve as a technical escalation point for field engineers and customers worldwide.
- Partner with Quality Assurance and Support teams to reproduce field issues and improve regression test coverage.
- Author and review software specifications, design documents, and test plans.
- Investigate technical inquiries and provide actionable technical analysis.
- Evaluate and influence software engineering tools, processes, and design decisions.
- Coordinate rapid software fixes and deployments in high-impact customer environments.
- Present technical findings, project updates, and DOE analysis results to internal teams and customers.
Requirements
- Bachelor's degree in Computer Science or a related field with 7+ years of relevant experience, or a Master's degree with 4+ years, or a PhD with 3+ years of relevant experience.
- Strong software development experience using C++ and/or C#.
- Solid understanding of multithreaded application development.
- Experience with software specifications, technical documentation, and APIs.
- Knowledge of software memory architecture, debugging, and performance analysis.
- Strong analytical and problem-solving skills.
- Ability to communicate complex technical concepts effectively to cross-functional teams.
- Preferred experience with software architecture, machine control systems, or semiconductor manufacturing equipment.
- Preferred hands-on experience with GUI development, device drivers, and interrupt-driven software.
- Preferred knowledge of networking, data communications, and EtherCAT.
- Preferred understanding of dynamic scheduling algorithms and deadlock avoidance techniques.
- Preferred experience with debuggers, build systems, and configuration management tools.
- Preferred ability to troubleshoot software, electrical, and mechanical issues from a system-level perspective.
- Preferred experience designing and analyzing complex Design of Experiments, including multivariate analysis or Principal Component Analysis.
