Self-made<p>And if you don't like doing something, you won't invest yourself in getting better.<p>And if you love doing something, you won't really mind the drudgery of getting better.
People are great programmers when they're working on something that they're interested in and the feel like they're making progress on something, and learning things from other great programmers. Hiring is part of this, because not only should the employer (meaning the team members) be evaluating for this but the potentially great new programmer should also be trying to determine if this is somewhere they can be great.
Having been in the "real world" for a while (graduated college recently), it's been striking to me just how many people in the world aren't self-motivated. My memory of the Googlers I've worked with suggests that Google tends to end up with more self-motivated people than average, and maybe that's at least part of what they're filtering for?
Made.<p>Smart. Motivated. Works well with others. Has passion. Good problem solver. Detail oriented. Able to focus.<p>In order to be a great programmer, how many of these are important? All of them.<p>How many are necessary? None of them.<p>I once had a calculus professor who said, "Many students are simply unsuited for the sciences."<p>I disagreed with him then, and after many years of work experience, I disagree with him more than ever. I firmly believe (with some exceptions) that almost anyone can become great (or at least very good) at almost anything. I've seen it over and over again.<p>I have worked with hundreds of programmers over the years and screened thousands of others.<p>Almost all of them consistently delivered substandard work. Not because they weren't smart or motivated or capable. More likely because they weren't taught properly and were in terrible environments.<p>Teach someone how to do the job properly, give them an environment in which they can thrive, give them a chance to do quality work, and treat them like human beings. Then watch what happens.<p>But companies are too stupid or lazy to do this, so they think they'll just hire talent and dump them into their already sour environment. Fix the environment and let regular people become great.<p>Made.