Me and friend at my company were having a discussion on this topic, I thought I would share.
Company Problem:
In a leadership position you want to attempt to get a talented, preferably super star team. To assemble this team, every manager is faced with which pool of developer he/she wants to focus efforts in.
Seems the current trend with some larger companies like Google and Facebook is to hire, isolate from the workforce on a boot camp project for a few months (so employees don’t miss Josh, who was a great guy, but gone in a few months.) and then determine termination or placement into the engineering ladder. So who best to focus efforts on attempting to recruit?
His view as I understand it:
His thoughts was to pick only from the Fresh Engineers pool. Because most likely you’ll get the root skillset that drives the best engineers. Passion. With passion you can provide them a great training ground, and with the different degrees of mentoring and reviews, which can be a big help for them in the first couple of years. As a bonus, they can join at a cheaper salary.
You are less likely to find a Seasoned Engineers who has that same level of passion that’s wanted to make a good employee.
Thus, his choice, hire from fresh engineers, put them in boot camp, determine placement.
My view on this matter:
I think a Fresh Engineer should try to find a company that will truly grow him/her and fill in the gaps of education or self taught programming with experience to build a well rounded and solid engineer. However some students end up at a company and never learned the modern tools they are using. Do you really think that he/she is going to show you what a super-star they are in a few months? I don’t believe so. Most companies must hire a developer coming out of school and pay them their salary for at least a year before their return on investment starts coming back to them. But during this time the criteria of what’s considered a “super star” is set. Each company. I would even say each manager, has a different set of pre-defined criteria’s on what they consider a excellent talent.
for Seasoned Engineers. This is the engineer that you can put on the un-sexy projects, the projects that are a pretty thankless task and there isn’t really any rewards or spotlight, but are very necessary. These engineers are seasoned enough to get the job done and to not put up a big fight about going to these projects. Of course they also want the sexy projects as well, which helps them enjoy their work too. It’s tough to keep a good programmer as many many other companies will snatch up good talent.
My Conclusion
So the way I see it is that you need a mixed team of both. Fresh and Seasoned Engineers. Passion and Dedication to getting the job done. It won’t take long before the team will close the technological knowledge gap and all your engineers are within the same range skillset focused towards the overall team project outputs.
There is so many more differences I can get into between the two types of developers. But it’s not for this article.