• 0 Posts
  • 6 Comments
Joined 3M ago
cake
Cake day: Nov 08, 2024

help-circle
rss

Wow. Just wow. I sure hope they get something more out of that, because 1200 dollars for fucking up who knows how many shitty chinese android boxes is worse than doing it for free. From a related article from TF:

Bug bounties and hackathons are notorious for being the coding equivalent of working for exposure. These are inherently cost savings programs so that companies don’t feel like they need to purchase these assets at market price.


It’s windows host because it has the unique property of leaking to higher levels of abstraction and leaking to lower levels of abstraction, which is a technological feat that can only come from Microsoft.


first class languages

So like Racket/Scheme and like maybe Ruby?


Factory factory…n is literally just creating an OOP closure for when your language doesn’t support first class functions, closures and/or currying.

Also metaprogramming and abstraction is literally the only way to actually manage and deal with the capriciousness of your stakeholders.

It’s not simple, because it’s literally not that simple. It’s Conway’s Law. That’s what being a programmer in the industry is. I run a platform team, and I get paid because I can organize and deal with technical risk and contingency better than anyone else at my company. You bet your ass I do metaprogramming.

Also my product itself is a factory factory factory. Users create processes to author content, author content, and that content is delivered to other users. All in the same system. Managing complexity is extremely important if you want to work on interesting things.

“And this is the way everyone is doing it now? Everyone is using a general-purpose tool-building factory factory factory now, whenever they need a hammer?”

I’ve had this exact conversation with a programmer who was retiring. He was complaining that I ask too much because I told him that he needed a more generic way to represent the logic that encodes how our end-users traverse the content that our authoring users create and manage. He literally said something to the effect of the above quote to me, but as complaining contempt.

The business explicitly doesn’t want to spend money crafting individual code bases and products and unique logic. Our system lives and dies by our ability to service our internal clients and meet their needs in a dynamic manner. We need manage each factory layer carefully because very often different clients want two different things at two different times, and so each decision needs to be encoded in a way that allows us to make future platform changes without having to sell the business on refactors.

Sure you’ll run into people who overuse things when it could be simpler from the business perspective. But the reality is that most programmers in the industry have never stepped foot into a well run shop. Most programmers in the industry haven’t actually launched a product tip to tail.

It’s very easy to criticize patterns when you don’t actually have to use them, you’ve never seen them being used properly, and you don’t know how and when to implement them.

You don’t know how many times I’ve had to explain what two phase migration means and how to do them across multiple dependency links in the chain.


Most companies are incapable of actually building something this techical.


After 15 years in the industry, I don’t actually hate cargo cult programming anymore. Cargo cult programing is a useful tool to deal with the industry. Junior devs are going to join a cult, you want them in your cult, and you want your cult to have clear rules. If they want to know why the gods rain cargo, they’ll ask. At one point you don’t have any real control over hiring even as a Lead, EM, etc, because in larger companies saying “no” often doesn’t matter when hiring has been dragging on too long. They need to fill seats for deadlines they decided without you anyway.

As a tech leader with standards, you either need to be in a wonderful company or you need to have a wonderful cult.