It sounds like you find cheating shameful for vague moralistic reasons that you have not disclosed.
Software is full of cheating. I am really convinced that maybe 85% (that's actually being generous) of developers have no idea what they are doing. They know enough to complete some tiny agile tasks and push a few lines into a pull request. These people are either suffering from imposter syndrome, deliberately cheating, or just don't care. All the real decisions are made by that last 15%. That's why almost nobody can write software anymore without a plethora of open source software delivering most of their product for them.
In my mind if you aren't part of that last 15% you are cheating whether or not its deliberate. Everybody wants to get paid.
If you want to reduce the amount of cheating in software then the industry must be willing to impose minimal standards of acceptable practice. The industry is not willing to do so.
There are a couple of reasons why such prolific cheating is allowed (and even encouraged):
* Developers are not taught to plan. I take this for granted being a military guy, but seriously I have seen many children with a greater planning ability than many developers tasked with a new product effort. Its like the abstractness of software completely destroys any capability to put simple steps in order. This is why many businesses will offload this to business analysts and project managers.
* Developers are not taught to write. Although many of these people have bachelor's degrees so many cannot put their thoughts into even a simple bullet list.
* There are no ethics in software. The closest thing for most developers might be something like an NDA at initial on boarding. Otherwise, ethics is entirely off loaded to a legal team who mandate areas of compliance.
* The goals of hiring/employment often do not align to the skills required to perform product delivery. This indicates employers have completely lost faith in candidate preparation and/or candidate availability and are just willing to take what they can get. Typically that means dumbing things down to widen the pool of availability.
* Many developers are grossly entitled. The most important word for most developers: easiness. Comparatively nothing else matters, and they will fight you to death on this.
Edit: two grammar corrections.