Re:I self-learned to code at 30
by Jtsummers on Wednesday March 17, 2021 @11:27AM
(#26492554)
I think that the idea that everyone can learn to code is an exaggeration, in the same way not everyone can learn arithmetic and algebra (that is, some people are literally incapable of learning it, others end up with such severe anxiety they become incapable of it though it's not a technical incapability). However, I do believe that anyone capable of learning arithmetic and algebra can learn programming, though perhaps only to a certain level. And that doesn't necessarily lead to a a career in programming.
Take VBA + Excel, for example. I've seen many non-programmers (by education or trade) pick it up to solve real problems within their offices. It's certainly not my tool of choice, but the level they pick it up to is basically the arithmetic/low-algebra level. They aren't making software for a living, but they are making software to support their living (that is, they're engineers or accountants or administrators who make something that solves a problem, but not software engineers/programmers in general). Their understanding is at the arithmetic/low-algebra level in that they can do it, but don't necessarily understand (fully) what they're doing (they know what variables are, and use them correctly, but maybe don't understand or even know about scoping rules).
The next level involves actually learning scoping rules and how to apply them. How to create new classes/modules and not just by rote imitation. How to "factor" your program into collections of procedures on data structures. This is the algebra level, this is the point where people can start actually becoming professional programmers (more reliably, you can become a professional at the previous level but you'll be constrained in what you can make by what you can understand).
Take VBA + Excel, for example. I've seen many non-programmers (by education or trade) pick it up to solve real problems within their offices. It's certainly not my tool of choice, but the level they pick it up to is basically the arithmetic/low-algebra level. They aren't making software for a living, but they are making software to support their living (that is, they're engineers or accountants or administrators who make something that solves a problem, but not software engineers/programmers in general). Their understanding is at the arithmetic/low-algebra level in that they can do it, but don't necessarily understand (fully) what they're doing (they know what variables are, and use them correctly, but maybe don't understand or even know about scoping rules).
The next level involves actually learning scoping rules and how to apply them. How to create new classes/modules and not just by rote imitation. How to "factor" your program into collections of procedures on data structures. This is the algebra level, this is the point where people can start actually becoming professional programmers (more reliably, you can become a professional at the previous level but you'll be constrained in what you can make by what you can understand).