Join the team that builds the real-time software at the heart of our semiconductor inspection and metrology tools. You will design and implement embedded software that runs close to the hardware, on FPGAs, SoCs and microcontrollers, and help our customers produce the next generation of microchips.
About the Role
We are looking for an experienced Embedded Software Engineer to join our Logic Design Group in the R&D Hardware department. You will develop software for FPGAs, microcontrollers and SoC devices as part of a multidisciplinary system, working side by side with hardware, FPGA, software, system and algorithm engineers.
What You'll Do
Plan, design and implement the real-time embedded software for our high rate image digitizers and synchronizers using Xilinx FPGA, Linux OS and Arm controllers.
Develop software that is aware of the hardware on one side and integrates with high-level software on the other, using modern protocols such as gRPC.
Board bring up, debug and validate software together with hardware and FPGA engineers.
Develop test tools in Python and use them to verify your work on the system.
Write high-level and detailed design documents and take part in design reviews.
Make key technical decisions that ensure the scalability and performance of our applications through clean code and solid architecture.
What You'll Bring
Requirements
A degree in Computer Science, Electrical Engineering, Computer Engineering or an equivalent field.
7+ years of experience developing real-time embedded systems in C/C++.
leading significant implementations, from architecture level to full implementation.
Experience developing test tools in Python.
Linux user-space experience.
Experience writing high-level and detailed design documents, including UML modeling.
Hands-on experience using AI tools to plan, implement and test code and deliver high-quality results.
Advantages
Linux kernel-space experience.
Experience building customized Linux distributions, such as Yocto or Buildroot.
Hands-on experience with frame grabber technology and high-speed camera interfaces such as CoaXPress over Fiber (CoF) and Camera Link, preferably with Matrox grabbers.
Ability to read and understand schematics and datasheets.
Familiarity with FPGA and SoC devices.
Personal Skills
A team player who can also take full ownership and work independently, with strong interpersonal skills.
Strong debugging skills, a self-learning mindset and the ability to dive deep into unfamiliar areas.
Flexibility and adaptability, with a willingness to embrace new software development methodologies and processes.
The ability to manage your time efficiently, switch context and work on several projects in parallel.
Why Join Us
Broad technology: work in C, C++ and Python, on architectures such as ARM, FPGA, microcontrollers and different accelerators.
Industry leader: work for a global technology leader in chip metrology and inspection.
Interesting challenges: work on complex high-speed image digitizers in real systems.
Strong team: collaborate with people who, like you, see challenges as growth opportunities.
About the Group
The Logic Design Group designs, implements and integrates applications from low-end to high end, covering every aspect our tools need:
Complex digitizers with high-speed throughput and low noise.
Accurate controllers and high-end synchronizers for our machines.
High-speed, high-end frame grabbers.
Algorithm enhancement for different applications in our tools.
We are a highly multidisciplinary group with a strong culture of teamwork. Our developers work closely with HW, FPGA, SW, System and Algo developers.
Additional Information
Time Type
Full time
Employee Type
Assignee / Regular
Travel
Yes, 10% of the Time
Relocation Eligible
No
Applied Materials is an Equal Opportunity Employer. Qualified applicants will receive consideration for employment without regard to race, color, national origin, citizenship, ancestry, religion, creed, sex, sexual orientation, gender identity, age, disability, veteran or military status, or any other basis prohibited by law.