Software Engineer producing JavaScript(ES6 +), React, Redux, and Node applications that use clean architecture and the ice factory design pattern that encapsulate business logic or with a functional paradigm that isolates mutations. This creates applications that are extensible, decoupled, and readable.
Experience
2020 — Now
2020 — Now
New York City Metropolitan Area
Open-source visualizer for Kubernetes clusters
Configured Kubernetes to orchestrate deployment and management of Allok8 and Microservice-proof, a test Microservices application.
Leveraged Docker for a containerized environment to enhance development portability and scaling in a production setting.
Appended a PostgreSQL database as a PersistentVolume on the Kubernetes node to preserve D3 visualizations data over pod restarts, utilizing its organization of data according to relationships, referential integrity with ACID compliance, and reduced redundancy.
Integrated React Hooks to abstract away component asynchronous functionality improving reuse, performance, testing, and readability.
Used React Router to bring dynamic routing, asynchronous code-splitting in routes, browser history functionality, and interactive UX.
Incorporated Nivo, a React D3 library, to visualize data for its features to import smaller bundles decreasing initial load time, to work with the large data sets sent back from the Kubernetes Metrics Server, and to decrease ramp up time through interactive documentation.
Harnessed Jest for its mock and assertion libraries’ familiar syntax, optimized parallel testing, ability to update snapshots on the fly, and React integration to run reducer unit tests, database integration tests, and snapshot tests to prevent UI regressions during development.
Refactored using Ramda.js for curried functionality to use functional programming that isolates defects and is more readable.
Used Node.js for its I/O performance to concurrently make asynchronous requests to the Metric Server and Worker Threads to leverage C++ libraries under the hood for the CPU intensive task of parallel processing to parse through Kubernetes Metrics Server response data.
2020 — Now
2020 — Now
Social/E-commerce Web Application
Engineered with React Context API to reduce high level component complexity and reduce prop-drilling, without a refactor to Redux.
Used MongoDB to collect and aggregate data for user blogs and profiles because of their flexible schemas and documents that can change with new data, performant data additions and retrievals, ease of horizontal scaling, and language native access in lieu of ORM .
Implemented Redis as a database and sessions cache to alleviate bottlenecks caused by throughput and latency, to smooth out database usage spikes, continue data availability in outage, data expiration for sessions, and overall application performance and responsiveness.
Configured Travis CI for continuous integration because of its automatic incorporation with Github and efficient development setup.
2020 — Now
2020 — Now
Allok8 Test Application
Developed with Skaffold to increase productivity through automation of building Docker images and Kubernetes rolling updates.
Configured Ingress-Nginx as Ingress Controller for Kubernetes cluster for its support of open-source and extensive documentation.
2020 — Now
2020 — Now
Restaurant Review Platform
Implemented Redux state management as part of a refactor to modularize the codebase, prevent unnecessary prop-drilling, and the ability to scale with additional features. The functional paradigm of reducers aided in debugging and testing of the application.
Utilized socket.io with namespacing to keep connections separate in comparison to a websockets single stream.
Used Enzyme coupled with Jest to shallow render components so they can be used in assertions to ensure reliability and explicit debugging.
Installed Webpack to automate dependency bundling and to reduce file size to optimize initial load time for development productivity.
2020 — Now
2020 — Now
an E-commerce site.
Employed React for the reconciliation algorithm bias for updating attributes in lieu of DOM node creation. It optimized productivity by modeling the UI inside reusable components, static type checking with Flow or Typescript, and route code-splitting with lazy-loading.
Selected Oauth with Passport for its multiple authentication strategies, persistent sessions, and error handling.
Constructed Express server for flexibility of endpoints, RESTful architecture, and incorporating with third party authentication. Express affords abstraction to avoid confusion with callbacks, while keeping decoupling modularity, event based concurrent processing, consistent application syntax of Node.js.