Design and develop code for complex software solutions for semiconductor equipment components and devices Develop software documentation and test procedures Troubleshoot a variety of difficult software problems. Design and implement bug fixes Define software specifications and test plans for simulators, test benches or the lab Communicate with internal and external customers for requirement analysis, project schedule and software troubleshooting