Photo by Markus Winkler on Unsplash

Programming WTF

Thu Feb 11 2021

I started programming long before I started coding.

Programming is often mis-defined. It’s not writing software code — that’s coding. Programming is what enables coding to do the amazing things it does. Programming is a thought process. To put it simply, programming is a trained skill that involves three steps:

  1. Evaluate what the problem is. It’s impossible to solve a problem that hasn’t been definitively identified. Sometimes this can surprise you. For example, the problem with heavy traffic jams in one part of the city may initially seem to be too many cars on the road, but upon further inspection could be simply that a few stoplights in the middle of town are poorly timed for optimum traffic flow. Look into the problem and identify all possible causes. Then look closer at those causes and see if any of them are actually contributing to the issue. Once these have been identified, move on to step number two.

  2. Clearly decide what the situation will look like once the issues are resolved.Plan this out as detailed as possible. Draw it, graph it, outline it, or whatever is needed for you to know exactly how it should be. Spare no detail — the more precisely you perform this step, the more accurately you can achieve the desired result.

  3. Figure out how to get from point #1 to point #2. Oftentimes this involves multiple false starts and retries. The important part here is to keep moving. Don’t be afraid to scrap everything and start over. Many times during this stage you may find that your #1 answer wasn’t the actual root problem at all. That’s ok. Keep moving, don’t get discouraged. Measure your progress not by how much you have done or how much you have left to do, but simply by whether or not you can still take another step forward. If so, you are making progress. Trust yourself. You saw the problem. You saw the final result. The solution will come to you.

And that’s it! Programming, once correctly defined, is actually something we all do in almost every situation every day of our lives. Anyone can program. Coders just train that thought process and apply it to writing languages that computers understand.