prior professional work
Creating an SPC application for silicon die testing
Created a Python script that automated the creation of a Spotfire statistical process control (SPC) application based on engineering data from the silicon die testing process. The application implemented Western Electric (WECO) rules and provided an interface for adding, removing, and modifying rules.
the project
Created a Python script that automated the creation of a Spotfire statistical process control (SPC) application based on engineering data from the semiconductor testing process. The application implemented Western Electric (WECO) rules and provided an interface to add, remove, and modify rules.
The SPC application was used by engineers to evaluate process variation and product quality across manufacturing lots. Previously, an engineer had to reconfigure a Spotfire "template" for each new lot, spending hours repeating nearly identical configurations before she could actually start analyzing the data.
the system
In my implementation, the testing process kicked off a Spotfire Automation Services job, which opened an enhanced template with parameters identifying the test lot. The Python script retrieved the corresponding test data from the database using Parameterized Information Links, configured the analysis according to the applicable WECO rules, created the visualizations and documentation for the test, and finally stored the completed analysis in the Spotfire Library.
The solution employed event-driven analytics automation using Spotfire Automation Services, parameterized data access, and a Python-driven analysis generation layer.
supporting work
I wish I could share the code, because I'm still quite proud of it. One standout for me was researching Python techniques for accessing metadata about the script itself. I was chuffed to learn about sys.modules and use it for dynamic function calls. That let me refactor a substantial amount of repetitive code into something much more readable and concise.
decisions and current state
The primary user was familiar with Python but far from comfortable with code, and the existing code I was replacing was barely functional. So a personal requirement of mine became that what I wrote needed to be clean and concise, well documented, and organized in a way that made sense for his needs. I got great reviews!
I delivered a solution that eliminated hours of manual configuration for each manufacturing lot. The completed analysis (including test data, WECO rules, visualizations, and documentation) was generated automatically and published to the Spotfire Library for later review.