Senior Software Engineer

Arizona, USA (Remote)

Job Type


Role Summary:

The position involves delivering software that has immediate, tangible results visible in the operation of semiconductor processing equipment hardware.  The hardware includes robotics, gas valves, temperature controllers and other hardware.  The engineer will work with other software engineers, engineers from other departments, and other company personnel. They will be required to use experience and judgment to provide software system engineering solutions. The engineer will work independently or as a team member on software development efforts.  The senior software engineer may act as a mentor for newly hired software engineers.

Essential Duties and Responsibilities:

  • Design, develop and troubleshoot computer software, including embedded software for control systems

  • Author, revise, and review system specifications, software designs, test plans, and other software documentation

  • Investigate both internal and external inquiries, questions and problem reports. Offer problem analysis, solutions, or alternatives as a result of these investigations

  • Evaluate software engineering tools

  • Participate in system design teams

  • Lead a small sized project (1-2 people per project team)

  • Assist marketing with information which will allow them to prepare quotes to customers and marketing specifications

  • Travel to customer sites to support installations, training, and troubleshooting of company products

  • Develop schedules for software development efforts

  • Provide engineering solutions to resolve all software issues

  • Provide general software department support

  • Evaluate new software and hardware tools for possible department use


  • BS degree in Computer Science or related degree, Master's preferred.

  • Open for motivated juniors as well as experienced professionals with up and around 10 years of experience developing the following types of software: C, C++/Net, C# and Python

  • Developing for Windows Operating Systems

  • Experience in the following application areas is a plus:

  • Windows Embedded Operating Systems

  • Machine Control Systems, Multi-threaded applications, real-time software, device drivers or other interrupt driven software

  • Graphical User Interfaces

  • Semiconductor Factory Automation

  • Data Communications and Networking

  • (An equivalent combination of education and experience where a comparable amount of knowledge, skills and ability has been achieved.)

  • Knowledge of programming tools such as text editors, debuggers, application builders and configuration management tools.

  • Ability to read code and understand the functionality implemented and the ability to translate the functionality into another piece of software

  • Ability to understand the system 'big picture' and how new functionality fits into that system