2 February 2021

IT Solutions Architecture

Over the years I was in the role of IT Solutions Architect, (SA) but I don’t think I understood what was going on at a deeper level. I was an SA, for sure, and I did those things well.

I would be asked how to do SA. To me it was quite natural, so I didn’t ever find a satisfactory explanation to what I did know was in part an art form combined with technical skill.

I could describe in a way how I looked at things, how I would provide solutions that took a number of factors into account, express and document that, and help facilitate people to do that well.

I could use corporate terminology and describe how SA work reduces risks ensuring successful outcomes, therefore saving companies money. I could talk about providing a balance between what the company wanted, and how people work for their interests.

When people got stuck on what to do, I could outline the way forward to what would become a reality. I had some complex problems people could not solve.

But what was an SA? That’s where I felt some deeper level of dissatisfaction in trying to describe that. Of course I could give some stock answers to people who asked.

Now I understand more about what was going on.

There are at least two types of people in the corporate environment. There are those who just do things and do it with precision and outstanding ability – the technical people, or perhaps those of a conservative psychology. They can take what the creative people do and make it into something economically big. They think they do the work, so, to them, creative people are not working, even though our creative people are in fact working, just not the same way. There is no less energy involved. Those who were less creative, not the creative psychology, would try to put a box around those who were creative.

For instance, it really bugged one manager who wanted to make me do some formal course that would structure what I did. He put my work down. He was not intending to be bad, he just didn’t understand what was going on and the differences between two distinct classes of people.

We all know it takes a certain type of person to drive a train all day. If you put them into some other “box” you think is right, it will drive them crazy.

While an accountant may be great at what they do, they are happy to do what they do, but a creative person forced into the same style of work would go nuts.

It is not that one type of person is better than the other, but we lack a fundamental awareness of what is happening here.

Some would point out, this is very much tied up with biology, so that being the case, good luck with trying to make a creative person an accountant, or an accountant an artist. It will never work.

I think it comes to this simpler definition of creativity that supports the way the SA works. That is what I was not understanding, because I was just being me.

What has happened though, as in any area of human endeavour and formalisation, is that people move into roles of SA thinking they are the masters when they do not have that creativity. Then, the managers who are “conservative” do not understand creativity so they damage what the SA does. One example is trying to redefine what the SA will do in their organisation, or even removing their qualified job title to something else. This is almost without words to describe, but it is possibly ignorance, unethical and for personal gain.

People like the sound of things, so a number get into technical positions that present opportunities to be classified as an SA. However, the true definition of SA involves peers, even Internationally who recognise this role developing in someone’s work. It is a role that does not have classes and exams. It is entirely dependent on previous work history and a different level or way of working, which is why it is successful. This of course bugs those who have specific examinations and complex processes for their projects.

Part of the SA environment is highly technical, but it is also a role of much more freedom that regular employees experience. This is adverse to some, who may judge the SA and think they are trying to big note themselves, when they are not. The SA has a really valuable role. To dismiss it from some personal position of one’s own problems is nasty to say the least. It may also reflect strong immaturity of another person – which does happen. But yes, some people are jealous. The SA has a lot of freedom. I can talk to the shop floor operator with as much genuine concern and interaction as with a CEO, and am fully able to talk with both. There may be different dynamics at play too. Shop floor banter is different to the tricks technical mangers get up to, and they do try to trick. I found that out very quickly in Taiwan.

In the Taipei project, people did not leave their office to have lunch with each other, or have morning tea outside. I stopped a meeting and said I refused to continue. I said I was going outside to get morning tea and that someone would have to go with me or I would not be able to get back into the building. That is what I did. We also had a team lunch, which was something no one had experienced before, and would not again. People’s lives were not accomplishing anything more by having most of their lives living at their desks and sleeping under them. I was so desirous and glad to get out of Taiwan despite it having the best food in the world I ever had. Back to the point…

The project manager tested me without telling me he was doing that. He withheld information. At some point I said things did not make sense and why. I told him what should be happening for their processing to work. One could not know this without detailed training or information on both the software, and understanding processes and solutions. The manager and his offsider were very expressive with joy and excitement when I said this. They said they knew, that they were testing me, not telling me to see if I knew. This backhanded approach is not right, but as an SA one will have to deal with many types of situations which by the way only proves you are qualified, that you did not get into that position by some flaky way that people may want to think or redefine according to their own views. They cannot stand in front of a CEO and provide a solution either taking into account culture, position, or body language from those who make the power decisions. The SA role is not simplistic or purely gradable in some inappropriate test.

