Overview
Software Engineer role on the TEM Semiconductor value stream, developing 4D-STEM and image processing software for semiconductor metrology workflows, based in Hyderabad, India, within a distributed agile Scrum team.
What you'll do
- Design, develop, test, and maintain robust, scalable, and high-performance software solutions for advanced 4D-STEM applications.
- Develop image-processing software and libraries to support advanced microscopy and metrology applications.
- Develop scientific and computational software using Python, contributing to data acquisition, processing, analysis, and visualization workflows.
- Write and maintain high-quality unit tests, integration tests, and system-level component tests to ensure software reliability and performance.
- Participate in code reviews, promoting software quality, maintainability, and adherence to engineering best practices.
- Diagnose, troubleshoot, and resolve software defects, performance bottlenecks, and computational challenges.
- Apply scientific computing and numerical methods to microscopy and metrology challenges, leveraging CPU and GPU acceleration to process, analyze, and optimize large-scale 4D-STEM data workflows.
- Stay current with advancements in scientific computing, high-performance computing, numerical methods, and software engineering practices.
- Learn TEM, 4D-STEM, and semiconductor metrology domain knowledge and validate software solutions using experimental and simulated datasets.
What you'll need
- Bachelor's or master's degree in computer science, computer engineering, or a related field, with expertise in software development.
- 5+ years of strong software development experience in Python.
- Experience developing scientific and computational software in Windows environments.
- Knowledge of numerical methods, linear algebra, and scientific computing concepts used in data analysis and computational applications.
- Solid understanding of software engineering principles, including object-oriented design, testing, and code reviews.
- Experience with scientific computing libraries such as NumPy, SciPy, CuPy or similar frameworks.
- Experience with image processing and analysis techniques, preferably using libraries such as OpenCV, scikit-image, or similar scientific imaging frameworks.
- Experience processing and analyzing large-scale datasets and developing performant computational workflows.
- Knowledge of concurrent and parallel programming, including multithreading, multiprocessing, and asynchronous processing.
- Experience leveraging CPU and GPU acceleration technologies, including CUDA or equivalent frameworks, for computationally intensive workloads.
- Experience writing and maintaining unit tests, integration tests, and system-level tests.
Nice to have
- Experience with C#, Rust.
- Familiarity with TypeScript and modern web technologies.
Details
- Location: Hyderabad, India; reports to the Functional Group Lead.
- Work schedule: First Shift (Days); office environment.
- Collaborates with teams in the Netherlands and Czech Republic.
Read the full description and apply on the company’s own careers page.