Michael Mogley

Michael Mogley

Mentor
Rising Codementor
US$0.00
For every 15 mins
ABOUT ME
Software Architect
Software Architect

I've been doing Java programming professionally since 1997, with my first job at an online internet gaming startup. Since then, I have worked across different industries and have earned respect as someone who intimately understands how to write maintainable, scalable, and performant code. Besides programming, my other big passion is composing music. I am interested in the burgeoning field of artificial creativity and in developing tools that would allow us to force-multiply our natural creativity and intuitions.

Russian, English
Pacific Time (US & Canada) (-07:00)
Joined November 2019
EXPERTISE
7 years experience
I've written and maintained Spring Boot microservices since 2013 as part of my engagement with Cisco (and later Synamedia). These microse...
I've written and maintained Spring Boot microservices since 2013 as part of my engagement with Cisco (and later Synamedia). These microservices form an umbrella product that helps manage user accounts and video subscriptions on behalf of other cable operators.
SpringJava
View more
SpringJava
View more
9 years experience
I've used Spring since my days at DirecTV where I discovered how much dependency injection can simplify code by hiding the implementation...
I've used Spring since my days at DirecTV where I discovered how much dependency injection can simplify code by hiding the implementation of interface from what's using it. And also by separating out and encapsulating cross-cutting concerns (such as logging and transactions). Specifically, I've had extensive experience with Spring data access abstractions to uniformly handle DML logic, regardless of the type of datasource.
10 years experience
I've used Java on everything from online 3D gaming applets, to analyzing images, to heavy backend projects with databases, messaging, and...
I've used Java on everything from online 3D gaming applets, to analyzing images, to heavy backend projects with databases, messaging, and microservices.
View more
View more
7 years experience
I've used Mongo as the NoSQL backend for the microservices developed for Cisco/Synamedia, as well as for my own projects.
I've used Mongo as the NoSQL backend for the microservices developed for Cisco/Synamedia, as well as for my own projects.
7 years experience
I've used Redis for Cisco/Synamedia as well as for my own projects as a way to implement asynchronous distributed processing of requests ...
I've used Redis for Cisco/Synamedia as well as for my own projects as a way to implement asynchronous distributed processing of requests across a pool of microservice instances.
View more
View more
8 years experience
I originally used Spring Batch to re-implement Oracle stored-procs in Java. The batch process was to generate report-style dumps on a cro...
I originally used Spring Batch to re-implement Oracle stored-procs in Java. The batch process was to generate report-style dumps on a cron schedule and to have built-in restart logic to handle hiccups.
View more
View more
11 years experience
I first started developing RESTful webservices for Cedars-Sinai and continue to this day with Synamedia. A critical aspect here is the de...
I first started developing RESTful webservices for Cedars-Sinai and continue to this day with Synamedia. A critical aspect here is the design of the URI scheme, which should be maintainable and self-documenting based on well-known REST standards, and I take pride in getting this right.

REVIEWS FROM CLIENTS

Michael's profile has been carefully vetted and approved as a Codementor. Connect with Michael now, and leave a review for them once you're done!
SOCIAL PRESENCE
GitHub
geodb-sample-angular-app
Demonstrates some common GeoDB use-cases inside an Angular app, including autocompletion.
TypeScript
3
0
apis
0
0
Stack Overflow
1 Reputation
0
0
3
EMPLOYMENTS
Sofware Architect
Wirefree Thought LLC
2004-01-01-Present
● Currently developing API to perform anomaly detection on time-series data using an HTM AI algorithm. HTM – or Hierarchical Temporal Mem...
● 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.
MongoDB
Angular
Docker
View more
MongoDB
Angular
Docker
Google Cloud Platform
Spring Boot
Microservices
Vue.js
View more
Software Consultant
Cisco Systems / Synamedia
2013-07-01-2020-11-01
- Developed tools to enhance development process workflow, including custom code-analysis reports. - Implemented tool to generate HT...
- 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
MongoDB
Oracle
Redis
View more
MongoDB
Oracle
Redis
Spring Boot
Spring Integration
Spoon
RESTful API
View more
Software Consultant
Dex Media, Inc.
2012-08-01-2013-06-01
● Refactored SQLServer stored procedures into Java using Spring Batch. ● Developed Java client library for CityGrid web-service. ● Presen...
● Refactored SQLServer stored procedures into Java using Spring Batch. ● Developed Java client library for CityGrid web-service. ● Presented demos to stakeholders. ● Technologies: Jersey, Spring Batch, Mockito, Microsoft T-SQL
Java
Microsoft SQL Server
Spring Batch
View more
Java
Microsoft SQL Server
Spring Batch
View more