On that same project I attended a meeting with lots of diagrams on a whiteboard concerning the servers they had throughout Taiwan. This was not what we had come overseas for. It was out of scope. The manager asked me for a solution. I gave some conceptual ideas, and said I would be better having time to think it through and get back on it. He kind of laughed at me and said if I was a solutions architect I had to give a solution now! I stood up, went to the whiteboard and discussed a solution with some caveats. They were satisfied as it was a solution that could work. Whether they wanted to do it or could afford to given the complexity is another question.

I was always encouraged by two of my managers in the back of my mind and experience. Once, my manager said how I have to be more confident and not move into that mode of worrying and communicating hesitancy. After all, I was working with one of the largest companies in the world. That helped a lot. Another piece of advise from another manager during a project in Perth, was to just be me. Do what I like to do, who I am, and from that point things just fitted and went well. By the time I was on the Taiwan project I had confidence to meet those unexpected situations that came up. I look back on the timing of things in amazement. But the point here is that creative people only work well when the are in the flow. Flow is everything. If we stop and look at the cavern below us, or if we become self conscious, it stops the flow. It is a healthy experience to move in this flow and find solutions, mapping them out for others to move with us. People love it. This co-operative, creative process is incredibly strong for bringing people together under common goals and outcomes.

Awareness is part of the creative person. We think about things. Why are we doing what we do? How do I feel about that? What does it do to you? During the Taiwan project, I noticed the incumbent contractor was doing wrong things. During my summary in the CEO’s meeting room, I thanked them for having me, that I could not possibly understand all their business was doing, so I asked for their patience with me on that front. Then I said I would like to be fairly frank about a few things. Thus said, I moved on to detail. I showed how their contractor was telling them what to do rather than them telling the contractor what to do, and where they could change some fundamentals. Awareness lets us try to identify what is happening, and how to construct solutions.

Because a larger section of people are in a structured mode of working, they may not see solutions outside of the box or boxes they work in. Creative people move outside the box and validate what they do. They see that way. They can therefore see what you are doing, and gaps in the floor. Some highly intelligent and wonderful people may have our entire respect, but we may be asked some hard questions about why we approach some aspect of a solution in the way we do. This is a real challenge.

Our work is not pie in the sky – some conceptualisation. Our hands may knit together a solution just as much as any detailed programmer would. It is surprising how many people in IT do not want to be called a programmer. I have no idea why, as I would be proud to hold that title. It reflects a real and valuable capability. They deflect this terminology even though that is what they do. One problem with it is that programmers may build a “solution” that really annoys the end user, or has severe faults. You can say what you like, but no one will listen to you. These issues can’t be solved by intelligence or reason. It goes back to how someone is experiencing life, their emotions, their opinions, or other factors. You can participate in these projects, but not move past these sticking points. I once got so frustrated that a project was making clients go through hurdles in order to use the software. My manager asked me to pull back, to let them do what they were doing. He knew what was happening. I learnt a lot from that.

But my own technical skills, as part of the roadmap towards being an SA were developed, a lot actually. And those skills were under the banner of exams, testing, proven outcomes. On one project, the requirement was first a concept. We got into some details with the client. As we developed the design we could request the client modify parts of the design so that it may become programmable. Our solution also recognised the newness of the work, so we split the project into manageable components that were safe, that could be developed further as or if needed. A Business Analyst, or a Project Manager will not add this value in this way to a project. The final process was outlined enough for us all to work with, but no one knew how to do the algorithms to make it work. It was too complex for all those in the project and the company’s “programmers” basically refused to do the work. It took me months to work out the logic. My creative approach tells the story, which I understand better now. I would use pieces of blank paper, no lines on it, drawing many pages of diagrams and “equations”. This would take place at any hour of day or night. I had a notebook beside my bed. However, the final algorithms fell into place on some smaller sheets of paper when I was at the airport waiting for my flight. This is creativity under a longer period of time. The American Express project was a success.

