Intermediate Software Engineer

Software Engineering SAN LUIS OBISPO, California


Description

The Intermediate Software Engineer will develop multilevel, complex, scalable software used to control precision Semiconductor polishing and grinding equipment.  They will have an ability to architect software solutions from the ground up per Marketing and Process-related specifications, and to work within and leverage existing architectures and standards.  An energetic, proactive, and cooperative attitude is required, as well as a high level of interpersonal and communication skills.

Essential Duties and Responsibilities

  • Develop code and documentation for a variety of difficult software projects, and design and implement bug fixes
  • Design a variety of difficult software projects
  • Work within departmental standards for software and machine control architectures, coding styles, source control, peer code review, and agile development principles
  • Work within industry and governmental standards for safety and ergonomic design, and integration into factory hosted and controlled environments
  • Develop software specifications for the manufacture of cutting-edge surfacing equipment
  • Developing control systems and interfaces in the software for hardware sub-systems
  • Implementation of industrial device control protocols
  • Automation of material movement inside the equipment using robotics
  • Interface with internal customers for requirements analysis and schedule
  • Troubleshoot a variety of difficult software problems.  Perform software tests on code and enhancements
  • Interface with external customers regarding software issues
  • Available for periodic travel to domestic and international customer and vendors.  About 10% or less travel time should be anticipated
  • Compile data for regularly scheduled or special reports, analysis and statements.
  • Basic professional behavior, such as: work collaboratively, good attendance, respectful behavior
  • Other duties will be assigned

Other Duties and Responsibilities

  • As assigned by supervisor

Skills & Qualifications

To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

  • Extensive knowledge of Computer Science fundamentals data structures, algorithms, operating system concepts
  • Sound programming skills including experience using C# and source code control required. Experience with WPF and WCF is preferred
  • Ability and willingness to get in-depth understanding of existing products and apply that knowledge to develop new products and to deliver enhancements/fixes for customer requirements
  • Excellent problem solving and troubleshooting skills
  • Excellent communication skills (verbal and written) and the ability to interact with multi-disciplinary teams
  • Be a quick learner, motivated, independent and self-driven, able to deliver against tight schedules with minimal supervision

Education and/or Experience Requirements

  • Bachelor of Engineering in Computer Science/Computer Engineering or related field and 4 - 5 years’ experience in software applications for machinery
  • Web software application experience alone is not sufficient