> If you have some person who did a lot of work in RoR, but you have a Py/Django project, couldn't you expect him to get up to speed reasonably quickly?
I wonder what is the average time for an experienced engineer to transition into a different, but similar technology (like RoR -> Django) and be able to work productively in it.
It can’t be very long. Maybe 2 weeks? If you had a number, you could calculate the costs as part of a standard onboarding process. You’d just need to make sure that you hire someone who can demonstrate a willingness to learn the new thing.
This seems like it could be much cheaper than hiring an expert with the most years of experience in the particular combination of technologies in your stack, without compromising on quality.
And the perspective from someone with a breadth of knowledge is more likely to yield innovations that provide your company/project with a competitive advantage, compared to the expert that has been working on the same thing for many years.
> I wonder what is the average time for an experienced engineer to transition into a different, but similar technology (like RoR -> Django) and be able to work productively in it.
As someone who's done this probably too many times (Perl cgi -> cakePHP -> Play framework -> Spring -> Node.js/Express -> Flask -> Sinatra) I'd say your two week estimate sounds about right, at least given my personal experience.
After switching you quickly notice patterns and apply your past experience from other languages and frameworks. After a few weeks to a couple months you produce idiomatic code indistinguishable from your peers.
And those examples are just web framework transitions. As someone with not enough sense to stay put, I've wandered as far as:
* embedded C and assembly for microcontrollers
* writing kernel modules and device drivers
* designing, programming and assembling custom hardware (pcbs, enclosures)
* writing mobile applications (iOS/hybrid)
* being a frontend engineer (jQuery -> moo -> knockout -> backbone -> redux+react)
I've jumped fields from robotics research, social networking, healthcare, fintech, and consumer electronics.
It's been a wild ride and looking back I honestly wouldn't change much in hindsight.
As a generalist I work best on the early side of projects where I end up "wearing lots of hats." 'Tend to stick to a place for 5 or so years until everyone becomes specialists, then move on. As you say though the key is the willingness to learn.
As far as your point on generalists being cheaper than experts--I've found that pay honestly has more to do with soft skills than "expertise." (Good communication, self advocacy skills, etc.)
I wonder what is the average time for an experienced engineer to transition into a different, but similar technology (like RoR -> Django) and be able to work productively in it.
It can’t be very long. Maybe 2 weeks? If you had a number, you could calculate the costs as part of a standard onboarding process. You’d just need to make sure that you hire someone who can demonstrate a willingness to learn the new thing.
This seems like it could be much cheaper than hiring an expert with the most years of experience in the particular combination of technologies in your stack, without compromising on quality.
And the perspective from someone with a breadth of knowledge is more likely to yield innovations that provide your company/project with a competitive advantage, compared to the expert that has been working on the same thing for many years.