I think to some extent is that the right candidates and employers are not meeting.
Working at a ~1k employee company, we have been trying to hire both junior and senior devs. Out of ~10 interviews I conducted for junior, only 2 was able to program a linked list, and even that was with hints. It was not much better for senior(more system design question instead).
I understand that leetcode questions are (and have been) outdated, but linked list for somebody fresh out of school seems reasonable.
And this overlooks all the people using ai to cheat on the interview.
I would expect in this market we would have better candidates. But for us it was a challenge to hire.
And let’s not even get started with all the ai generated resumes and candidates that don’t actually exist, or have the experience they say they do. Really a waste of my time to interview.
The recruitment process is not made for a world where anybody can just copy paste the job req and generate a resume that fits everything.
Could this be extended to lean into teaching quantum physics ?
Include seconds/ sub seconds hand in the watch, and people will realize the watch face time + time it takes to read will never equal the watch face time.
You can know the exact time, by looking at the analog watch face, or you can measure it (convert it) but it will not be the same anymore.
I think you’re missing how complex international operations and optimization are.
Each country has their own laws around what uber is and isn’t allowed to do. This needs to be formalized in code. For example you actually call a taxi, though the uber app, and the amount you pay is per mile, not a fixed fare decided ahead of time. To add to this complexity, some cities will have their own laws. What happens if you take an uber from town a to b, where each one has different laws ? A lawyer probably has an answer but the app needs to adhere to that.
On top of that laws change all the time.
Optimization, well you can always optimize something. speed, costs, paths etc.
In a way this never ends.
I think the part we interact with as consumers is a tiny sliver of the complexity those services have to build and operate.
My view is that ai makes it very easy to pump out a lot of code, and that makes it too time consuming to just merge it without understanding it 100%.
The person pushing the PR is getting promoted because their are delivering so mane features, but after some time the codebase is a mess.
Sure the same person might end up dealing with some of the cleaning up, but more likely those refactoring tasks end up getting spread across the team as the need arises.
People are incentivized to push out code, which under human-written coding standard usually meant a level of pro-efficiency, so they should be rewarded.
But with the new model of pushing out code with ai, a better metric of a good engineer that should be promoted would be lines deleted, or something like that. Much harder to measure, and hard to justify to management.
Problem is that it does not produce better or more work, it actually shifts the work to a different/future engineer. Today’s slop which gets engineer 1 a promotion, is engineer’s 2 problem next month when they are oncall and the codebase makes no sense.
Your horse riding analogy, is like riding a horse into battle without your weapon because it’s slowing you down. Sure you got through the enemy first by outmanoeuvring, but you missed the point all together. Maybe you got a shiny medal but all your mates are dead.
I just suggest you use Claude to write the script for you. And then you run the script with cron. Really it’s not any more time, just takes a different view on what the goal is.
I see people highly trained engineers spend hundreds of thousand of tokens doing what can reliably be accomplished with 150 lines of python.
I think the push from management for us to use AI has made it so we don’t have to be efficient with our consumption, so now we write md files which we feed to Claude in a loop instead of python and bash scripts to do routine tasks.
Give me a python script that takes a string representing the output of a sha256 algorithm and a plain string and compares if the sha256 of plain strig matches the sha256 provided.
I wonder if the result would be better or worse if prompted exactly the same in English.