I’m reminded of the “draw the rest of the owl” meme. Except these mistakes are more insidious, since everyone can tell if they have drawn an owl, but it can be hard to tell if your model has done something like overfit on minutia until you release it upon the world.
You simply need to practice on challenging problems, sometimes ripping off code that is state-of-art, analyzing it, understanding why certain things are done the way they are done, and in a few months you could be able to do your own state-of-art custom models with your own loss functions with distributed training using your own callbacks and getting $500k salary in some valley company.
When you finish your Bachelor's degree, you know everything.
When you finish your Master's degree, you realize you know nothing.
When you finish your PhD, you realize nobody else knows anything, either.
(Better math meant designs could be optimized for lighter weight and reduced manufacturing cost.)
Then we learned students never completed moocs and instructors hated creating content and getting paid almost nothing (compared to their full time jobs) to be a sharecropper on their platform, without tenure, status, or all the other perks teachers enjoy (because they don't get paid much). Contrary to techies opinions, teachers do not want to give up their hard won political power ( that's all they have left ) for the sake of tech.
They saw what tech did to the publishing industry
As for the nobody finishes, that is even easier: use Beeminder[0], and if you are writting a mooc platform, integrate with it.
[0]: beeminder.com; self-control as a service; I am a very happy user, but, except for a few stickers, an unpaid shill.
The requirement for most ML jobs in 2012 (when I graduated) was a Ph.D. I took literally every course on machine learning my university offered (six or so) as an undergrad with the hopes of landing an ML position when I graduated. I gave up on trying to find a position because they all required Ph.Ds.
I even had a solid portfolio, as I had successfully applied neural nets to solve a couple of problems by then. One involved real-time image processing and it was on github.
It seems much easier to get a job in the field now.
I'd say the bulk of the data scientists I work with now are non-cs/math people. I work with some math/stats PhDs too, but they are outnumbered like 3 to 1.
I don't know exactly what my teachers were doing but it all came to a screeching halt in college when I encountered severe gaps in my knowledge that made Calculus my hardest class. I had missed some very important lessons from earlier on that were huge hangups. It's hard to differentiate an equation if you aren't solid on how to factor the variables.
I used MOOCs to learn various programming languages, simple database queries (insert, update, select with join, etc.) and how to use APIs with JSON. Lots of fun stuff. But when I came to university I started being taught all kinds of math and CS stuff through difficult assignments and tight deadlines that I never would have done on my own.
Yes, you technically can learn a lot of math and other things through MOOCs but it's not always as fun. The advantage of university is that they give you a set of required courses for a major and you have to take them, whether they're fun or not. Sometimes the courses which are the least fun turn out to be extremely valuable later on.
The same is true for the output of your work.
That's not even considering getting employment in a relevant position, which is much harder than it was in 2016 due to increased competition, and the requirement for Masters/PhD nowadays (https://towardsdatascience.com/the-economics-of-getting-hire...).