Blog

Hello, World!

Featured photo from Daniel Vargas on Unsplash

Featured photo by Daniel Vargas on Unsplash

Hello world! In this first post on our blog, my aim is to give some brief background and to describe what Simplepath is all about: leveraging modern technologies to help organizations improve their legacy software.

A Brief Introduction to Simplepath

Well, who are you? (Who are you? Who, who, who, who?) I really want
to know (Who are you? Who, who, who, who?) Tell me who are you? (Who
are you? Who, who, who, who?) Because I really want to know (Who are
you? Who, who, who, who?)
The Who, “Who Are You”

So, yeah, who are we? Simplepath is a remote team of AWS Certified developers and architects that are focused on helping organizations with the maintenance and remodeling of legacy software systems.

I started Simplepath in 2017 with the idea of remote teams that use a modern tool set of cloud technologies (AWS) and high-level languages (JavaScript, Python, etc.) to help maintain and remodel systems rather than rewrite them from scratch.

Creating a business to help facilitate legacy software maintenance was counter-intuitive. As a programmer, remodeling or maintaining an older system was definitely not my first instinct! I had spent a good portion of my career advocating the “big rewrite”. New technologies, with the architecture done right this time, I thought.

As Joel Spolsky, founder of Trello and Stack Overflow, writes in his essay “Things You Should Never Do”, working with existing software is not at all what programmers want to do:

We’re programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We’re not excited by incremental renovation: tinkering, improving, planting flower beds.

There’s a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong.

Joel’s essay is a persuasive read, yet remains to this day quite divisive. Programmers want to rewrite all the existing systems. And a lot of times they end up re-inventing a (worse) wheel at what is an exorbitant cost to the business.

Over the course of my career I have seen how rewriting systems plays out with my own eyes, and I have realized the serious value in maintaining legacy systems rather than completely replacing them. This is what “software remodeling” is all about.

Legacy Software Maintenance and Remodeling

Let’s have a look at the Wikipedia definition of legacy system:

In computing, a legacy system is an old method, technology, computer system, or application program, “of, relating to, or being a previous or outdated computer system,”[1] yet still in use. Often referencing a system as “legacy” means that it paved the way for the standards that would follow it. This can also imply that the system is out of date or in need of replacement.

We understand that legacy software is often the backbone of a business. For many years your software has helped the business do what it needs to do to be successful.

But we are also sensitive to the fact your internal staff may loathe it. The original architects of that system may no longer be around. The person who managed for some years could also be gone. You may have someone on call that charges a pretty penny yet doesn’t seem to provide much help. You fear every error message, and every slow response from a server. This is normal, and understandable.

So, what is software maintenance and remodeling? In practical terms, what can Simplepath help your business with?

It means providing you with the strategies and tactics to improving an existing system you rely on. We like to think of how we improve in terms of The 5 Pillars of the AWS Well-Architected Framework which are:

  1. Operational Excellence
  2. Security
  3. Reliability
  4. Performance Efficiency
  5. Cost Optimization

In tactical terms, this can mean migrating software to the cloud. It can also mean keeping operating systems, run-times, and programming libraries up to date. Maybe it will be employing the Strangler Pattern in a code base to gradually move functionality over to a new system. Maybe we need to document and organize your workflow so you can hire someone new to help manage your software. It can be improving slow database queries. It can be as simple as adding the right index to a database table. Every legacy system is different, and we always evaluate solutions based on your actual needs.

An Analogy

I will leave you with analogy for how we help. Let’s say you own an older home. The air conditioning stops working. What would you do? Bulldoze the house and start over? No, obviously. You diagnose the problem in the HVAC systems and fix the air conditioning. That’s what Simplepath does, in other words: We don’t bulldoze your house, rebuild it, and stick you with a huge bill when we could just fix the air conditioning. We just fix the air conditioning.

If you reading this, you just may have a legacy system in production today that could use some help to perform well into the future. If so, feel free to get in touch with us at contact@simplepath.io or our brief contact form.

Written with StackEdit.