I think it is a bit like playing music. If we get into some details, we know when a person is playing F# instead of F. This is how we understand things. I was able to participate with lovely people who were different to me with levels of skills and abilities to deliver on projects that put me in both awe and thanks. But what do you do if someone is partly autistic, or has some other fundamental experience of life that is not your own? How do we get tasks done with people who are not the same as us? This is about humanity and is very upsetting if we fail to understand and do. My saddest moment during one period of time in the workforce was when someone kept saying they would provide the details which I outlined for a project that would cost us immense penalties if we did not deliver on time. As we develop a project, many people become dependent on others making progress on time. But this one fellow did not work this way. To him everything would be all right. He would say it is under control. As we approached D-Day it was not. I offered ideas about taking notes on a piece of paper like a check list to get through the tasks. I had no other way to manage this. He did not work this way, but the complexity needed it. I always felt ashamed and upset because it was as if I was negating who that person was, who was an adult, a wonderful person. I had no choice. Clearly this project did not fit in with how he worked, therefore who he was as a person. I don’t think I will ever sit well with this even though I tried to be careful about it. The reality was the project would have failed. So there we have another example of how a project may make demands on people that we as people cannot deliver. I have seen those projects and the tears people have trying to execute them. I feel there are other ways, but corporations do not provide those other ways. At least I too know what it is to suffer in the workforce.

I was once told by a senior engineer that my solution for a project with Qantas would not work. This was not a side comment. It was forceful, direct, and repeated. I have been known to be determined, like a dog not letting go of a bone. I re-validated even more carefully what I was doing, but the engineer still did not agree – by which stage he stuck emotionally to opinion and pride rather than evidence. Of course, the project worked. And incidentally, there was no other known technical solution available or known at that point in time.

There was another project involving a transition of technology from what we call legacy to current technology. I knew the direction people were taking was not achievable. Technology has its own definitions, and no matter what you do, you can’t ignore that to peril. The person who proposed a way of dealing with the project, did not present a solution. He relied on one piece of software, that I knew could not do the job. He was the kind of person who went to sleep during the day in front of everyone at his desk. He did have some past contacts who got along well with him, but he moved into an area of work that frankly I think became his demise. So there was this oddity of being really liked and respected by those people, and considered with no delight, to put it mildly, in his present work.

I proposed the way forward, which involved work with a team in USA. We showed parts of the work working well, and how we would work with the additional data in the same way to complete what we could define as a set of work. Because this needed interaction between USA and Australia, and required time, we knew the project would work. It did. However, the project team was told from people higher up the time had to be sooner, and there was no choice. It did not matter to those people that on the day we go live, nothing would work, and people would have no choice but to impose fines and sack people. The team manager tried very hard to move to that piece of software to complete the project, but I persisted.

So, we have a number of factors at play during project development and execution. If you want to ignore your architects, so be it, you will suffer for it.

But what I found hard to deal with was people asking me how to do SA work so they could do it. They wanted those techniques. I could only talk informally about some things that make it work, but they still wanted some clear-cut formalisation to put into practice. Obviously, this is the difference again between creative and conservative.

But what remained a mystery to me for several years, was why were the architects in some companies doing what I instinctively knew was the right thing, and other companies had SA’s who were in some other world of their own. Was I misguided?

I learnt that ANZ Bank, for instance, had great architects. These were good people. We knew how to work together and get excited, producing results.

But the architects in an outsourcing company were a horror story. When I worked with them, my doctor said I would get clinically depressed if it went on any longer. I resigned and told the managers in no uncertain terms it was the worst job I had ever been in! And then some!

Their work was clearly not the SA role that I knew, but who was I to know different. Looking back, I believe their work was in conflict with the industry definition and processes for recognition of the SA role and its proven qualifications. But a company can do what they want to do, so there you have it. And some companies used the SA out of an industry requirement perspective, even if the people doing those jobs were more in my view technical architects as opposed to solutions architects.

An outsourcing company may have incredibly intelligent people who work non-stop with great complexities. There is no other way at times to handle the hardest projects that exist in Australia. That was not my joy, even though I loved complexity.

Some companies use their staff, knowing they are abusive. Their architects or projects leaders truly abuse other people in the fullest sense and get away with it, but those higher up know this gets what they want. Many times people walk in fear and try to hide from these shocking people on the floor. Who will recompense those abusive impacts on people’s emotions and lives? No one. Don’t think for a moment that Human Resources stands up to a wide range of bad people in corporations. This is not some rant or opinion, but is based on observable incidents over years of work within the workforce.

