Allison Pratt Software Engineer New York City
860-***-**** *****.********@*****.*** github.com/allisons11 linkedin.com/allison-s-pratt Technical Skills
JavaScript (ES6+), Object-Oriented Programming, Node.js, Express, React.js (+Context API, Hooks), Redux (+Thunk), React Router, Vue.js, Vuex, DBMS (SQL, NoSQL) Webpack, RESTful API, Testing Frameworks (Jest, Enzyme, Supertest, Puppeteer), WebSockets, Docker, Electron, Authentication (JWT/Auth/OAuth/BCrypt), YAML, Git/Github, HTML5, CSS3, SASS Experience
Codesmith Software Engineer 2020 – Present
● Incorporated Redux with Thunk middleware to invoke dispatch of actions through asynchronous requests, following the Flux architecture/observer design pattern to maintain a single source of truth and predictable flow of data for efficient debugging.
● Utilized Jest/Supertest/Enzyme to develop unit, snapshot, and integration tests to mock API endpoint requests (maintaining congruence with PostgreSQL data model) and ensure proper component rendering, expediting integration of new features.
● Employed React’s modular architecture and compositional pattern to componentize pagination functionality for reusability across multiple HOCs and conditionally rendered views, reducing code redundancy and maintaining a strict component hierarchy.
● Configured YAML files for recursive parsing algorithm to dynamically create JSX components rendered through a React HOC.
● Utilized Docker for containerized development environments, operating system virtualization, and automated installation of runtime dependencies, with port mappings to enable networking across multiple containers and run separate application services.
● Mentored engineers working in the open-source community and trained them in principles of data structures, time complexity, algorithmic thinking, and technologies across the stack; conducted regular code review to ensure engineering best practices. OverVue Desktop application for Vue prototyping 2020 – Present
● Leveraged the Electron and Quasar frameworks to establish cross-platform compatibility to deliver a standalone Vue.js desktop application, and utilized Electron’s Node.js runtime environment to perform asynchronous I/O operations.
● Used Vuex state management library with Flux pattern and implemented mutations and actions to allow Vue components to affect the central state, enabling efficient conditional rerendering of components through Vue’s granular reactivity system.
● Designed a custom Vue.js mixin object on the root component to track and record dispatched actions to recreate application state history and enable travel between previous versions of state for undo/redo functionality.
● Refactored Vuex architecture and state-changing behavior of existing components to ensure that interactions with the application were singularly trackable with one action being emitted per event, allowing seamless integration with newly added functionality.
● Created custom data structures to establish strict lineage hierarchies between prototyped components and implemented recursive traversal algorithms to accurately render and update their relationships on a dynamic Vue-D3-Tree display.
● Utilized Jest testing framework to incorporate unit tests of Vuex mutations and actions for both new features and existing functionality to maintain codebase integrity, expedite review and refactoring, and improve scalability for future iterations.
● Used AWS S3 and AWS Amplify CLI to deploy .dmg and .exe files for Mac/Windows application download and host a demo of the application on the landing page.
● Accelerated under OS Labs (opensourcelabs.io)
Oxford University Press, Lionbridge Legal 2015 – 2020
● Architected strict HTML hierarchies for digitally published content, maintained cross-format validity of ebooks and digital products through platform-specific requirements, and ensured compliance of educational ancillary content with client-side JavaScript.
● Created XML metadata for Library of Congress records, maintained and interfaced with a SQL database through a GUI. Open-Source Projects
Digital Travel A travel simulation application
● Leveraged React Router to conditionally render multiple views within a single-page application by establishing static routes, therefore minimizing server calls, enhancing user flow, and increasing application performance.
● Used OAuth 2.0 to create a convenient and secure login process through Spotify’s API, allowing the server to make authorized requests to protected API endpoints to access playlist data and user account information. CodeRacer Typing game that tests speed and accuracy
● Integrated a WebSockets (TCP) connection protocol for full-duplex communication to allow simultaneous connection from multiple clients and broadcast state changes across channels with reduced HTTP overhead and application latency.
● Refactored existing React frontend to improve the use of React hooks and achieve a more sensible balance between localized and top-level state in function and class components, eliminate redundancies in application state, and decrease excessive re-rendering. Open Sorcerer Connecting with collaborators for open-source projects
● Established a Node.js/Express server to efficiently route requests from the frontend to a relational database and various RESTful APIs, utilizing middleware functions to modularize requests and maintain a clear chain of responsibility design pattern.
● Implemented an ACID-compliant PostgreSQL database to securely store user account information and relational data in a strictly enforced schema and used joins to perform CRUD operations and populate various frontend display fields. Recent Talks
State Management Alternatives: Vuex – Build with Code NYC sponsored by SingleSprout June 2020 Intro to JavaScript Workshop Series: Functions, Objects, & Execution Contexts; Variables, Control Flow, & Looping; Web Development Fundamentals: HTML & CSS – Build with Code NYC 2020 Education
University of Connecticut, B.A. 2014
Interests
Wildlife rehabilitator; collector of tea; captivated by stories of biological invasions; fiercely opinionated about apple cultivars