Is it better to push ahead and try learning something you're unfamiliar with or start from the basics?
I'm the type of person who likes to push ahead and work on projects beyond my skill level. Should I keep doing this or work my way up progressively? What are your thoughts?
You can maybe let your wish to learn something useful inspire your search for projects. It doesn't have to be something super complicated... but write programs that would - or better even will - actually make sense for *you* to use! For me the first two programs of that sort were a calory calculator and a learning aid. Both are simple Python console codes (the latter I have shared here), but I am still using them. From there you can go the next step and look how you make it pretty (GUI), how you get it to run on a smartphone etc. And gradually increase the difficulty of your real-lifey tasks.
HonFu Thanks for the reply, finding the balance can be hard sometimes, especially when expectations are high and you want something that serves a purpose other than showing knowledge. Having faith that I'll be able to use these skills in a real-life scenario is a big factor of learning for me.
HonFu could you post a link to your Learning Aid program?
If a project is *truly* beyond your skill level, you will find out soon enough by just getting stuck with no amount of google searches saving you. So if you can handle the pressure, if you get the job done, then yeah, why not? After all, the best way to learn any language is constantly using it. Personally, I prefer a bit of a steady approach. I try to find tasks for which I need *some* new knowledge, like 20%. And I try to consolidate what I learn by repeating it with a plan.
Id just start from the basics to understand everything I know that it may be a pain in the butt, but it is probably the best way.
Sometimes I feel like I just waste time in lectures, while I really learn when I am challenged to produce something with that knowledge from "classroom". So, I'd always choose the "push ahead" approach to keep developing skills.