At the end of the day, there are many personality types and biological backgrounds we all have. This is not being fostered and protected to greater benefit in the workforce. Some managers see the differences, even if they don’t understand what is going on – they just know what direction to go in and what to support.

Today, many young people want good people working around them, good mangers. The abrasive and harmful people of course do exist, even savages with spears in that corporate jungle.

The lesson from this is that for so many years, I moved in and out of projects using all the skills I had, doing successful work, using diplomacy, psychology as required, but I never really knew the things I am mentioning here. It would have helped me when I suffered greatly at the hands of some others. I feel it really does come down to distinctive types of people, and that a good manager should recognise this in order to foster it properly. Without this, and with no accountability to such awareness, we work by methodologies in the workforce that have been prescribed as templates, and in doing so we stifle better outcomes and hurt people all the time. This is not a sob story. It is not crying. It is simply saying, hey, this is what is actually going on and it helps to know what is going on if we want to be more sane or do better together.

Better means a better bottom line, but you can be assured there are well meaning, good people with qualification who simply cannot make decisions in times of need, even though you explain how something will give the results. This total inability is at first astounding to watch, but it too comes back to who people are, rather than their job roles.

The solutions architect, the “proper” ones, mix creativity with practicality in a way that uplifts us all. Our minds work in a different way to those who then leverage our work and focus in those aspects of conservatism that hold structures together and produce economic gains. Both ends of the scale are necessary or we would not have biological diversity, or interesting societies and environments.

What is an example of this outside the IT realm?

Do you recall how ragged and tattered the feeling once was in West End, in Brisbane? It was really energetic moving in this area, or even going to the markets. Developers took over. More conservative people moved in. The area tried to retain its reputation, but it changed. Those beautiful things that once defined it were reshaped or moved out. Now it is known as a highly noisy and dense area.

Do you recall how Eat Street Markets were once a collection of spaces that let you feel you could explore and at times get lost. The new markets are formally laid out. That sense is permanently lost. The new markets are nice. I really like the formality, but it is not the same.

I think there is a continual interaction between creative and pragmatic, the most conservative staying safely in the middle of these environments, and the artists further out to the fringes. Both are necessary to the other but it is always changing.

People see something is their way, not yours, and you get undervalued, but it can flip too. We all know too well that the highly accomplished technical musician is not imparting the inner joy of a creative musician. The flipper here is that if we support what develops creativity, the technical levels actually become better, not the other way around. Think of that. Creative people know this. Our society’s advancements never take place in isolation from an energetic, improvised, creative environment and a formalised environment. Advancement in music needed both to happen, the local musicians bustling away with each other, improvising, playing at get togethers and concerts, and the pieces of paper that published the Beethoven Symphonies. Without that publication, music stagnated for centuries. And where did the printing press come from? I bet you it was seeded as a creative act. We need both improvisation, creativity, and formalisation to move forward. I think there is something worth thinking about here, even though I have not furhter developed these realisations or thoughts.

8 December 2021

These are my views, based on my experience…

A WP theme may be designed as a minimalist product with incredible lack of robustness, functionality or flexibility.

We cannot login to true demos to test these themes.

We are asked to trust highly targeted marketing that make false claims in order to see if our purchase works. We have virtually no recall, meaning we lose money.

Pricing plans have significantly increased, including unwarranted use of annual fees for theme and secondary plugin licenses.

Some examples:

A theme shows pictures and first names of white American authors but the theme is developed in India.

A theme claims to be the most advanced of its type with full flexibility to build anything you want but only provides side menus for mobile phones, not pop-down mobile menus.

A theme claims to offer everything possible but uses another 3rd party editor. To get reasonable function you have to purchase other add-ons.

A theme claims it can have a 100% A rating on GTmetrix, but the rating is a 33% E rating.

If a WP theme author only provides the basic bones for a theme’s content, we see this quickly once we start to view its configuration parameters when trialing test pages. That is when we know we lost money. It is a worse experience when parts of the theme fail – such as a page freezing or page edits not saving correctly.

How do we tell if a theme is simple?

