Senior Software Engineer, Controls Systems

ASML•San Diego, CA
•Onsite

About The Position

ASML is seeking a software engineer to design and develop software for distributed control systems and explore ways to integrate AI into existing systems and processes. The role works with software and control system engineers in an Agile team, developing software in response to system requirements and design documents. It includes designing for reusability, modularity, simplicity, and maintainability; selecting test methodologies; and contributing throughout the software development, build, test, and release cycle. The engineer partners with software architects and functional engineers to design, test, and deploy solutions for a global customer base in a multidisciplinary environment developing EUV technology. The control system exchanges data in control loops at speeds up to 100 kHz and collects diagnostic data at up to 1 kHz. It connects control loops on quad-core boards with platform software running on IBM BladeCenter. Data is stored in PostgreSQL databases on-board and transferred over the fab network to data servers in San Diego. Its Qt graphical user interface serves operators, engineers, scientists, and customers. A Siemens PLC supports human safety and prevents machine damage. CPDs are user-facing applications for operator diagnostics and maintenance, and drivers provide programmatic interfaces for changing physical machine components. This on-site role is based in San Diego, California. A flexible workplace arrangement may be available for roles conducive to remote work, for up to two days per week. The role requires access to controlled technology; candidates must be legally authorized to access it before beginning work. The current base annual salary range is $134,000–$197,000.

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, or another related engineering or science field.
  • At least 5 years in a technical development role with strong software engineering skills.
  • Delivered three or more mid- to large-scale software projects with demonstrable quality.
  • Demonstrated ability to guide a team in coding efforts for a distributed control system.
  • Strong C++ and Python knowledge, object-oriented design principles, and embedded development experience.
  • Ability to work with C++ and Python across operating system environments including VxWorks and Linux.
  • Ability to handle aggressive deadlines with agility and a results-driven approach.
  • Excellent written and verbal communication skills.
  • Ability to translate and statistically analyze data, and report problems effectively in written or graphical formats.
  • Excellent customer service skills and an advanced understanding of customer relationship building.
  • Ability to quickly develop and understand complex control systems, including embedded real-time systems, application layers, CORBA interfaces, and associated hardware environments.
  • Ability to independently determine technical solutions, including test documentation.
  • Technical expertise in data management, TCP/IP, and similar communication protocols.
  • Advanced knowledge of design methodologies and sophisticated knowledge of design engineering tools, systems analysis and design, and database management.
  • Ability to follow a software development process involving planning, estimation, requirements gathering and analysis, concept and design development, implementation, test planning and execution, and work product reviews.
  • Ability to interact effectively with team members and people in other disciplines and organizations.
  • Ability to present information effectively and respond to questions from managers, clients, customers, and the public.
  • Ability to read and interpret business periodicals, professional journals, technical procedures, and governmental regulations.
  • Ability to write reports, business correspondence, and procedure manuals.
  • Willingness to work in a clean room wearing coveralls, hoods, booties, safety glasses, and gloves for the entire shift.
  • Legal authorization to access controlled technology before beginning work.

Nice To Haves

  • Experience in leadership or designing software for a complex multiprocessor distributed control system.
  • Hands-on experience refactoring software for performance and scalability, particularly for a complex multiprocessor distributed control system.
  • Curiosity about and current knowledge of emerging software methodologies.
  • Understanding of NLP techniques for chatbots, sentiment analysis, and language models.
  • Proficiency in AI frameworks and libraries such as TensorFlow, PyTorch, Keras, and Hugging Face Transformers.

Responsibilities

  • Work on a team of software and cross-functional engineers delivering software that enables further miniaturization of semiconductor technology.
  • Develop software in hard and soft real-time domains involving complex hardware interfaces, communication protocols, and platforms.
  • Use Agile methods to develop software in C++ and Python on Linux environments.
  • Create designs and implement code that is modular, scalable, robust, and meets customer requirements.
  • Perform unit testing and on-target testing to meet customer quality standards.
  • Evaluate technical issues, risks, and dependencies for projects.
  • Work with stakeholders to understand their requirements.
  • Verify the stability, interoperability, portability, security, and scalability of system architecture.
  • Participate in continuous process improvement to increase the efficiency and quality of software development processes and tools.
  • Perform other duties as assigned.

Benefits

  • Medical insurance
  • Dental insurance
  • Vision insurance
  • Basic life insurance
  • 401(k) plan
  • Eight hours of vacation leave per month
  • Thirteen paid holidays per calendar year
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service