I'm a software engineer who's young but capable, independent, and always looking to learn something new or improve the skills I have.
Ann Arbor, Michigan, United States
QA Automation Technical Lead
– Designed and developed a Selenium-based UI & E2E Testing framework using Python and Pytest to work with the Vue-based Clinc product platform, dramatically improving UI Test stability and run time.
– Created and supported “ClincCoverage”: a python function-level code coverage analysis tool, measuring overall function-level code coverage and enforcing percentage coverage of new commits.
– Implemented “ClincCoverage” into the product’s Gitlab CI/CD pipelines
– Overhauled the entire testing architecture of the product’s Gitlab CI/CD pipelines by separating out tests based on their actual dependencies, cutting the number of docker containers required for most tests from 20 to 1, dramatically reducing run-time of most tests
– Re-designed and re-created an “AI Version Control Tool”, which provided git integration for work done in the Clinc platform. This included examining the first version of the tool (written in a made-up prototyping language), re-designing the workflow, implementing the tool in Python, docker-izing the tool, implementing a web-server version of the tool for use by our QA contractors (who could not run the tool locally), managing the hosting of the tool, supporting its users, and providing feature updates and additions
– Implemented a Swagger-UI for the product’s REST API, and designed and implemented an auto-doc system that uses the REST API’s function docstrings to generate the OpenAPI schema, which is powers the Swagger-UI
– Authored several project charters and technical blueprints for the aforementioned projects, and vigilantly kept wiki documentation for all these projects updated
– Collaborated extensively with the engineering team based in Beijing
– Gained experience in working 100% remotely, including all on-boarding and training
Ann Arbor, MI
Developer for the QA automated testing/tools team. Designed and developed automated testing framework, tools, and tests for various data protection products as a member of a small, mostly autonomous team.
Responsibilities:
Maintained an internal website used for managing testing resources that used Python/Django, PostgreSQL, and React.
Designed, developed, tested, and maintained a swagger API used internally for managing testing resources (a replacement for the website one bullet above)
Created, developed, maintained and updated functional test cases for data protection product firmware websites, using Python, PyTest, and Selenium. This Included testing of React-based websites, REST and SOAP APIs, PHP-based firmware, and PostgrSQL systems.
Served as developer and primary maintainer of a performance measuring tool for data protection products, created using Python, Elasticsearch, and Kibana. Also was responsible for performance testing and performance data for each release of the backup products.
Designed, developed, and maintained a tool for creating, monitoring, and communicating with different testing environments. It was created using Python and was backed by Docker, VMWare, OpenStack, and Kubernetes.
Designed and developed a PyTest plugin that allowed for distributed execution of tests.
Supervised and educated developers who transferred to the automation team.
Served as primary educator and point of contact for developers on other teams who used the automation team's framework.
Served as Scrum Master for team using agile, sprint-based workflow.
In addition, I worked with remote team members in Chicago and England and learned efficient communication and collaboration skills with remote team members.
Education
2013 — 2017
University of Michigan
Bachelor's degree
2013 — 2017