Hold your horses. The summary of that article does not offer any proof of what the title says.
* It's a small sample, and they did not analyze the people who didn't complete the course. That's dubious. Those 6 could have had a massive influence on the outcome.
* The summary does not present the actual numbers. These are: "fluid reasoning and working-memory capacity explained 34% of the variance, followed by language aptitude (17%), resting-state EEG power in beta and low-gamma bands (10%), and numeracy (2%)". Note: numeracy, not math.
* The test result was only partially programming related. 50% consisted of the results of a multiple choice test with questions such as What does the “str()” method do?. Linguistic knowledge indeed.
* It's about completing a 7.5 hour Python course. That's learning indeed, but only the very beginning, where abstraction is not in play. The early phase is about welding bits of syntax into working order.
* The numeracy skills required are very low for such tasks, as the tasks are simple, and mainly require thinking in steps and loops, whereas numeracy aptitude is generally measured on rather problems involving fractions.
Edit: the paper uses the Rasch-Based Numeracy Scale for this, which seems to involve estimation and probabilities.
* 17% explained variance is a rather minimal result, and you cannot easily compare factors in such a small design, even if the other one is only 2%. That's a rather hairy statistical undertaking.
* Linguistic expedience might be explain the speed with which the course was followed, since the instruction is, obviously, linguistic. Hence, this factor is not necessarily related to the actual learning or programming.
* The argument from beta waves is clutching at straws.
* The argument that "perhaps women should have more of a reputation for being “good” at programming" because they score better on tests, is --however well meant-- utterly ridiculous. It reverses correlation to causation and then turns that into a fact.
* That linguistic skills are useful for programmers is widely understood. However, this is not because of the actual coding, but because the coder needs to understand the environment, the specs, the users, etc., all of which is transferred via language.
* And of course, the statistical result relies on Null Hypothesis Test Significance, which is rotten in its very foundations.
* Note that the CodeAcademy course "Learn Python 3" is 23 hours in 14 lessons.