My first serious memory failure was in Ft Lauderdale, 2008. I was lost but 100% positive about my route. I eventually consulted my phone and... my memory was 100% wrong. So now I often write down events shortly after they occur.

The Sonoma autopsy.

  • no testing
  • no repeatable process
  • no strategic design
  • security on an external AD attribute, an issue for testing and non-AD clients
  • can't create a dev environment.
  • REST-to-REST updating instead of async queues

The test and prod environments were hand-written, so keeping them synced is a problem. No ability to create my own development tier without hours of guesswork. So we shared one test tier. hahaha.

A hundred security profiles. Instead of one general profile, every. single. piece. has its own special profile. Many are repeats, probably unused but who can tell?

Disjointed security. Sometimes a token, sometimes a password, sometimes stored here, sometimes there. An attempt to standardize it but that almost makes it worse, like a car that starts 95% of the time instead of 50%.

My favorite part was running a server build which failed. "The problem is your node.js configuration!". Why the hell is MY LAPTOP involved in a SERVER build? That happened three or four times before GingerBread Man did a real fix.

I tried to keep a low profile because I got a passive-aggressive attitude from the start... questions stonewalled, or answered incorrectly.

Complex redirection security scripts which rely on my local AWS profile being set to "JSON". Blindsided again for two days.

The CQRS pattern is wrong, it's a performance pattern, not a differentiation pattern. A commercial product with ZERO design to support a commercial product.

Recreating a REST structure which feeds GraphQL, negating GraphQL's value and doubling complexity.

Big, long if statements chaining two dozen resolvers together instead of simple discrete resolvers.

The existing TypeORM project wouldn't run on the native AppSync data channel and I finally figured out AppSync only accepts an AWS-specific ORM (poor behavior for "standard"). But Gingerbread Man interpreted this as "incompetence" because my hair is gray and his experience is limited.

Cowboy code that will have to be rewritten. Except it won't be. By the 2rd or 3th customer, it will be unmaintainable, quietly absorbed into the parent company's infrastructure, branded a success and mothballed into legacy code. Hell, it's already unmaintainable. lmao

Developing on Apollo but deploying to AppSync will probably surface compability issues at some point.

I rarely wish ill on other people, I've learned they'll often create their own doom with no help from me. Like Staples and Nike, it was a relief to get away from the bumbling chaos and blindsiding. Overall, the Sonoma experience reminded me of the Cisco experience. lmao-1

In contrast, in 2018 at Sila I standardize our laptops on Lenovo with Ubuntu which matched our AWS deployment and minimized esoteric bugs. I created Cloudformation scripts for a fully repeatable process, each developer could create their own dev environment. I standardized JSON schemas, created a test suite and incorporated it into our build and deploy process. I laid out a strategic design, I delegated development into separate domains to minimize conflict and tied them together by a SINGLE well-defined interface - a message definition and queue for each flow to minimize dependencies.

That's why Sila survived my departure and is still running in spite of idiotic diversity hiring of minimally competent young women.