Applied Materials is looking for a software engineer to design and develop software components for moderately complex projects, debug and enhance existing software, and provide support for internal and external stakeholders to ensure software reliability and maintainability, ultimately impacting customer operations and improving team productivity and customer satisfaction.
Requirements
- Build software components for moderately complex projects using C-Sharp and .NET, applying design patterns such as MVVM and leveraging frameworks like MEF for modular architecture.
- Implement bug fixes and performance improvements, ensuring code quality through unit and integration testing.
- Write and maintain automated tests using NUnit and mocking frameworks.
- Solid understanding of component-based development, asynchronous programming, and threading models.
- Familiarity with development tools such as Visual Studio, R, Git, and build automation systems.
- Applies technical experience and judgment to solve moderately complex problems using established frameworks and patterns.
Responsibilities
- Build software components for moderately complex projects using C-Sharp and .NET, applying design patterns such as MVVM and leveraging frameworks like MEF for modular architecture.
- Implement bug fixes and performance improvements, ensuring code quality through unit and integration testing.
- Create clear technical documentation for modules, APIs, and workflows.
- Write and maintain automated tests using NUnit and mocking frameworks.
- Participate in code reviews and validation of build outputs.
- Investigate and resolve software issues related to threading, data flow, and module integration.
- Provide support for internal and external stakeholders.
Other
- Collaborate with internal teams to gather requirements and align on specifications.
- Work with internal customers to define schedules and requirements.
- Engage with external customers to address software-related concerns.
- Provides informal mentorship and technical guidance to junior engineers and new team members.
- Communicates technical concepts clearly across teams, including product managers, testers, and support engineers.