Engineering Development Program

John Deere
August 2020 - Present

The John Deere Engineering Development Program consists of three 8-month rotations in Product Engineering. My job location is in Des Moines, Iowa at the Intelligent Solutions Group building. Below is a list of my job rotations:

  • First Rotation: Test Automation Engineer
  • Second Rotation: Robotics Engineer
  • Third Rotation: TBD

Test Automation Engineer

During my first rotation, I worked on the test automation team to test and create computer vision solutions.

Auto Code Generation

  • Description: I created a system that will take test pre-conditions and steps and automatically generate the format and Python code for some of the test.
  • Results: I was able to successfully create this system and integrate it into the testing workflow.
  • Impact: This speeds up the test creation process and allows developers and test automation engineers to focus on the problem solving aspects of writing tests.

Flaky Test Suite Update

  • Description: I conducted root cause analysis to resolve flakiness with around 35% of the test base.
  • Results: I was able to successfully update approximately 35% of the test cases to remove flakiness from them.
  • Impact: This now allows us to have confidence in the test results, meaning any failures should be investigated.

Testing Framework and User Story Contributions

  • Description: I created 4 major test framework additions and completed over 50 user stories.
  • Results: The testing framework additions unblocked over 30 tests.
  • Impact: More tests are now automated, which enables faster defect identification.

Skills

Skills

Automated Testing 100%

Embedded Software Development 50%

Computer Vision 40%

Tools

Python 100%

C++ 50%

Robotics Engineer

During my second rotation, I am contributing to various embedded systems, computer vision, machine learning, and simulation efforts for the Combine Auto Unload project.

Stereo Dust Detection Algorithm

  • Description: I created a stereo dust detection algorithm that accurately detects dust for many different stereo camera applications.
  • Results: I successfully created this algorithm and integrated it into the core software where it is and will continue to be used by other applications.
  • Impact: This solution is one that will help many applications tackle the issue of poor image quality due to dust.

Threshold Optimizer Tool

  • Description: I created a tool that will optimize one or more thresholds used to tune a computer vision algorithm's performance.
  • Results: I successfully created this threshold optimizer tool that utilizes machine learning and integrated in into our core software.
  • Impact: This tool allows the same algorithm to be tuned between different applications and creates an in-house solution for computer vision algorithm tuning.

Simulation Environment

  • Description: I created and integrated a real-time simulation environment that plugged directly into the controls/perception code
  • Results: I was able to successfully create, integrate, and generalize the simulation environment so other projects could integrate into their projects as well
  • Impact: The simulation environment results in faster controls/perception iteration by reducing trips to a physical field to test updates

Skills

Skills

Embedded Software Development 100%

Computer Vision 80%

Machine Learning 60%

Computer Networking 40%

Tools

C++ 100%

OpenCV 80%

Python 60%