About Me

  • Software engineer with 2+ years professional experience developing RESTful APIs in a cloud-based microservices oriented architecture.
  • Languages/Frameworks/Etc I have worked with professionally:
    • Java (Spring Boot/Spring Reactive/Spring Gateway)
    • Keycloak (IAM)
    • Mongodb
    • Elasticsearch (ELK stack)
    • RabbitMQ
    • Oracle/Postgres
    • Docker/Docker Compose
  • Examples of projects I have worked on:
    • Redesigned a recommendation service that accepts a CSV file containing eleven million or more recommendations from an S3 bucket and ingests that data into mongodb. Recommendations are ingested in parallel using Java threads and a producer/consumer pattern. This data is automatically synced into an elastic index via Monstache.
    • Managed and developed extensions for Keycloak, an open source Identity Access Management solution. Configured Keycloak clients with values expected such that users are redirected to the Keycloak login/registration pages as desired. Developed extensions for user login to persist users to an additional data store (user federation) from both the registration page and via third party providers (Google, Microsoft, LinkedIn, etc). Configured groups, roles, and other security configurations within Keycloak. Led research and development on upgrading from Keycloak legacy (jboss as the application server) to Keycloak v20+ (quarkus as the application server).
    • Utilized Spring Reactive for an API Gateway to automatically rewrite a location header when a condition was met in the request. The location header would have an updated redirect value to successfully redirect to the expected URL.
    • Developed an ingestion service for Elastic AppSearch - based on events received via RabbitMQ, ingest documents into AppSearch that could then be viewed via AppSearch search endpoint.
  • Programming related hobbies:
    • REST API development using Node.js and Go
    • Game development using Unity (C#)
    • Frontend development using Svelte/SvelteKit - this site was made with SvelteKit!