Project Summary
I worked for Kong Inc, a small company that sold API management software to small and medium sized businesses. It sold both an on-prem product (Kong) as well as a cloud product (Konnect). The headquarters was in San Francisco but I worked remotely for them from March 2019 to May 2022. I worked as a full stack dev (frontend, backend, devops) for their old UI interface called Kong Manager for the on-prem product and Konnect which is a cloud based UI interface product.
Technologies Used
JavaScript was the main programming language I used. I used VSCode as my main IDE.
My duties at this company were various, since I was more of a full stack role at this company. VueJS was the main frontend framework that we used, both Vue 2 and Vue 3 (which we were in the process of migrating to when I left the company). NestJS (built on top of Node/Express) was our main backend framework that we used.
We used Github for source control, Jenkins for CI, Docker for local image testing, Kubernetes for deployment in production and testing environments, Grafana/Loki/Prometheus at first and then Datadog later for observability, Vault/Amazon S3 for secure storage, Redis for caching, PostgreSQL for our database, DynamoDB for scalability, ArgoCD for CD management, SASS for CSS, TypeScript for type checking, as well as our own rolled UI library called Kongponents (https://github.com/Kong/kongponents)
Responsibilities/Roles
I was mainly responsible for:
-Coding and testing frontend features and fixing bugs using VueJS and CSS
-Coding and testing backend features and fixing bugs using NestJS / NodeJS
-Contributing to our Kongponents open source UI library
-Deployment of our code using Jenkins, Kubernetes, ArgoCD and subsequent monitoring of any prod issues using Grafana/Loki/Prometheus/Datadog.
-Updating migrations using PostgreSQL and testing them
-I was also rotating on-call to fix any live production issues – often times this would involve me using Datadog for tracking down the issues and deploying fixes using to our Kubernetes pods
Most notable/challenging project
There was a lot of notable and challenging projects given that I worked at this company over 3 years and was full stack from end to end. Some of the more notable ones involve AD/LDAP mapping our user roles and permissions for our old UI interface called Kong Manager which is a product only for Kong Enterprise users. Building out a feature called Service Map which used D3.js to dynamically generate a node map. For Konnect, I worked on migrating a lot of the Kong Manager components over to Konnect, as well working on integrating the plugins pages, general UI fixes on the page, proper routing support, adding SMTP email functionality to the product, full text search functionality, adding the reset password and register features, integrating Stripe payments into the product, Runtime groups refactor and integrating Okta third party IDP management into the product. A lot of these projects were full end to end implementations, such as the Search work, SMTP work, reset password, Runtime groups refactor, Stripe work and Okta work.
Examples:
Fixing a bug with JS async/await for the Konnect plugins work
Solving a CSS margin bug
Runtime groups demo
Okta configuration work demo
Doing some devops work to remote into a Kubernetes pod and running a script in production
Demonstrating an example of VueJS composition API (we wanted to migrate to Vue 3 at the time but weren’t fully ready)