My dissatisfaction, aside from the usual foolishness one has come to expect from one's employers like a weekly viewing of
Brazil, stemmed from this kind of engineering cruft that has seeped into a very small shop. The cruft looked like this kind of enormous parasite that had battened onto programming, slowing it down, draining it. I don't doubt that very large projects with tons of developers and enormous LOC counts, with a few million users need that kind of thing, but it does not seem to scale
down very well. What might have been a symbiotic relationship with a larger host organism became like a lamprey fastened to a guppy. Now artificial deadlines had their own artificial deadlines inside them, ad infinitum.
Despite being an incredibly small shop, we "leaned in" to the Agile thing in a way that was completely foolish. Scale was irrelevant, we had some services that were hit an average of seven times a day, sometimes spiking to ten. You will have to trust me when I say that they would never go viral. Ever. We did not have teams of programmers working on one product, we had a few programmers constantly bouncing from one little project to another as management demanded. This "pivoting," (and I guess you have to be Agile to pivot so often) resembled nothing more than Brownian motion from the ten thousand foot view. Management would shift in and out, old work was looked at with "why did we build that?" while never asking if the hotness du jour was similarly unnecessary. Meanwhile, backbone processes were neglected and began to crumble.
Ah, but the churn, that was huge. We kept switching from one platform for engineering issues we didn't have before to another platform. We had this, now we are going to Trello. Then it turns out that our parent organization was going to switch to something else entirely in six months, but let's take a little detour from Trello to this other platform just for fun before we go to what the parent organization will mandate. This was most likely to be just another bullet point on the old resume for the lead, to say that he had done it, on his way out the door to somewhere else; if I had to guess, he had figured out what ecosystem his target job was using and picked some items out of that for us to purely temporarily migrate to.
People would buy wholesale into services that simply were not going to last. I would smell the stench of impending death upon them but no. And then later, into the Google Graveyard or the like it would go. So much jabbering about frontend frameworks when almost no Javascript was required, only to have to then keep those frameworks current.
The churn was there in other ways. I had never used a particular backend framework before, in fact had little experience with them. I was forthright about this, so I bought some relevant books, set up a test machine to dabble with, and was ready to go with a tiny little "get my feet wet" project that would still have some minor value. The other "contributor" had agreed to all of this, and when I was set up and ready to learn, somehow everything pivoted to Django. No "buy-in," as the lingo I had to learn goes, from me. Time, effort, money: wasted. Update update, migrate migrate.
I remind people often that nomads never left great architecture behind. If you are constantly migrating, you are not building anything to last.
I switched to something tech-adjacent. I still program. I still use technology to solve problems. Now, when I program to solve a problem, it stays solved. I do not have endless meetings fractally interspersed into my schedule like some kind of stuttering hardware interrupt all to talk about solving a problem.
I follow Hacker News because I am interested in some trends, pet projects, and the like. On a purely cruel level, watching people simply tear into one another again and again over what looks like religious differences (Agile in particular is a fantastic example, makes top-posting vs. bottom-posting thing look tame) reminds me of why I left.