The focus of the job is on equipment control for robotics and factory automation.
The products are designed for semiconductor chip manufacturing facilities around the world.
The primary area of work involves three areas.
- C++ programming on VxWorks operating system
- C++ programming on NuttX operating system
- C# programming on Windows 7/10/CE operating systems.
The projects all involve embedded software control of robotic and other motion related hardware.
In addition, machine vision technologies are being incorporated into the system.
The following specific tasks will be performed during the project life cycle.
Gather requirements, write requirement specification, and get spec reviewed by team.
Write design specification, and get spec reviewed by team.
Implement the design with C#/C++ programming, and get code reviewed by team.
Design test cases, and run unit testing over software emulation and on hardware.
Integrate software component to overall system, and perform SQA testing.
Work with rest of team, including ME, EE and SW engineers in system level integration.
Document release features and application notes for customers.
Support customers in their software integration, and in handling field escalations.
Participate in team reviews on specs, on code, on documentation and on test-cases.
Occasional travel to customer site in Portland area to support integration.
- Bachelor’s degree or equivalence of 1-5 years of work experience.
- Written and verbal communication skills to communicate design with rest of the team.
- Fluency in using UML for Object Oriented Analysis/Design, including state machines.
- Experience in programming multi-threading, and network socket communication.
Experience in working with a small project team of 3 – 12 engineers.
- 1 – 5 years of experience in software development, including college intern and research projects.
- 1 – 5 years of experience in programming C++, and in programming with one of C# or Java.
Preferred Experience in:
- Software in instrumentation or equipment control.
- Working on robotics and motion control related software.
- Software/firmware development on real-time operating system (RTOS).
- Software/firmware development using Micro-Control-Unit (MCU) chips.
- Python scripting.
- C# based rich GUI development with Microsoft Windows FORMs and/or WPF.
- GIT source control such as Microsoft Team Foundation Server (TFS).