I think your constant is way too high, if a new hire can't get up to speed in six months and is still floundering after two years then I don't think the right hiring decision was made.
How long does it take for an architect to master autocad or a visual designer to master illustrator? Would you expect to hire either if they didn't have mastery of those tools? If not, then why do we expect programmers to master languages and platforms more quickly?
How long does it take for an architect to master autocad
A hell of a lot less time than it takes to master architecture.
Would you expect to hire either if they didn't have mastery of those tools?
Back when I worked at a 3D animation studio they hired a a guy who had literally never used a 3D animation or modeling package before. He had however spent 20+ years doing concept and character design, sculpting, stop motion animation and model building. It took him about 8 weeks to become proficient enough at Maya to start turning out character models that outshone most of the others (admittedly at a much slower pace). He could also just look at other peoples models and instantly spot subtle changes that totally transformed the models.
Basically if you're hiring an architect or designer based or their mastery of software, you're probably doing it wrong.
A hell of a lot less time than it takes to master architecture.
Autocad takes more that a few years to master, your architecture degree is only like 5 years + an apprenticeship. Yes, you will master autocad before architecture, but you will likely not have time to master any other competing cad package that doesn't greatly resemble it (hence, lock in extreme), if you also want time to master architecture.
Basically if you're hiring an architect or designer based or their mastery of software, you're probably doing it wrong.
Think of this as a bare minimum. You don't want to hire a young visual designer who doesn't have adobe CS proficiency. Of course, they should be good designers also. But you might make an exception for someone senior (experienced) who predates Adobe and does everything the old fashioned way; their skills are still very useful.
I've never been involved in any hiring 3D artists.
Well I'd say the jump from java to python would be akin to jumping from autocad to a different CAD tool. You're not completely starting over, there's some things that carry over (and I'm not a manager fyi :)).
How many years does it take to ramp up on Linux or windows...I mean the source code?
I hate mangers who think like you, they think developers are basically interchangeable without specialties that took substantial time acquire. As if our investments were always in the six month range!?! How about 5 or 10 years of deep experience?
> I hate mangers who think like you, they think developers are basically interchangeable without specialties that took substantial time acquire.
I hate managers (and other programmers, but managers are more problematic) who think that languages are specialty of programmers rather than a tool. "C#" isn't a programming specialty any more than a particular model of chef's knife is a culinary specialty.
Web Application development might be a specialty. OS development might be a specialty. Java is a tool.
C# is not a specialty by itself, but ASP.net is! WPF? WCF? Some of these libraries are very deep. You perhaps have a chance if the dev is familiar with a similar domain stack.
Knowing Scala is not just scala + scala.lang, but rather it involves knowing and mastering a bunch of libraries, as well as some heavy frameworks (lift or play?).
Anyone (manager or programmer) who thinks of languages in isolation of stacks and platforms is probably an academic or incoherent.
Languages are not tools, they are merely starting points to something much more complex and involved. "Can I learn Haskell in 6 months?" Sure! Can "I master whatever library/stack that I'm learning Haskell for?" It depends very much on what that is and my past experience, and the answer is probably not!
I was able to learn Clojure in half an hour. How? Easy - I knew Scheme already, so the only thing I had to pick up was a bunch of reader macros, like [ or { or :.
I was able to learn Smalltalk in a day. It has stupidly simple syntax - one of the simplest in existence! - and there are objects everywhere - and we all just know objects, right?
That's stupid.
As I noted above, knowing a language and knowing how to use a language are two different things. To really master a language usage you have to learn and internalize a whole bunch of things, from which the language itself is the smallest bit.
Comments
I think your constant is way too high, if a new hire can't get up to speed in six months and is still floundering after two years then I don't think the right hiring decision was made.
How long does it take for an architect to master autocad or a visual designer to master illustrator? Would you expect to hire either if they didn't have mastery of those tools? If not, then why do we expect programmers to master languages and platforms more quickly?
How long does it take for an architect to master autocad
A hell of a lot less time than it takes to master architecture.
Would you expect to hire either if they didn't have mastery of those tools?
Back when I worked at a 3D animation studio they hired a a guy who had literally never used a 3D animation or modeling package before. He had however spent 20+ years doing concept and character design, sculpting, stop motion animation and model building. It took him about 8 weeks to become proficient enough at Maya to start turning out character models that outshone most of the others (admittedly at a much slower pace). He could also just look at other peoples models and instantly spot subtle changes that totally transformed the models.
Basically if you're hiring an architect or designer based or their mastery of software, you're probably doing it wrong.
A hell of a lot less time than it takes to master architecture.
Autocad takes more that a few years to master, your architecture degree is only like 5 years + an apprenticeship. Yes, you will master autocad before architecture, but you will likely not have time to master any other competing cad package that doesn't greatly resemble it (hence, lock in extreme), if you also want time to master architecture.
Basically if you're hiring an architect or designer based or their mastery of software, you're probably doing it wrong.
Think of this as a bare minimum. You don't want to hire a young visual designer who doesn't have adobe CS proficiency. Of course, they should be good designers also. But you might make an exception for someone senior (experienced) who predates Adobe and does everything the old fashioned way; their skills are still very useful.
I've never been involved in any hiring 3D artists.
Well I'd say the jump from java to python would be akin to jumping from autocad to a different CAD tool. You're not completely starting over, there's some things that carry over (and I'm not a manager fyi :)).
Do you have any data on this, or are you guessing?
Six months is an estimate - it obviously depends on what you're working on. The two years I'd be willing to bet on.
How many years does it take to ramp up on Linux or windows...I mean the source code?
I hate mangers who think like you, they think developers are basically interchangeable without specialties that took substantial time acquire. As if our investments were always in the six month range!?! How about 5 or 10 years of deep experience?
> I hate mangers who think like you, they think developers are basically interchangeable without specialties that took substantial time acquire.
I hate managers (and other programmers, but managers are more problematic) who think that languages are specialty of programmers rather than a tool. "C#" isn't a programming specialty any more than a particular model of chef's knife is a culinary specialty.
Web Application development might be a specialty. OS development might be a specialty. Java is a tool.
C# is not a specialty by itself, but ASP.net is! WPF? WCF? Some of these libraries are very deep. You perhaps have a chance if the dev is familiar with a similar domain stack.
Knowing Scala is not just scala + scala.lang, but rather it involves knowing and mastering a bunch of libraries, as well as some heavy frameworks (lift or play?).
Anyone (manager or programmer) who thinks of languages in isolation of stacks and platforms is probably an academic or incoherent.
Languages are not tools, they are merely starting points to something much more complex and involved. "Can I learn Haskell in 6 months?" Sure! Can "I master whatever library/stack that I'm learning Haskell for?" It depends very much on what that is and my past experience, and the answer is probably not!
I was able to learn Clojure in half an hour. How? Easy - I knew Scheme already, so the only thing I had to pick up was a bunch of reader macros, like [ or { or :.
I was able to learn Smalltalk in a day. It has stupidly simple syntax - one of the simplest in existence! - and there are objects everywhere - and we all just know objects, right?
That's stupid.
As I noted above, knowing a language and knowing how to use a language are two different things. To really master a language usage you have to learn and internalize a whole bunch of things, from which the language itself is the smallest bit.