This is my humble suggestion on how we can improve the software development hiring process.
We should treat interviewing the same way how they judge science fair projects in the U.S. Science fair projects are these projects that U.S. children create where they conduct an experiment. Then they create posters to show them off, sometimes including a model, diagrams, and samples. It is easy to cheat on this projects, since the work is done at home, often by the parents. So the judges go project to project and ask the students about the project. The kids who can intelligently explain the project and answer the questions are the ones who win, even if their displays were ugly and sloppy. When the student has no clue what the project is about, then the judges know it was done by mommy and daddy.
We can do this with software developer interviewing. You share their project with the interviewer, and they ask questions about it. The candidate can then talk about the project, the design, the code. Interviewers can ask them why they picked that design. Ask them how they would implement a new feature. So it doesn't matter if the person got their buddy to build it, the interviewers would be able to tell if they made it or not.
Most importantly, they would assess the skills that are actually used in the job.
Companies could even offer candidates to submit a project or do a coding assessment, so that people who prefer puzzles won't be sidelined.
Some people will object that expecting people to have a project or projects on top of a job is unfair. You are right. Yet the existing status quo of requiring people to prepare for cs puzzles if they need a job already unfairly punishes people with less time. It would give people the choice to create a cool project or get better at competitive programming.
Hopefully we can also see more apps and projects, some personal, some that will be innovative. I may be wrong, but my perception is that the number of cool innovative tools has decreased as the difficulty in the coding assessments have gone up. It is hard to imagine Linux being born if Linus Torvald had to leetcode for a future job instead of having the time to write a unix kernal for personal computers.
I know that nothing will change in the short term, but at the same time nothing lasts forever. It is good to imagine better futures, so when the opportunity comes, we can create them.