Motion Control Engineer

Location: Oxnard CA

Motion Control Programmer 3 designs, develops, maintains, tests, and evaluates software for CNC computer control system under limited supervision of the Software Engineering Supervisor.

Essential Duties and Responsibilities include the following. Other duties may be assigned.

  • Proposes problem solutions through analysis, problem definition, requirement generation and implementation of those solutions.
  • Creates documentation and supporting diagrams supporting solutions.
  • Prepares and installs source code into source control by determining compliance of software changes with system specifications, programming best practices, and ensuring these changes are free from defects.
  • Improves workflow by conducting analysis and recommending changes in policies and procedures to management.
  • Must be an active coder.
  • Creates bug reports through investigation and by collecting, analyzing data, and providing clear documentation on reproduction of observed issues.
  • Communicate technical ideas clearly, able to use Microsoft Office applications when appropriate.
  • Employees are expected to follow instructions, procedures and to escalate any issue impacting workflow, quality, etc.
  • Employees must exhibit honesty and integrity as well as demonstrate adherence to rules, procedures and policies.

Qualifications

To perform this job successfully the candidate must be able to perform each essential duty adequately. 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.

Minimum Qualifications

  • 3+ years of coding experience.
  • Expertise in Java, C and C++.
  • Experience in Control Theory
  • Experience in Digital Control
  • Implemented PID control systems for the motion of a robotic arm
  • OOP (Object Orientated Programming) knowledge.
  • Experience reading and writing bash and batch scripts (basic).
  • Comfortable working in Windows and Linux environments. Linux is not a requirement, but will have to learn.
  • Experience with inter-process communication (Google Protocol Buffers is a plus).
  • Experience in writing and debugging multi-threaded applications.
  • Understanding of real time systems, XML , file systems, networking, multi-threaded applications, computer graphics, linear algebra, calculus, geometry, and trigonometry, human-computer interaction/User Interface design, design patterns, encryption, hashing, checksums, and CRCs (Cyclical Redundancy Check).
  • Experience working with source-control system.

Education
Master’s Degree MA/MS from a four-year college or university is required, plus additional related experience, training and/or equivalent combination of education and experience.

Preferred Major

  • Math
  • Physics
  • Electrical Engineering