Sofware Architect
Wirefree Thought LLC | Jan 2004 - Present
MongoDB
Angular
Docker
Google Cloud Platform
Spring Boot
Microservices
Vue.js
● Currently developing API to perform anomaly detection on time-series data using an HTM AI algorithm. HTM – or Hierarchical Temporal Memory – is a learning algorithm developed by Numenta (http://numenta.com) from on-going research on the mechanism of biological intelligence.
● Developed GeoDB (http://geodb-cities-api.wirefreethought.com), a subscription-based publicly available REST service to expose and query worldwide city/region/country toponym data in multiple languages.
● Implemented a Spring Boot micro-service to preload all city data into memory, as well as to update that
in-memory data on a regular cron schedule. Used external Mongo cloud-based instance as source-of-truth.
● Implemented a Java-based ETL process to download Geonames and Wikidata, merge the two data streams together, throw out bad data, determine the DB diff, then update MongoDB appropriately. Run on a Linux cron schedule.
● Implemented a Dev portal site to document usage as well as provide a live demo, using a combination of
Angular and VueJS.
● Integrated with RapidAPI to support paid subscriptions.
● Deployed the service to a Google GCP Kubernetes cluster, with appropriate IP whitelisting to restrict access to RapidAPI users.
● Technologies: Docker, AWS (Route 53, S3), GCP (Kubernetes), MongoDB, Spring Boot, Angular, Vue
● Supported clients in the healthcare, media, legal, and defense industries as detailed below.
Software Consultant
Cisco Systems / Synamedia | Jul 2013 - Nov 2020
MongoDB
Oracle
Redis
Spring Boot
Spring Integration
Spoon
RESTful API
- Developed tools to enhance development process workflow, including custom code-analysis reports.
- Implemented tool to generate HTML document that describes all possible error codes returned per
micro-service endpoint.
- Implemented custom Maven plugin to determine the effective configuration of each micro-service in a given environment.
- Developed framework-level code to support cross-cutting concerns of business-level micro services.
- Implemented a way to replace Java hard-coded error-message literals and codes with externalized error templates.
- Replaced Java error-handling logic with exception-less approach in order to improve performance. This
allowed returning a result payload with one or more errors.
- Developed Java asynchronous result processing library backed by Redis queues.
- Developed Spring-Boot micro-services, responsible for provisioning, updating, and querying
user accounts, including basic account and VOD subscription info.
- Developed and maintained an access-token service used by other micro-services to authorize access to
specific endpoints.
- Assisted in customizing VOD systems for Cisco clients.
- Developed custom ESB components and REST web-services as part of content workflow.
Technologies: Docker, Jenkins, Kubernetes, Mockito, MongoDB, Oracle, Redis, Spoon, Spring, Spring Boot,
Spring Integration