Software Engineer

Engineering - Software, R&D, Technology Fremont, California


Embedded Software Engineer with experience in wafer processing and handling environment. .



  • Design, develop code, test and debug system firmware/software.
  • Review coding and design criteria and optimizes performance.
  • Analyze and enhance efficiency, stability and scalability of system resources.
  • Integrate and validate new product designs.
  • Support firmware/software QA.
  • Interface with hardware design and development.
  • Contribute new and innovative ideas to rapidly evolving business development activities
  • Assess third party and open source software.
  • Provide post production support by identifying complex technical issues, evaluating options and implementing solutions.
  • Create technical manuscripts of firmware operation.

Interpersonal Skills

  • Strong sense of ownership and independent motivation for success
  • Leadership skills and appreciate of the team work needed to develop and document necessary algorithms to ensure the system meets all safety and customer interface requirements
  • Agile and creative in implementing solutions
  • Ability to seek resources and consultation internally and externally to formulate the right plan before and during development
  • Track record of successful industrial control projects and products
  • Seek internal and customer feedback and requirements, formulate solutions, present them to management and implement them
  • Project planning, accurate man-hour estimates, resource allocation and equipment costing.
  • Ability to work well and communicate effectively with a team of engineers from multiple disciplines (system, electrical, process)

Technical Skills

Software and algorithm coding

  • Solid mathematical and algorithm development skills
  • 5+ years of C/C++ coding for microprocessors in industrial applications and ability to optimize code
  • Data acquisition (DAQ), data logging strategies in limited memory space and Fault communication to user and service
  • Debugging of microprocessors code and associated electrical hardware
  • In depth knowledge of one or more real time industrial communication protocols (e.g. CAN, MODBUS, EtherCat, Profibus, etc.) including programming of these communication stacks
  • In depth TCP network knowledge, including programming HTTP stacks is a plus
  • Knowledge and implementation of code test methodologies and defensive programming best practices
  • Writing GUI and test/automation code interfacing to custom microprocessor solutions in .NET and LabVIEW environments a plus.