No matter what the marketing looks like, the “demo” web pages will have a certain simplicity. The pages may look clean and spartan. As we go through multiple pages, do we see the same thing to the extent it becomes too minimalist, without variation.

If the first image on a web page looks great, it is possible a plugin is being used, such as a slider. The slider is not the theme.

You may like a page layout, but all web pages use columns and rows. A bunch of square pictures in the footer may look neat, for the first time until you get used to it. Anyone can put pictures in the footer.

What I usually find is the theme has a limited number of web pages for its marketing content and may have a basic set of help pages. Looking at templates is in my view useless.

There are genuine and good authors in the WP development space, but there is opportunity to provide simplistic programming in order to make money. With apparent lack of enforced industry standards, no one is immune from purchasing mistakes.

WordPress may be viewed as integrated components. How each of these areas is actually developed determines the maturity of the product.

These components include the content editor, navigation, row and columns layouts, the footer, page elements, PHP, JavaScript or other programming calls, security, performance and device displays.

We could go on at length on each of these components, but what matters is how each is addressed with good development. If development is simplistic, just a basic check list, that is the problem.

Good themes are developed from a starting place several years ago. It is not possible to remove all past programming dependencies, reflecting some of those initial and ongoing inherent limitations in current releases. This is technology. We are spending hundreds to thousands of dollars on theme licenses that at some point will be old technology.

An example of carry-over old code – small .png logos have razor edges and loss of colour. They need to be larger file sizes to work. If the navigation, sticky and mobile headers are unable to scale a logo, we run into a maze of CSS styling problems to achieve use of an acceptable logo. This is incredibly obvious, but a theme may never deal with it.

Web designers and programmers settle into one or two themes as their preferred platform. In the process, we all get burnt from wasted marketing  and web hosting expenses.

Much of what we do in WordPress is via 3rd party plugins. This has its own hair-raising concerns. Even well-recognised plugins can fail on an upgrade, for example, slowing the entire site down. We can develop some care towards what we use, in principle keeping use of plugins fairly simple with redundancy available in other plugins.

WordPress has sizing limitations we do not usually exceed. We can configure PHP performance to some extent and web server software such as Apache. These configurations are not well documented, but rather an never-ending collection of people’s views in forums that have little validation. We will not understand a number of the performance configurations we deploy, and yet, they must be deployed.

As performance is a major requirement, we configure web hosting and caching. Say the web hosting service makes false claims or does not provide good performance configuration, we get caught out.

For example, if an organisation conducts business in Australia with hosting servers in another country, we experience a server time lag we cannot improve, impacting performance, or, a provider refuses to modify a memory parameter in /etc/php.ini to a more reasonable value, citing it is the same value for everyone as it is shared hardware.

With regards to caching, there is no one answer even with the same caching plugin. We can spend countless hours testing caching configurations to arrive at something passable. Themes that advertise 100% ratings on GTmetrix may be an unabashed lie.

The problem we face in web design is that we need to design, not meet some set of “standards” someone else says you have to meet in order to get a high rating. You control the design. This is the attitude to have. For instance, if we need to show a high quality photographic image, there is a minimal size of about 1800 pixels in one direction before a desktop full width browser causes the image to loses clarity. There is no fix for this. Depending on digital content, the file size could vary from near 300 kilobytes to 500kb. You would have downsized the file just enough to keep detail, colour, greys and blacks. If you then automatically compress it with 3rd party software, you ruin the image. A performance test would immediately tell you your image lowers your rating – but to whose standards? They must be to yours. We can make a page very snappy despite a performance test – eg. by using burst CPU and caching. There are several things we can say about attention to performance, which is what we do, rather than aiming at something for its own sake.

We have to be really careful about placing systems into production without extensive testing on other projects. For instance, we may like the idea of Open Lite Speed caching, but any new endeavour like this will take months if not years to develop a solid grounding in. Open Lite Speed will not install by way of example onto an Amazon Linux2 PHP7.4 instance, no matter what you do, so you have to install on a pre-fabricated platform – what will happen to that service in years to come? How will you deal with bugs or fall-overs?

A provider as far as I can see, offers introductory plans that are useless long-term. The psychology is that people do not feel able to leave a provider once they have signed up, which of course is false. We often know of situations where a Help Desk is purely kindergarten hand-holding, providing nothing substantial for real technology issues. A provider may have elaborate designs in place to keep people in their service.

