30+ days ago - req26357

Sr Software Development Engineer

Research & development

Computer science & software engineering

In a nutshell

Location

San Diego - CA, US

Team

Research & development

Experience

3-7 years

Degree

Bachelor

Job Category

Computer science & software engineering

Travel

10%

Introduction

ASML US brings together the most creative minds in science and technology to develop lithography machines that are key to producing faster, cheaper, more energy-efficient microchips. We design, develop, integrate, market and service these advanced machines, which enable our customers - the world’s leading chipmakers - to reduce the size and increase the functionality of their microchips, which in turn leads to smaller, more powerful consumer electronics. Our headquarters are in Veldhoven, the Netherlands, and we have 18 office locations around the United States including main offices in Chandler Arizona, San Jose and San Diego California, Wilton Connecticut, and Hillsboro Oregon.

This position requires access to controlled technology, as defined in the Export Administration Regulations (15 C.F.R. § 730, et seq.). Qualified candidates must be legally authorized to access such controlled technology prior to beginning work. Business demands may require ASML to proceed with applicants who are immediately eligible to access controlled technology.

Job Mission

You will work closely with Controls system engineers and architects to formulate software requirements in response to the system and controls requirements. You will get to design software subsystems and its response within the system architecture. Reusability, modularity, simplicity and maintainability are key dimensions to balance. The role requires coaching junior engineers and provide technical leadership as you analyze complex issues, determine the best test methodologies and contribute in all aspects of the software development and release lifecycle.

Your influence span will cover Software and Controls team in San Diego and their functional counterparts in Veldhoven, Netherlands. Your critical and innovative thinking will be required to meet resource and budget objectives while working with our partners near-site, off-site as well as offshore. Control system software overview:

The control loops involve data exchange at speeds up to 100 kHz while data collection for diagnostics purposes is done at up to 1Khz rate. There is interaction between control loops running on quad core boards and platform software that runs on IBM bladecenter. Data is stored on board in postgres databases and is shipped via the fab network to data servers in San Diego. Our graphical user interface developed using Qt serves a complex set of users - operators, engineers, scientists and customers. And we don't forget safety, the control system has a Siemens PLC to ensure both human safety is ensured and machine damage is prevented.

Come and join our journey and you will be challenged and rewarded as you work alongside a group of talented, passionate and fun-loving engineers. You can tell your friends –I work on semiconductor lithography machines that allow the printing of finer features for the next generation of chips that power the innovations in the world- in short, the future of electronics !

Job Description

  • Design software response to system and controls requirements. Author software architecture, design and Test Specification Documents
  • Conforms to the approved Software Development Process and the Program Development Process, and is an active champion of process improvement
  • Technical ownership of issues that impact design success, and guide the future concepts, products and technologies
  • Work in hard and soft real time domain with complex hardware interfaces and various communication protocols (TCP/IP, Ethercat, Profinet)
  • Utilizes knowledge to design software for large complex multi-processor systems
  • Articulates (verbal and written) the design decisions and implementations made to management at Cymer /ASML, its development partners and the customer
  • Participates in the screening and selection of software development team members and in the mentoring of new software development team members
  • Mentors junior and external (contractor) software development team members
  • Performs other duties as assigned

Education

Requires Minimum of BS in Computer Science, Computer Engineering or other related Eng/Science fields.MS or Ph.D in relevant field is a plus.

Experience

  • Minimum of 10 years in technical development role with strong leadership demonstration
  • 7+ years of working C++ experience required
  • Experience with Object Oriented design
  • Experience with socket programming of network client and server, including TCP
  • Experience with OS or BSP configuration and bring up
  • Experience with multi-threaded application development
  • Experience with unit testing
  • Experience with Linux-based development environment
  • Proven ability to guide a team in coding efforts for a distributed control system
  • Delivered 3+ mid to large scale software projects with demonstrable quality
  • Hands on experience with refactoring for performance and scalability – complex multi-processor distributed control system is a plus
  • Curious and current on emerging software methodologies

Good to have skillset:

  • Experience with freeRTOS
  • Experience with Embedded Linux customization
  • Experience with SoC platform
  • Experience with CPU performance monitoring
  • Experience with gtest, gmock
  • Experience with tftpboot
  • Experience with python
  • Experience with test driven development
  • Experience with ARM architecture
  • Experience with JTAG programming
  • Experience with Xilinx SoC platform

Other information

  • Strong programming knowledge, Object Oriented Design principles and embedded development
  • Ability to handle aggressive deadlines with agility and results driven approach
  • Excellent written and verbal communication skills
  • Ability to translate, statistically analyze data, and effectively report problems through written and/or graphical formats
  • Ability to follow a Software Development Process that includes elements of planning, estimation, gathering and analyzing requirements, developing concepts and designs, implementation, developing and executing test plans’ and engaging in work product reviews
  • Ability to interact effectively with other team members as well as individuals in other disciplines and organizations
  • Ability to use MS Word, Excel, PowerPoint, and electronic e-mail systems
  • Ability to quickly develop and understand complex control systems including embedded real-time, application layers, CORBA interface and it’s associated hardware environment
  • Ability to independently determine technical solutions including test documentation
  • Technical expert of data management, TCP/IP and other similar communication protocols
  • Applies advanced knowledge of design methodologies
  • Demonstrates sophisticated knowledge in utilizing design engineering tools, systems analysis and design, and database management

EOE AA M/F/Veteran/Disability