For Oauth I'd like to borrow what I would describe humbly as a better analogy, and it comes from Douglas Crockford, and so adapting it from him commenting on Monads in Functional Programming, it goes something like this:
"OAuth is a simple idea, but with a curse: once you understand it, you lose the ability to explain it."
Chomsky never argued it was words (and how couldn't it be words, for there are millions of words from 100s of 1000s of languages), just a configuration to eventually learn those words.
I am not sure if this will help you, but have an extended, deep conversation with ChatGPT about your resume. Tell it who you are, what you excel at, and list projects and technologies. Then, paste a couple of the job postings that did not work for you.
This might sound silly to you, but it absolutely works, because it will distill your experience better, ask you to re-arrange and generalize, and more importantly, it is far superior to us in finding unique key word combinations that work.
Look I don't want to pile on, but I sent the latest version of your resume through ChatGPT with o3 and it pointed out several things to fix or improve about the current version of your resume, which as a human who has interviewed 100s of candidates I mostly agree with. Hopefully this is helpful.
Look I don't want to be rude, but your resume screams "Dear AI Overlords I beg of you, please hire me! See? I did all the AI things to please you! Please don't abandon me, sniff"
It's downright comical.
My biggest problem with your resume is that it feels oddly vague and empty... "API development"? Come on.
20 years of full stack development experience? React is the de facto standard and as of today is 12 years old and it's absent. Absent! NodeJS? Absent!
Now think about what the key advantage of a highly experienced engineer is. Of course! It's the experience!
What you really should be doing is building a meta resume that contains all marketable job skills and experiences. Because you're experienced and know a lot of things, the resume will be too long, so what you need to do is tailor to the job posting and cut out all the irrelevant parts to stay under two pages.
Since you are so obsessed with AI, you could even let the AI cut your resume down (don't let it write new things) and then just send it off. What you 100% certainly shouldn't do is let it write the resume itself.
I am not so sure. Code by one LLM can be reviewed by another. Puppeteer like solutions will exist pretty soon. "Given this change, can you confirm this spec".
Even better, this can carry on for a few iterations. And both LLMs can be:
1. Budgeted ("don't exceed X amount")
2. Improved (another LLM can improve their prompts)
and so on. I think we are fixating on how _we_ do things, not how this new world will do their _own_ thing. That to me is the real danger.
That's ok. Writing such a spec is writing the code, declaratively.
The only difference between that and writing SQL (as opposed to writing imperative code to query the database) is that the translation mechanism is much more sophisticated, much less energy efficient, much slower, and most significantly much more error-prone than a SQL interpreter.
But declarative coding is good! It has its issues, and LLMs in particular compound the problems, but it's a powerful technique when it works.
the user who wants it? and a premature retort: if the feedback is "the user / PM / stakeholder could be wrong", then... that's where we are. A "refiner" LLM can be fronted (Replit is playing with this for instance).
To be clear: this is not something I do currently, but my point is that one needs to detach from how _we_ engineers do this for a more accurate evaluation of whether these things truly do not work.
I get the concern, however. But, short of nuking the actual .git directory, the upsides are worth it, in my opinion. Cursor offers filtering via a mini-prompt in its YOLO mode, so does Windsurf. The idea is killer, it allows it to progressively build and also correct its own errors. e.g. Cursorrules can be told to run tests after a feature is generated, or typecheck, or some other automated feedback-loop your codebase offers. That's pretty neat!
Better yet, setup a dev container first. Then, at most, your local DB is the only concern. If still paranoid (as you should be), suspend your network while the agent is working. :D
reply