Software Engineer
About the role
C, C++ Software Engineer
📍 Location: Santa Clara, CA, US
🏢 Industry: Semiconductor Manufacturing
💼 Work Setting: Hybrid
Are you a Software Engineer with strong C/C++ expertise and an interest in real-time control systems, robotics, embedded software, and advanced manufacturing technologies?
Applied Materials is seeking a Software Engineer to join the Common Systems Software Department, developing the control software that powers some of the world's most advanced semiconductor and display manufacturing equipment. This role contributes to the software stack responsible for controlling robotics, motors, sensors, pumps, flow controllers, and other critical subsystems used in precision material deposition and removal processes at the atomic scale.
The ideal candidate combines expertise in C/C++ development, real-time systems, embedded software, control systems, multi-threaded programming, and software design with strong problem-solving and collaboration skills.
Key Responsibilities
Software Design & Development
Design, develop, and maintain software for complex semiconductor manufacturing systems.
Develop high-quality, reliable, and scalable software solutions.
Contribute to architecture, design reviews, and technical decision-making.
Implement software enhancements and new functionality.
Ensure software meets performance, reliability, and quality requirements.
Real-Time Control Systems Development
Develop software that controls and coordinates:
Industrial Robots
Motion Control Systems
Motors
Pumps
Generators
Flow Controllers
Sensors
Process Equipment
Support precise control of manufacturing processes.
Optimize software performance for real-time operational requirements.
Ensure safe and reliable equipment operation.
Embedded & Systems Programming
Develop low-level software components interacting with hardware systems.
Support embedded software and device communication interfaces.
Implement software for hardware control and monitoring.
Troubleshoot interactions between software and physical equipment.
Contribute to system-level integration activities.
User Interface Development
Design and prototype user interfaces for equipment control systems.
Improve usability and operator experience.
Collaborate with internal users and stakeholders on interface requirements.
Support visualization and monitoring capabilities.
Ensure interfaces support operational efficiency.
Troubleshooting & Debugging
Analyze and resolve moderately complex to highly complex software issues.
Perform root-cause investigations of software defects.
Design, implement, and validate bug fixes.
Improve system stability and reliability.
Support troubleshooting efforts across hardware and software environments.
Requirements Analysis
Work with internal and external customers to understand business and technical requirements.
Participate in requirement gathering sessions.
Translate requirements into software specifications.
Clarify system behavior and performance expectations.
Support product development planning activities.
Software Testing & Validation
Develop:
Test Plans
Validation Procedures
Test Bench Configurations
Simulation Environments
Execute testing activities across software modules and integrated systems.
Verify functionality against requirements.
Support system qualification and release readiness.
Documentation
Create and maintain:
Software Specifications
Design Documents
Technical Reports
Test Documentation
User Documentation
Ensure documentation remains accurate and up to date.
Support knowledge sharing across engineering teams.
Cross-Functional Collaboration
Work closely with:
Software Engineers
Systems Engineers
Hardware Engineers
Product Teams
Customers
Support software troubleshooting and project execution.
Participate in project scheduling and planning discussions.
Contribute to collaborative problem-solving efforts.
Technical Skills
Required
Programming Languages
C
C++
Software Engineering
Object-Oriented Programming
Software Design
Debugging
Software Architecture
Test Development
Preferred
Control & Automation
Real-Time Control Systems
Motion Control
Industrial Automation
Robotics Control
Embedded Systems
Embedded Programming
Hardware/Software Integration
Device Communication Protocols
Concurrent Programming
Multi-Threading
Parallel Processing
Networking & Communication
CAN Bus
Microsoft Technologies
C#
.NET
Visual Studio
Engineering Tools
MATLAB
Problem Solving Expectations
Solve moderately difficult to complex technical challenges.
Evaluate alternative solutions using sound engineering judgment.
Apply analytical thinking to system design and troubleshooting.
Develop innovative approaches to existing problems.
Balance performance, reliability, and maintainability objectives.
Education & Experience
Option 1
Master's Degree in:
Computer Science
Software Engineering
Electrical Engineering
Computer Engineering
Related Technical Field
AND
1+ years of professional software development experience
Option 2
Bachelor's Degree in:
Computer Science
Software Engineering
Electrical Engineering
Computer Engineering
Related Technical Field
AND
3+ years of professional software development experience
Soft Skills
Excellent written communication skills.
Strong verbal communication skills.
Ability to work effectively within multidisciplinary engineering teams.
Customer-focused mindset.
Ability to build consensus and collaborate across stakeholders.
Strong analytical and troubleshooting capabilities.
Core Competencies
C Programming
C++ Development
Real-Time Systems
Embedded Software
Motion Control
Robotics Software
Multi-Threaded Programming
Industrial Automation
Control Systems
Software Architecture
Debugging & Troubleshooting
CAN Bus
C#
.NET
MATLAB
Semiconductor Equipment Software
Test Development
System Integration
Responsibilities
- Design, develop, and maintain software for complex semiconductor manufacturing systems.
- Develop high-quality, reliable, and scalable software solutions.
- Contribute to architecture, design reviews, and technical decision-making.
- Implement software enhancements and new functionality.
- Ensure software meets performance, reliability, and quality requirements.
- Develop software that controls and coordinates industrial robots and motion control systems.
- Support precise control of manufacturing processes.
- Optimize software performance for real-time operational requirements.
Qualifications
- Master's Degree in Computer Science, Software Engineering, Electrical Engineering, or related field with 1+ years of experience, or Bachelor's Degree with 3+ years of experience.
- Strong expertise in C/C++ programming and software engineering principles.
- Experience with real-time control systems and embedded software.
Skills mentioned
About Applied Materials
A recruitment media and candidate acquisition agency helping employers and hiring partners connect with relevant talent at scale. We promote live job opportunities across social, professional and digital channels, then screen and evaluate candidates to discover relevant opportunities while supporting employers with quality applicant flow. Focused on high-volume hiring sectors including healthcare, logistics, technology, engineering and skilled professions.