There's 2 levels to programming in my mind.
There's the coding part which requires specific knowledge, training and skills - and then there's the "problem solving" part which requires creativity, experimentation and a bit of a sense of adventure.
Both are about 50/50 in terms of value, but personally I think the problem solving half is something that should be taught / gained first, and then the coding should follow as the programmer settles into a language or skillset.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.