Don’t Be Weird

When I talk to companies about using technology to help solve problems they have, or to enable new things for their business, I usually end up telling them to “Try not to be weird.”

At first glance this might seem to be something that gets me gently shown the front door with my coat in hand, and some explaining to do to my boss. What I mean when I say this is: realize that products and features are designed and created by humans who listen to customers, and then try to design things so that they help the most number of customers well. If you decide to use things in ways that aren’t somewhere in that sweet spot, you are sometimes making your own life harder. Notice I didn’t say impossible, or that it won’t work, or that you will be cursed forever. If you find ways of doing things that are unexpected or on the fringe of the normal use cases, you may find your total cost of operations to be higher, or end up with future upgrade issues, or just….. harder.

This is not new of course, software has worked this way for ever and ever. The biggest difference now is when we consider cloud based solutions and how fast they change. If you implemented something considered “weird” in your datacenter in the past, tinkered around and got it working, you might be good to go for years before those sins came back to bite you. These days, products iterate and change every quarter, or more often, and if you do something strange or unexpected you may find yourself regretting that sooner than you think.

Microsoft publishes things like reference architectures for this reason, among others. In general if you use these as north star guidance, you are likely to be in that sweet spot.

People should be individual and unique and revel in those differences. Cloud consumption and architecture patterns usually should not.