If you're just looking for programming talent sans coding skills. Have them play SpaceChem and observe how they approach problem solving.
That game has a seriously steep learning curve that includes the logic of computer programming with the science of chemistry; yet, it requires zero actual coding skills.
Programming analogues include:
- in-order execution
- synchronization primitives
Source : SpaceChem Official Site
You start by building basic molecules from primitive elements and quickly advance to complex molecules. Just when you think you get the hang of building complex molecules, conditional branching, path synchronization, and handling random inputs; they add a higher level of abstraction. The next step is to create multiple reactors to construct the correct molecules by breaking down, combining, discarding, rearranging, bonding, existing molecules to be passed down the chain for the processing again in other reactors.
It's easy to brute-force solutions at the beginning. As the problems start to become more complex the player will have to figure out how to optimize their solutions to fit within the finite space/time requirements. Optimization, requires a greater understanding of the whole as well as the individual working parts. Eventually, the problems become complex to the point where the ability to manage complexity becomes as important as raw problem solving skill.
I have never encountered a game that models programming composition so well without having to write any actual code. Solving problems requires extensive testing, experimentation, optimization, tweaking.
Programmers will quickly and intuitively discover that there's no 'right' answer. While it's fast/easy to bang out a brute force solution in the beginning, taking the time to go back to decompose and optimize simple problems leads to insight that pays off when the complexity increases. A non-programmer will simply give up and write off the game as 'too hard' and give up before attempting to gain a deeper understanding.
Like programming, it requires the player to simultaneously manage many different levels of abstraction. The sheer number of possible correct approaches combined with the different levels of optimization leave a lot of room for creativity and craftsmanship. Sometimes the best answer is the result of a perfectly arranged, timed, synchronized arrangement. Other times it can be a result of thinking outside of the box and applying a non-conventional approaches.