A common complaint I hear from Programming and Development readers is that they’re disappointed with entry-level developers. These developers start the job either having way too much theory and not enough practice or being able to sort of write code but not knowing how to truly develop software.

But if entry-level developers are so unsuited for work, why do we keep hiring them? Is it a sense of gratitude to the people who gave us our first opportunity? Is it a belief that their salaries are so low that they are not a huge risk? Is it the hope that mentoring them will help them become great programmers? Is it something else entirely? Let me know what you think by taking this poll and sharing your comments in the discussion.