Introduction to the job
Are you motivated by solving complex software and computer-related problems on advanced e-beam machines? Do you enjoy applying solid computer science fundamentals to diagnose real-world machine issues, improve system reliability, and support critical products used by customers worldwide?
We are looking for a Software Engineer with a strong foundation in computer science and hands-on software engineering skills to join the Diagnostics Tooling group. In this role, you will help diagnose, investigate, and resolve software and computer-related issues observed on customer e-beam machines, while designing and developing software tools that improve troubleshooting efficiency, automate diagnostics workflows, and strengthen our overall machine diagnostics capability.
You will work closely with equipment specialists, architects, product owners, and stakeholders across multiple domains to analyze complex problems, identify root causes, and deliver reliable, maintainable software improvements.
Role and responsibilities
As a Software Engineer in DnE, you will act as a software expert for software and computer-related diagnostics on e-beam machines. You will analyze issues reported by Field from customer sites, provide technical feedback and troubleshooting guidance, and develop software tools and test applications that improve diagnostics efficiency and support internal module validation.
Your responsibilities include:
Acting as a DnE software expert for software and computer-related issues reported by Field from customer e-beam machines
Analyzing Field feedback, diagnosing symptoms, identifying possible root causes, and providing practical troubleshooting recommendations
Developing software tools to reduce the effort and complexity for Field engineers when investigating software, computer, and machine-related problems at customer sites
Building diagnostics and automation tools for log collection, system health checks, issue reproduction, data analysis, and root cause investigation on e-beam machines
Supporting the development of internal DnE module test software, including software for module communication, test execution, result analysis, and validation workflows
Contributing to software solutions involving module communication interfaces, image processing workflows, and image algorithm validation where applicable
Working closely with Field, equipment specialists, architects, and software teams to translate technical problems into maintainable software solutions
Writing clean, maintainable, and well-tested code for diagnostic tools, test utilities, backend components, and integration software
Continuously improving diagnostics workflows, tool usability, and knowledge transfer between DnE and Field teams
Collaborating effectively across DnE, Field, application, and equipment domains to drive customer-impacting issues toward resolution
Education and experience
Bachelor’s or Master’s degree in Computer Science, Software Engineering, Electrical Engineering, Automation, or equivalent
At least 5 years of professional software development experience, preferably in equipment, diagnostics, automation, test software, or engineering tool development
Strong hands-on programming experience with Python and C++
Experience with at least one GUI framework or library, such as Qt, PySide, WinForms, WPF, or similar
Experience or exposure to image algorithms, image processing, general algorithms
Familiarity with computer and equipment interfaces such as RS232, Ethernet, PCIe, and related communication concepts
Basic understanding of Windows and Linux driver concepts, device communication, and system-level troubleshooting
Skills
Essential:
Strong troubleshooting and root cause analysis skills for software and computer-related issues on complex equipment
Ability to analyze logs, system behavior, communication traces, diagnostic data, and issue reproduction results
Ability to translate Field-reported customer-site issues into actionable…