I think it depends on what you mean by proficiency. An often quoted figure is 10,000 hours to master any certain domain. Working 8 hours a day non-stop, that would amount to 1,250 days or about 3.5 years if you worked every single day of the year.
It depends on the starting point. Someone who had been developing, say, Windows Forms GUI applications in C# for three years, switching to PHP doing web applications, should not take 3.5 years to be considered proficient. Maybe a week for the language and a passing familiarity with the basic libraries you’ll be using, at which point you can make your first useful commit. A month and you’ll be reasonably fast. Six and you shouldn’t be consulting documentation very often at all. At 3.5 years, you should be an expert.
But if you’re starting with no programming knowledge at all, then you’ll need those ten thousand hours. Or to put it in more practical terms, college plus three years job experience. But college is inefficient and inconsistent for this purpose.
I think it depends on what you mean by proficiency. An often quoted figure is 10,000 hours to master any certain domain. Working 8 hours a day non-stop, that would amount to 1,250 days or about 3.5 years if you worked every single day of the year.
It depends on the starting point. Someone who had been developing, say, Windows Forms GUI applications in C# for three years, switching to PHP doing web applications, should not take 3.5 years to be considered proficient. Maybe a week for the language and a passing familiarity with the basic libraries you’ll be using, at which point you can make your first useful commit. A month and you’ll be reasonably fast. Six and you shouldn’t be consulting documentation very often at all. At 3.5 years, you should be an expert.
But if you’re starting with no programming knowledge at all, then you’ll need those ten thousand hours. Or to put it in more practical terms, college plus three years job experience. But college is inefficient and inconsistent for this purpose.