If you define “talent” as a product of your current ability to produce and visualize mental models of complex systems, especially “from nothing”, then it is the most defining factor for the higher maximum awesomeness of programs you can code at present.
This “talent” can be enhanced and self-improved through effort, however, in a very similar manner to making oneself more “luminous”.
Yes to all of those questions.