Is it possible to see if someone is going to be a great developer in the future? In sports it is possible so, I was just wondering if it is in the tech world.<p>What are signs to look out for?
While there are all kinds of tests and ways to measure a developer's ability, most of these are outdated and were more appropriate 15 years ago prior to mass framework adoption - developers now just aren't going to spend a lot of time doing low level algorithms, because they don't need to.<p>But the best way that I've come across is to judge character traits. Intelligent people always have listening as a core component, where as less intelligent people will be very dismissive and constantly interrupt people. These are traits you can definitely sift out in interviews.
I'd say a common framework for understanding "greatness" is to categorize it as "good with the thing" and "good with the people who are good with the thing." It's unusual for a profitable project to be small enough for one person to accomplish. Normally you need a team. So the split between "officer" and "enlisted" or "executive" and "staff" is extremely common and people normally excel at one of them, not both.<p>So a great coder will have different characteristics than a great manager of coders. The most obvious difference is probably that one has no potential for leading until they at least acknowledge the possibility of empathy being maybe a little bit important. If they aren't open to that, then they're in the "coder" category by default.<p>So, in that "coder" category, building on your sports analogy, technical experts first shake out unfairly based on natural talent and what resources (human, material, etc) they happen to have. After that it's all about hard work and creativity. If they coast on their random starting stats they go into the "won't be a great coder" category by default.