It’s most likely the same for everyone though.
For the last few years, I’ve been learning Python. In all honestly, I don’t really know where I sit on the capability spectrum. I can tackle a problem with a patchwork of solutions and get to a fully functioning solution, but I probably lack the disciplined coding style that professional teams look for.
My style makes it easy to find quick solutions to on-going problems within my day-to-day job (I’ll write about some of the things I’ve built later), but falls behind when I step up to larger projects (like I’m doing now). As I aim to build proper products in my spare time, I find it difficult to plan my way around the product as a whole, and end up building to many small parts that don’t come together well down the line. I work based on a project outline, but so many problems come up that I don’t even have the preliminary knowledge to tackle – that moving away from the original design comes too easily.
Learning Python with a project in mind makes things far more interesting. Maybe I’ll have to keep plugging away in my own style and eventually after enough practice things will go a little more smoothly.
To top things off, there’s so much information out there about the proper way to do things, that you might as well just start and figure things out along the way. That’s what I’ll be doing anyways.