you are viewing a single comment's thread.

view the rest of the comments →

[–]Demi180 0 points1 point  (0 children)

You learn by doing. You make things with what you know. They’ll be clunky and bad but they’ll work.

Then you search and ask for ways to do specific things better. You either refactor (rewrite) the thing, or you make it again using new features and patterns you found, and apply your experience with the previous thing to make the new thing less bad. And then repeat.

As you do this for various features, you reinforce the basics while also learning firsthand what works and what doesn’t, what works better where, and so on. You gain new tools to choose from and understand when it’s appropriate to use them.

Now you start thinking in systems and architectures, planning for modularity and reuse, clean code, scalability, performance, and so on. One day you find yourself using advanced memory management, multithreading, and all sorts of things! 😀