Yes, even if it gets the job done. Because if it gets the job done poorly, by causing significant battery drain or performance problems or other hallmarks of bad code, you are mistreating your users.
Novice code isn't necessarily imbecilic code, you're conflating the two. If I'm otherwise proficient and have a grasp of hardware conceptually, my iOS code isn't likely to do those things you stated.