Applications Software Engineer

APPLICATIONS ENGINEERING Irvine, California


Description

Job Duties:
 
  • Develop, debug and maintain software applications that monitor and visualize the performance of image sensors. The functions of applications include capturing images, saving stream to BMP, FPGA board control, reading and writing registers information of sensors and finding defect pixels.
  • Develop API which accepts various parameters of images, gets image processing results and generates reports with C++ on GUI framework including Microsoft’s MFC, Qt Creator, to verify image quality and to perform image sensor verification.
  • Code scripts using OVJavaScript to perform customer-oriented projects and support FAEs to provide solution and work with OmniVision’s customer
  • Develop static HTML sites for (a) user guides of API including high level function of software, (b) image processing tool for image verification and analysis, and (c) Internal image sensor evaluation tool, via Markdown and HTML language, and mkdocs tool, to present the guidance for company's image sensor solutions
  • Evaluate and analyze software, collect feedbacks and collaborate with other teams/engineering staff to develop new features and improve current software applications.
  • Develop software test automation using batch scripting, GUI automation script. Code AutoIt scripts to auto-test the main image processing tool in order to guarantee the application running without bugs and errors.
  • Provide technical support that evaluate modules including auto white balance of image and auto gain control of sensors and generate reports to negotiate with customers.
  • Trouble shoot issues and provide solutions to FAEs in other countries and provide solutions to their request and customer’s specific request to support FAEs’ design requirements.
 
Requirements:
 
Master’s degree in Science or Engineering with coursework related to computer system and organization and massive data sets mining.
 
Special skills required:
 
  • Programming using in Python, JavaScirpt, C and C++;
  • Code management tools such as svn, git, repo;
  • Software development platform and debugger such as Qt creator and Visual Studio;
  • GUI framework such as Microsoft’s MFC
  • Automation of builds using batch scripting and GUI testing scripting such as AutoIt;
  • Image Signal Processing including Black level control and Auto white balance etc.
  • Image standards: Bayer pattern, JPG compression and BMP format.
  • Knowledge of CMOS sensor and FPGA board.
 
Annual base salary for this role in California, US is expected to be between $121,222 - $125,000. Actual pay will be determined on a number of factors such as relevant skills and experience, and the pay of employees in the similar role.