There are a lot of ways of building software, there are many languages you could choose to build it with, many libraries to rely on, many frameworks to leverage, many architectural approaches, many platforms to choose, many paradigms of daily operations to follow. It takes years to get in-depth experience with just one permutation of these options. I’ve been programming for over twenty years, only half the time professionally, but that is how long I’ve been building software.