Sr. Software Engineer
| Estimated Pay info | Based on similar jobs in your market$93 per hour |
|---|---|
| Hours | Full-time, Part-time |
| Location | San Jose, California |
About this job
Senior Software Engineer
Context
Takes full technical ownership, leading several technical complex designs. Contributes to development / change of sub-modules; responsible for results of sub-modules.
Works at Train level. Interfaces with other sectors in complexenvironment,may require negotiation.
Understands the contribution of other domains to the product;operateson module level and oversees the relations on function level. Takesend-to-end view, taking into account impact on other areas (e.g. research, customer, marketing).
Structural troubleshooting capabilities on functional level and manages many technical uncertainties at sub-module level and develops creative solutions to solve uncertainties.Can take responsibility for customer problems (end-customer/sectors in Operations),coming up withsolutions for specific issues.Representsthe competence inProductDevelopment Cycle.
Mastersa field and WoW inownfunction. Has visible impactindepartmentor groups in other disciplines. Based on in-depthexpertisein own module/technical discipline,findssolutions that are not obviousforothers. Looks forward and acts proactively (e.g.raising risks).
As a Technical Lead Designer, steers the work of 6-10 engineers.
Designs, develops,testsand integrates software for ASML's machines and applications.Implementsanalytics, data,controland algorithm applications that give ASML customers the power to reachoptimalperformance during manufacturing.
Technical Responsibilities Summary
In addition to the responsibilities above,servesas the technical authority for one or more software modules or subsystems. Provides technical leadership across software architecture, implementation, integration, deployment, maintenance, and technical roadmap activities.
Demonstratesexpertisein:
C# and .NET application development
WPF and XAML based user interface development
MVVM architecture and application design patterns
Object-oriented design and software architecture
Build and release environments
Continuous Integration and Continuous Deployment (CI/CD)
Source control and branching strategies
NuGet package management and dependency versioning
Application debugging, diagnostics, and root-cause analysis
Performance, scalability, reliability, and maintainability engineering
Automated testing and software quality practices
Cross-team technical alignment and architectural governance
Provides technical direction, coaching, code reviews, design reviews, and architectural guidance to software engineers. Drives software quality, maintainability, and long-term technical strategy while ensuring alignment with product and platform architecture.
Requirements
Masterdegree with substantial general work experience, or equivalent working and thinking level. Comprehensive job-related experience inownexpertisearea tofullycompetent level.
Seasoned designer within own competence
and
has completed at least 1 Product Development Cycle.
Additional Software Expertise
Demonstrated experience with:
C# and .NET Framework/.NET development
WPF and XAML application development
MVVM architecture and separation-of-concerns design principles
Software architecture, frameworks, and design patterns
Debugging complex software systems across multiple layers
Build systems, automated builds, and deployment pipelines
NuGet package creation, consumption, versioning, and dependency management
Source control systems and collaborative development workflows
Unit testing, integration testing, and test automation
Technical leadership, mentoring, and architecture reviews
Responsibilities
Research
Develop and/or deliver a plan for significant aspects of a research program with guidance from senior colleagues.
Evaluate emerging software technologies, frameworks, development tools, and engineering practices relevant to ASML products and platforms.
Design Requirements and Specifications
Plan and coordinate the identification, elicitation of product and/or project requirements; conduct analysis of those requirements for completion and alignment; document and manage requirements throughout the life of the project; and coordinate the verification of the end deliverable. Generally done at the project level.
Define and document software architecture requirements, quality attributes, interface contracts, and non-functional requirements including performance, maintainability, reliability, and extensibility.
Feasibility
Conduct feasibility studies from a technological and organizational perspective and document findings to complete cost-benefit analysis on implementing changes to business processes, products, or business unit structure.
Perform feasibility studies, contribute to the development of product roadmapsand contribute to the SPS/SDS.Identifyfeasibility questions and improvements inowndomain.
Assessfeasibilityof software architectures, frameworks, technology selections, deployment models, and implementation approaches.
Conceptualization
Design engineering solutions and the associated validation process to enable the realization of a design brief (for example, in terms of functionality, performance and cost) that conforms to organizational and/or regulatory standards.
Develop software concepts, architectural approaches, and engineering strategies that balance functionality, maintainability, scalability, performance, and cost.
Preliminary Design
Develop technicalconceptincluding material choices. Specify (sub)moduleusing team input, design architecture, make technical choices in all phases, solve technical issues, devisenew approachesto problemsencountered, and drive the development of the module.
Prepare high-level design of the (sub-)modulefulfillingthe requirements set while addressing architectural and interface choices. Document the high-level designinthe relevant SEG documents.
Additionally:
Define software architecture and subsystem decomposition.
Establish technology selections and architectural direction.
Define software interfaces, platform boundaries, and integration approaches.
Lead architecture reviews and technical decision-making activities.
Detailed Design
Design engineering solutions and the associated validationprocess toenable the realization of a design brief (for example, in terms of functionality, performance, aesthetics, and cost) thatconformsto organizational and/or regulatory standards.
Detail outthe design including its documentation.
Additionally:
Develop detailed software designs and technical specifications.
Design reusable software components, frameworks, services, and APIs.
Ensure adherence to architectural standards and engineering best practices.
Review software designs produced by other engineers.
Integration
Integrate sub-systems into the system, execute configuration management, and provide support to projects.
Additionally:
Lead software integration activities across modules, services, UI components, and hardware interfaces.
Manage software dependencies and package versioning strategies.
Support build, deployment, installation, and upgrade processes.
Resolve architecture, compatibility, and integration issues.
Product Quality / Testing
Perform verification of SDS, verify design specifications from teammembersand contribute to the testing process (TPS, a-test, (sub system) TAR, b-test).
Develop new testing approaches and strategies to meet changing requirements. Focus on a defined range of products,operationsor both.
Additionally:
Drive software quality strategy and test automation.
Perform root-cause analysis of complex software defects.
Develop debugging and diagnostic approaches for complex systems.
Support performance analysis and optimization activities.
Lead design reviews and code reviews to improve software quality and maintainability.
Safety
Adheres to ASML's EHS policies,proceduresand mandatory instructions;identifiesandmitigatessafety risk and safeguards the environment and well-being of oneself and others.
Instructs the team in safe working methods andidentifiesinstances of risky behaviors within the team and takesappropriate action, escalating serious issues asappropriate.
Project Management
Create high-level work breakdown, support planning, provide effort estimates and manage assigned projects, delegate tasks and ensuretimelyexecution and delivery according to quality standards, within the project management guidelines.
Additionally:
Drive technical planning and architecture roadmaps.
Identifytechnical risks and mitigation strategies.
Coordinate technical dependencies across teams and disciplines.
Guideexecution of complex software development efforts.
Communication and Documentation
Document complex design choices and specifications in all phases to ensure product documentation is up todateand relevant underlying assumptions and restrictions are documented.
<