Monday, January 7, 2013

Senior Software Engineer (C#| C++| LINUX |GUI | Commercial Software Development| WxWidgets|CUDA) (#108868)

Position: Senior Software Engineer
Location: Milpitas, CA
Duration: Full time

Job description:
The REBL program is developing a new-generation electron-beam lithography system for high-throughput maskless production of ICs.  Much of the technology employed in this system is novel, and the software to operate the system and supply data to it is likewise novel.

1.Help us complete the latest version of our "EDGE" software (an IC pattern processing program) and complete a port of it to Linux. Test and benchmark both the Windows and the Linux versions of the completed application. Ensure that the Linux GUI is equivalent to the Windows one. Support internal and external customer evaluation of this application. Ensure that the program is 'customer ready.'
2.Participate in our work to further improve the performance of EDGE, by introducing new programming constructs such as MPI and output-file format changes; enable user visualization of portions of an IC mask layer after it has been processed by EDGE. Ensure that EDGE can process test patterns needed to achieve program milestones and acceptance tests of REBL.
3.Develop hardware and software architecture for the 'Distributor', a new module in the REBL data path. This module will be similar to an embedded system, but quite complex, with dedicated background and foreground software tasks, high-performance storage modules, high-performance computation elements (e.g., GPUs), specialized FPGA cards and multiple network cards. Participate in reviews and assessments of the hardware design. On the basis of the software architecture and hardware selected, design, code and test the software for the new module.

Education and Experience:
1.Advanced degree (MS or PhD) in relevant branch of science or engineering.
2.10+ years' experience, at least part of which should be in data preparation for semiconductor lithography and part in applications development under Linux. 3.In-depth knowledge of both Linux and Windows-based systems. 
4.Ability to program multi-threaded applications, particularly using 'Boost' libraries (for Linux application), will be needed.
5.Ability to program for a quasi-real-time environment similar to an embedded system.
6.Some familiarity with CUDA programming is helpful. Familiarity with WxWidgets (a tool for producing a Windows-like GUI in Linux) will be very helpful.
7.Some familiarity with device drivers may be useful.

Minimum Qualification:
Doctorate (Academic) with at least 5 years of experience.
OR
Master's Level Degree with at least 6 years of experience.
OR
Bachelor's Level Degree with at least 7 years of experience.

Please send your resumes to sivaram.bose@kla-tencor.com