Learning by making a real usable product is the most important part here, other kinds of learning didn't work for me.
P/S: This is different from learning by project. Project mostly is for fun, not a real usable product.
Learning by making a real usable product is the most important part here, other kinds of learning didn't work for me.
P/S: This is different from learning by project. Project mostly is for fun, not a real usable product.
I developed a .Net web application for a company 20 years that is still going strong (better than ever and now with multiple developers). I didn’t know how to code back then but bought two good books and their concepts are the basis for almost everything in the app.
Now I am trying to learn Python/Django. I have tried doing the Udemy courses and going through building a “blog” and “real estate” apps. They are fine but boring and I lost interest. Then I remembered what I did 20 years ago and am now building a real product based on what I am learning in a couple of good books. It couldn’t be going better.
It'll take longer than you want, but you'll get better much faster than you think you can.
EDIT: typos
And what would be a "real usable product" for you in that context? It's a genuine question, since I'm someone who would like to build engaging online courses.
I do have a Python course online although it teaches concepts from small examples..
Hobby projects often don't take much account into production usage, somethings we called it "best practices".
In short, imagine your code is in real world usage, which has real user, instead of just "small examples" or project to learn only.
It's about mindset here that settle us to be really serious at what we're coding and thinking.
No joke, but testing in production is one of the braviest ways to learn, too.
So, for instance, something like starting from an idea (a "webforum for all my friends", or other usable example), designing the database, implementing authentication, implementing the frontend (html, css, js, etc.), then adding those small things and finally deploying to a webserver?
The thing I think I'm asking is what kind of topics would be good to motivate people to follow through? For instance, the webforum above could work for some while others would have other ideas. It would be hard to design a course around a moving target like that..
I hope I'm not boring you with my questions above, I'm mostly trying to understand your point because I've been thinking about designing interesting courses for people, but I wouldn't like to do another basic introductory course with small chapters and exercises as other 1000 courses out there..
The point is, not trying to add too much at a time. Try adding one feature at a time, but make it production ready, stable, reliable. It's what make progress !