2,320 karma · joined July 25, 2018
The goal was never to solve a real problem, like we evangelized for decades. That was how it was explained when resources (mainly time, but also money) were scarce and we could not just throw things at walls. Now we can, and you won't see anyone talk about "make something people need".
Things will be low quality until something sticks, and then money will be poured into it. It's not a bad strategy, but my takeaway from this is: there are multiple plausible explanations for the same thing. People have an incentive to not give you the correct one if it helps you compete with them. But they will give you a sensible one. AI won't protect you from this, experience and real knowledge will.
https://humanidentity.io, https://protocol.humanidentity.io
Disclaimer: I am the author, feedback appreciated
I feel like this was one of the most valuable skills an engineer could learn, as it protects the integrity of the system by making minimum viable changes. If you need to refactor something, it should be clear that that is the task.
But we're all tokenmaxing now.
The reason banks aren’t being hacked daily is a mix of physical and digital access controls, and processes, as well as the real threat of the FBI knocking on your door. It is not because the systems are hard to hack.
But now, they panic because some company told them their systems were not 100% secure? And how will they solve this? My making it 99.99% secure with a $10B yearly Mythos subscription?
I would just settle for not leaking any more s3 buckets. Start there.
Something like https://protocol.humanidentity.io (disclaimer: I built it, sorry for the plug) or any other privacy preserving service might work better. A platform can then require that a person verifies age in a privacy preserving way before viewing adult content.
On the other hand, members of a demographic that indirectly benefitted from discrimination in the past, but were themselves not direct beneficiaries can’t be punished for that. They apply to jobs just the same, compete just the same, and aspire to be successful just the same. And just because they can’t relate to the fact that the other demographic has it harder, doesn’t make them evil.
So where’s the balance? What’s the solution? And companies implemented DEI bc they were pressured to do it, and now they’re pressured in the opposite direction. Will they be sued again in a few decades for the other kind of discrimination of “we only hire the best, it just so happens that all the best are of X demographic”?
Then use ideation to architect, dive into details and tell the AI exactly what your choices are, how certain methods should be called, how logging and observability should be setup, what language to use, type checking, coding style (configure ruthless linting and formatting before you write a single line of code), what testing methodology, framework, unit, integration, e2e. Database, changes you will handle migrations, as much as possible so the AI is as confined as possible to how you would do it.
Then, create a plan file, have it manage it like a task list, and implement in parts, before starting it needs to present you a plan, in it you will notice it will make mistakes, misunderstand some things that you may me didn’t clarify before, or it will just forget. You add to AGENTS.md or whatever, make changes to the ai’s plan, tell it to update the plan.md and when satisfied, proceed.
After done, review the code. You will notice there is always something to fix. Hardcoded variables, a sql migration with seed data that should actually not be a migration, just generally crazy stuff.
The worst is that the AI is always very loose on requirements. You will notice all its fields are nullable, records have little to no validation, you report an error when testing and it tried to solve it with an brittle async solution, like LISTEN/NOTIFY or a callback instead of doing the architecturally correct solution. Things that at scale are hell to debug, especially if you did not write the code.
If you do this and iterate you will gradually end up with a solid harness and you will need to review less.
Then port it to other projects.