For the last ten years, I have been a part of projects which I would classify as “application modernization initiatives.” The goal of such endeavors is to replace a legacy application or service using more recent (and often more supportable) frameworks, design patterns, and languages.

In every one of those cases, at least two of the following three lessons have proven true:

  1. Don’t replace a monolith with another monolith disguised as a modernized service.
  2. Avoid accepting bad data models to be included in the modernized system.
  3. Never assume that existing program logic is 100% correct.

This reminds me of a…


The story about the JavaScript language is quite interesting. For those who are not aware, below are some highlights of the popular multi-paradigm language:

  • Brendan Eich (@BrendanEich) a programmer at Netscape Communications Corporation created Mocha in just 10 days in 1995.
  • Mocha would soon be named JavaScript — which has nothing at all to do with Java — and was likely a marketing approach to leverage the popularity of Java.
  • JavaScript was introduced as an option to provide dynamic programming experiences at a time when websites were mostly static.
  • Since 1996, ECMAScript Language Specification (ECMA-262) has defined and standardized the…


Reaching the point where a project or initiative succeeds is exciting. However, the goal isn’t really to be successful. Instead, the objective is simply “wanting to be successful.”

Let’s use an example to put things into perspective.

Consider a scenario where you find yourself so excited after reaching an important milestone that you actually stop what you are doing to reach out to your spouse, friend, or loved one to share your most recent news.

Did you get excited and want to reach out because of an easy opportunity that fell into your lap? Most likely, no. …


Image a world where simply using Google isn’t an option, where the biggest benefit of the service is the collection of similar results matching your request. Before modern search engines, you were pretty much on your own to figure out “where do I go next?” In fact, I remember seeing the following commercial which focused on the main character exploring the entire Internet:

Remembering Webrings

Back in the Internet age of the 1990s and the 2000s, there was an idea to make global web navigation easier. It was called a “webring” and it introduced a common section on participating web sites…


I think it is a fair statement to convey that software engineers in 2021 are not only working hard but working smart. Building upon lessons learned over the last five years, applications and services are now created as dynamic as possible and are designed to meet laser-focused business needs.

This same approach has found its way into the DevOps spectrum, where what I often refer to as “* as code” allows components to be created declaratively. The approach leverages the same git version control system that feature developers have been using for over 15 years for their source code. …


I started looking into Heroku as an option for creating personal applications in my free time. In fact, I converted an existing application from the AWS ecosystem to Heroku which was captured in a series on DZone.com:

Moving Away From AWS and Onto Heroku

Starting with a brand new idea with Heroku, I was able to quickly create a fitness-based SaaS solution as well, which was documented in another series on DZone.com:

Using Heroku to Quickly Build a Multi-Tenant SaaS Product

Well over a year into using Heroku for several of my applications, I thought I would take a step…


Over the course of my 30+ year career in Information Technology, I have encountered my fair share of proof-of-concept or prototype applications which have found their way into a productional state. This has always been a direct conflict with the original intent of the work that was created.

While this should be considered some form of a compliment for a job well-done, more often than not there are decisions made in those prototyping exercises which are not labeled as production-support friendly. …


For the last 10 years, I have been building RESTful services as the feature team member on projects assigned to me via consulting opportunities or as a full-time corporate employee. This represents one-third of my career and is what I have enjoyed the most.

However, in all of those years, when the system is part of an application modernization initiative, I feel like I’m learning the same lessons over and over:

  1. Don’t replace a monolith with another monolith disguised as a modernized service.
  2. Avoid accepting bad data models to be compliant with the modernized system.
  3. Never assume that existing…


In 2020 a large aspect of the landscape for modern application development changed. The result of an unexpected pandemic forced brick and mortar offices to close their doors and ask employees to perform their daily tasks remotely. This included teams of software engineers focused on creating, building, and enhancing the technology needs of their employer.

Asking team members to work remotely for a short period of time or even a portion of a week is one thing. Instantly pivoting and asking everyone to plan to work remotely indefinitely is another. …


Memes are one of my favorite things about the internet. They are a virtual postcard capturing moments of internet history … from a comical perspective.

For those who are not quite sure what a “meme” is, Ben Stegner uses the following definition:

A piece of media, often humorous, that spreads rapidly through the internet.

In fact, in this context, memes are actually Internet Memes as defined by Wikipedia:

A type of idea, behavior, or style (meme) that is spread via the internet, often through social media platforms and especially for humorous purposes.

The original meme design included some form of…

John Vester

Information Technology professional with 25+ years expertise in application architecture, design and development. Agile project and team management.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store