Average versus Great Programmers
NOTE: I am going to tweak the question a bit due to the responses that I received.
Based strictly upon programming skills is there room in a company for average programmers?
Reasons Strictly Based on Programming Skills:
- A company can have different levels of programmers (ex – entry, junior, senior)
- They can play a role on the team or in the company.
- They have the potential to become better and grow.
- The company as the ability to mold and train as they see fit.
Reasons not Based on Programming Skills:
- The programmer may have other abilities that can contribute to the team (this is the most important point). Such as leadership, drive, communication skills, etc.
- The programmer may work well with the team.
All of these reasons seem to validate the hiring of “average” programmers.
The most interesting point is the other skills that the programmer possesses. An individual can be a great programmer but not have any communication skills or has poor teamwork. A programmer must be able to program but taking into account potential growth and other non-programming related skills is extremely important when deciding between a good and great programmer.
The balance of the software team also needs to be considered. Having two really great programmers may cause some animosity to the team. Having a good team is the key to success.