I think the real takeaway from this is good programmers code, great programmers solve problems. Writing computer code is the means to the end, not the end itself. So we need to learn something else to go along with it. It could be farming. It could be business or finance. It could be sports and fitness. Preferably different people will fall into different categories.
The analogy isn't perfect, but think of learning to code in the classical education trivium. The grammar stage consists of learning languages and syntax and what different types of programs you can build. The logic stage is using that information to build working software. The rhetoric stage is learning what types of programs to build.
The problem with "great programmers solve problems" is that great programmers are often reluctant to solve problems that don't involve programming.
Farming is interesting because you need to make use of all of the tools at your disposal (including programming, electronics, mechanics, etc.) to solve the problems of the farm – of which there are many!
Students often have difficulty seeing the forest for the trees. The purpose of teaching coding may be to teach analytical skills, but the students will only see coding. Very few will know how to take those lessons and apply it to, say, a mechanical machine to automate their life.
Great people solve problems – the tool they use doesn't matter. I do think learning to farm would go a long way to instil that in students.
The analogy isn't perfect, but think of learning to code in the classical education trivium. The grammar stage consists of learning languages and syntax and what different types of programs you can build. The logic stage is using that information to build working software. The rhetoric stage is learning what types of programs to build.