There are issues however in migrating to other providers, which is where we need some real technical skill. One provider is well aware people make a particular domain name transfer mistake, so they charge close to $200 to fix that natural human mistake. It is possible to lose a domain name, another story. However, transfers seem to have become more problematic with the WordPress database in recent years. It is no longer uncommon to rebuild a site from scratch if the database refuses to re-install from the SQL export.

As we now tie in SSL certificates, we may wish to stay with a provider as the https:// requirements is pretty much mandatory now, courtesy of search engines and browser developers. The provider will do it seamlessly for you. Then, we tie in e-mail. By the time these are knitted together, we don’t want to contemplate transfer to other providers. But consider this, your data is not using what we call RAID disk. (As a simple tip, if you have an SSH login to a Linux based server, go to the root directory and type the command “ls -laR” then see if the file listing freezes at any point. If it does, you have a corrupt disk, so your backups may also be corrupt.) Your website and shared hardware and operating system can become corrupt without ability to restore it, even if you have relied on the provider’s backups. Hence a well developed web designer will address Disaster Recovery Backup. All of this means loss of your own time.

As customers give their Credit Cards to various hosting plans, costs add up far more than they did five to ten years ago. Again, there has been opportunity to charge more money. A hosting subscription needs to be seen as total ongoing cost, which includes secured e-mail and SSL. An introductory free e-mail service is not using DKIM. A cheap server plan may use older hardware with below appropriate allocations of RAM memory and CPU.

As an historic example, a provider had a really good service, based in Australia. An overseas company did a takeover. Behind the scenes, they changed hardware without telling the customers, which slowed the websites down. (My ssh login proved it. The provider was not happy I had the login.) At some point staff did regular maintenance and forgot to keep security in place. My website was hacked and publicly reported, so it was taken down. The provider said I had to fix it myself even though they assigned the cause of the problem to themselves. Another company did another takeover of this company. The websites were migrated to that company’s infrastructure/hardware. The websites froze, making it necessary to upgrade. These sorts of examples are significant and have been frequent.

One provider used a virtual machine service that theoretically gives faster performance, but it needs command line skills, as opposed to using the cPanel interface. During development there were strange things happening. At some point the provider removed the service – all that work was wasted. One of the problems was that the servers were in Singapore. If we have an outage to another country, we are stuck. If that country has a natural disaster, we are stuck. If the WordPress database is split between servers, we have two points of failure, not one.

A false claim may be that servers have guaranteed near-100% uptime. No one can truly offer this without demonstrating the metrics to prove it coupled with monetary penalties. It just does not happen without these in place as is the case with critical data centers. Users on forums, or we ourselves, experience failures from hosting providers. Promises need something tangible to back them up. How often do we see downtime with a company refusing to provide reasonable information or updates. (One Aussie broadband provider had e-mail outage and ongoing unreliability continue for over seven days.)

There are no industry standards and subsequent penalties in place that ensure compliance across the board when it comes to popular WordPress programming and hosting. I don’t like losing money, but there has been no choice about this in order to play in the field. In the absence of standards, it is not in my view possible to compare providers. My approach has been to test providers without paying annual fee plans. That way I can go through the at times  repelling process of cancelling an account.

In my view there is some degree of chronic and systemic corruption in the industry, which means a web designer has to be alert and develop trust in their observations. But it also means, there is a high degree of necessitated problem solving in order to work in this space. As we become wiser and more experienced, it adds to our value on behalf of our clients, but again, no one pays for this value. We just keep losing money over time – sorry, but we do.

As a post comment, some folks are in a way scammed. They may subscribe to a pre-built service that provides the website for them, thinking they will earn revenue. They look at their WordPress logs and think they are really popular. The reality is the service may not able to earn revenue in the market as it is, including the way competition works already in that segment. The popular site hits are hackers and robots, not real people interested in what the site offers. There are numbers of websites today that have no basic bread and butter search engine configurations, sitting in some void space, always. People tend to get desires to make things happen, but how often are the follow-on actions based on knowledge? We try to develop our knowledge, so that what we observe is not about being negative, as it would appear, but realistic within an environment that is what it is. We become street smart.