These are the thoughts and opinions of a software developer, hopefully, to gain understanding or, at the very least, clarity.