diff --git a/src/resume.json b/src/resume.json index b81219a..44717b5 100644 --- a/src/resume.json +++ b/src/resume.json @@ -46,11 +46,8 @@ "url": "https://www.customink.com", "startDate": "2021-12-21", "endDate": "2023-12-29", - "summary": "Develop and maintain custom software to support the in-house printing facilities (IHP). Work closely with management and user stakeholders to build software that meets users’ needs and make their work more efficient, while interfacing with the hardware used in the screenprinting and direct-to-garment (DTG, digital) printing process.", + "summary": "Develop and maintain custom software to support the in-house printing facilities (IHP). Work closely with management and user stakeholders to build software that meets users' needs and make their work more efficient, while interfacing with the hardware used in the screenprinting and direct-to-garment (DTG, digital) printing process.", "highlights": [ - "I took ownership of the Electron and React application that powered the direct-to-garment (digital) printing process. Starting in my first year, I updated it from Electron 5 to Electron 20, React 16 to React 20, Material UI pre-1.0 to v5, and created a plan and guidelines for keeping it up to date, as well as enumerated up to date best practices.\nAdditionally, I automated the release process by creating Windows and Mac builds in CircleCI and automating the Windows releases to our release server using release-it to automatically generate Github releases.", - "I implemented the new shipping interface, allowing the production team to use the Electron application from start to finish for every task, where previously, they needed to switch tools for some tasks. During this implementation, I brought large portions of the codebase up to modern standards, converting the React class-based components to function-based components, and integrating React Router and our in-house component library. I also began the process of reorganizing the file structure to modern standards to allow for better maintainability as the application grew in complexity.", - "I wrote the new algorithm for prioritizing orders in the screenprinting process and as part of a team, overhauled the process for a near 40% increase in efficiency, a significant increase in our “delivered error-free, on-time” metrics, and a significant decrease in number of “rush” orders (including a near-elimination of facility-created rush orders).\nThe new process selected orders to batch together on a cart based on numerous factors, including number of screens needed, completion deadline, number of colors, and more.", "I joined with numerous others from other teams to help triage and remedy an incident of widespread technical slowdown within the production facility. The primary root cause turned out to be a networking issue, but due to the intermittent nature of the symptoms, we went through the whole stack with a fine-toothed comb.\nFor my part, I uncovered a misconfiguration in the kubernetes settings for one of our applications that was causing it to kill and restart pods far more frequently than it should have. While this was not the source of this slowdown, I knew fixing it was necessary to ensure proper reliability of that application and those it depended on and would fix other intermittent downstream issues.", "As a side-effect of the facility slowdown situation, there was an appetite for better deployment notifications. However, the interim solution that had been implemented was very manual and cumbersome. I collaborated with several engineering managers of other teams to come up with and orchestrate the implementation of an automated notification system.\nAs part of a long-term, cross-team initiative, we came up with a plan to use Github pull requests to provide the content and the trigger of a notification that would describe in plain language what the change was doing and why, the level of risk for the deploy, and link to supplemental outputs of the development process (including the issue tracking item, project pitches, architectural decision records, Slack discussions, and anything else relevant). The automated system was then intended to take the pull request contents, display a portion of it on a unified dashboard, with a link to the full pull request for technical stakeholders, and send an email out to those who wanted it.\nAs of the time of my departure, we had taken several steps to bringing the pull requests into alignment with this vision, including working out with a broader collection of engineers a “bring your own process” for assessing the risk of a change while using the same output chart to serve as a common “language” to stakeholders, and were evaluating our existing tools and past projects to see what existing work we could leverage in this new vision." ] @@ -61,9 +58,9 @@ "url": "https://www.proofgeist.com", "startDate": "2018-11", "endDate": "2021-11", - "summary": "Help manage the custom Python/Django portions of client’s FileMaker-backed web application.Create a component library system that takes React, Vue, or Svelt components and creates self-contained Web Components for both general web use and use inside FileMaker.", + "summary": "Help manage the custom Python/Django portions of client's FileMaker-backed web application.Create a component library system that takes React, Vue, or Svelt components and creates self-contained Web Components for both general web use and use inside FileMaker.", "highlights": [ - "I researched and developed a component library and build tool that could take Vue, React, or Svelt components and output self-contained, vanilla Web Components that could be used either in standard web applications, or within FileMaker’s environment (which required additional processing to make all of the component’s dependencies self-contained)." + "Researched and developed a component library and build tool that could take Vue, React, or Svelt components and output self-contained, vanilla Web Components that could be used either in standard web applications, or within FileMaker's environment (which required additional processing to make all of the component's dependencies self-contained)." ] }, { @@ -73,10 +70,85 @@ "endDate": "2018-02", "summary": "Develop custom integrations between Shopify and other platforms using PHP. Work with front end developers to ensure proper data and data shape for front end work. Develop custom tools with PHP, Laravel, and VueJS that included Shopify integrations. Create and maintain Ruby Shopify checkout and cart scripts.", "highlights": [ - "I built a fully unit-tested, custom, bi-directional, ETL integration layer to allow Shopify act as Journelle’s online storefront.\nThis layer:\n-Took orders from Shopify and sent them to Netsuite for fulfillment\n-Took Netsuite’s fulfillment updates and sent them to Shopify for customer updates\n-Took inventory information from Netsuite and sent it to Shopify, transforming it to allow for the automatic creation of products, variants, and collections, and with the use of tags, populate collections such that the custom storefront displayed them as single products (necessary due to the number of variants for the products)\n-Synced gift card information between Shopify and Netsuite to enable customers to use their brick-and-mortar store-created gift cards on the website" + ] } ], + "projects": [ + { + "name": "Electron Application Shipping Tool Feature", + "entity": "Custom Ink", + "description": "I implemented the new shipping interface, allowing the production team to use the Electron application from start to finish for every task, where previously, they needed to switch tools for some tasks. During this implementation, I brought large portions of the codebase up to modern standards, converting the React class-based components to function-based components, and integrating React Router and our in-house component library. I also began the process of reorganizing the file structure to modern standards to allow for better maintainability as the application grew in complexity.\nImpact: $210k annual production cost savings + untracked engineer maintenance cost savings", + "highlights": [ + "Began enacting previously-created plan to modernize codebase", + "Converted many components from class-based to function-based", + "Retrofitted with React Router and in-house component library" + ], + "keywords": [ + "Electron", + "React", + "React Router", + "Refactoring" + ], + "startDate": "2023-07", + "endDate": "2023-12" + }, + { + "name": "Electron Application Upgrade", + "entity": "Custom Ink", + "description": "I took ownership of the Electron and React application that powered the direct-to-garment (digital) printing process. Starting in my first year, I updated it from Electron 5 to Electron 20, React 16 to React 20, Material UI pre-1.0 to v5, and created a plan and guidelines for keeping it up to date, as well as enumerated up to date best practices.\nAdditionally, I automated the release process by creating Windows and Mac builds in CircleCI and automating the Windows releases to our release server using release-it to automatically generate Github releases.", + "highlights": [ + "Performed a major, breaking upgrade that remained invisible to end users", + "Formulated plan for modernizing the legacy codebase for easier future maintenance", + "Utilized CircleCI and Github Releases to automate the build and deploy process" + ], + "keywords": [ + "Electron", + "React", + "Javascript", + "CircleCI", + "MaterialUI", + "MUI" + ], + "startDate": "2022-01", + "endDate": "2022-06" + }, + { + "name": "Auto Cart Builder", + "entity":"Custom Ink", + "description": "I wrote the new algorithm for prioritizing orders in the screenprinting process and as part of a team, overhauled the process for 20% increase in efficiency, a significant increase in our \"delivered error-free, on-time\" metrics, and near-elimination of facility-created \"rush\" orders.\nThe new process selected orders to batch together on a cart based on numerous factors, including number of screens needed, completion deadline, number of colors, and more.\nImpact: $440k annual production cost savings", + "highlights": [ + "20% increase in prioritization efficiency", + "$440k cost savings per year", + "Created complex algorithm to determine most efficient prioritization" + ], + "keywords": [ + "Ruby", + "Rails", + "Automation" + ], + "startDate": "2022-12", + "endDate": "2023-07" + }, + { + "name": "Shopify-Netsuite Integration", + "entity": "Rocket Code", + "description": "I built a fully unit-tested, custom, bi-directional, ETL integration layer to allow Shopify act as the store's online storefront.\nThis layer:\n- Took orders from Shopify and sent them to Netsuite for fulfillment\n- Took Netsuite's fulfillment updates and sent them to Shopify for customer updates\n- Took inventory information from Netsuite and sent it to Shopify, transforming it to allow for the automatic creation of products, variants, and collections, and with the use of tags, populate collections such that the custom storefront displayed them as single products (necessary due to the number of variants for the products)\n- Synced gift card information between Shopify and Netsuite to enable customers to use their brick-and-mortar store-created gift cards on the website", + "highlights": [ + "Bidirectional ETL", + "" + ], + "keywords": [ + "PHP", + "PHPUnit", + "Laravel", + "Shopify API", + "ETL" + ], + "startDate": "2017-01", + "endDate": "2017-05" + } + ], "volunteer": [ ], "education": [ @@ -95,11 +167,11 @@ ], "publications": [ { - "name": "A Docker-Compose PHP Environment From Scratch", - "url": "https://x-team.com/blog/docker-compose-php-environment-from-scratch", - "releaseDate": "2018-07-05", - "publisher": "X-Team", - "summary": "In this tutorial, I go through the process of setting up a Docker cluster-based environment for PHP development using Docker-Compose. The cluster includes nodes for Nginx, php-fpm, and MariaDB." + "name": "From Git To Github - An Introduction to Version-Controlled and Collaborative Development", + "url": "https://talks.shaunagordon.com/git-to-github", + "releaseDate": "2021-02", + "publisher": "Women In Analytics", + "summary": "This talk and live tutorial provided attendees a crash course in enough Git and Github to get them up and running in open source contribution." }, { "name": "Effective Communication While Freelancing", @@ -109,11 +181,11 @@ "summary": "In this article, I discuss establishing and maintaining an effective line of communication with clients." }, { - "name": "From Git To Github - An Introduction to Version-Controlled and Collaborative Development", - "url": "https://talks.shaunagordon.com/git-to-github", - "releaseDate": "2021-02", - "publisher": "Women In Analytics", - "summary": "This talk and live tutorial provided attendees a crash course in enough Git and Github to get them up and running in open source contribution." + "name": "A Docker-Compose PHP Environment From Scratch", + "url": "https://x-team.com/blog/docker-compose-php-environment-from-scratch", + "releaseDate": "2018-07-05", + "publisher": "X-Team", + "summary": "In this tutorial, I go through the process of setting up a Docker cluster-based environment for PHP development using Docker-Compose. The cluster includes nodes for Nginx, php-fpm, and MariaDB." } ], "skills": [ @@ -213,5 +285,19 @@ "language": "English", "fluency": "Native" } + ], + "references": [ + { + "name": "Chris Impicciche", + "reference": "During our time working together, I had numerous opportunities to collaborate with Shauna, despite not being on the same team. She was quick to offer her assistance in Ruby/Rails and provided valuable support whenever needed. I was consistently impressed by Shauna's inquisitive nature, approach to learning new technologies, and friendly demeanor. I appreciate the chance to have worked alongside her and firmly believe she would be a valuable addition to any tech team." + }, + { + "name": "Fatemeh Abniki", + "reference": "Shauna is an exceptionally talented engineer . She consistently demonstrates a high level of expertise, problem-solving skills, and creativity in tackling complex technical challenges. \nMoreover, Shauna is an excellent team player who collaborates effectively with colleagues across different departments. She communicates ideas and solutions clearly, making her a valuable asset in both individual and collaborative settings. Her positive attitude, willingness to learn, and adaptability to new technologies make her a standout performer." + }, + { + "name": "Jonalyn Blunt", + "reference": "Shauna is an outstanding engineer; I cannot recommend her enough. I collaborated with Shauna on a weekly basis as the lead UX Designer for a new digital tool we created inside an existing in-house application. The tool was released to overwhelming positive feedback and a high adoption rate, which is a testament to Shauna's great skills as an engineer. \nI was impressed with Shauna's attention to detail, and dedication to the tool — not only to eliminate tech debt and get the application where it needed to be on a foundational level, but being able to think through the experience holistically — foreseeing challenges for users and the tool, and championing to fix the root cause. Shauna is a person you want in the room with you to discuss ideas and to deliver results; she is an exceptional addition to any team." + } ] }