You touched on something important here. The most important hurdle I have to overcome with students is making them feel empowered and needed so they care about coding. Afterwards, the problem solving skills become easier to teach.
If you are the only carpenter in town and your family needs a home, you can absolutely care enough to become a professional carpenter.
You can also develop the aptitude and interest to become a professional plumber if you feel valued and people around you needed a great plumber.
If you are the only carpenter in town and your family needs a home, you can absolutely care enough to become a professional carpenter.
I disagree and what I’ve seen and read of people doing their own construction work seems to back me up. If you’re the only skilled person in town and you need a home, then you’ll probably be able to knock something together. But will that structure be safe? Will it keep out the rain in a storm? Will it keep out the wind in winter? Will it work reasonably well immediately after you’ve built it or will it require constant patching for months or year before it finally becomes usable?
All of these questions have fairly direct analogs to programming. I do think there are differences between programmers that speak to aptitude differences, rather than differences of experience. When comparing two programmers with roughly equivalent amounts of experience, I have noticed that some programmers just “get it”, whereas others don’t. Their first solutions are faster (often algorithmically faster). They’ve thought through more edge conditions. Their code is simpler and easier to read.
I agree that even a less talented programmer, perhaps with coaching and assistance, will eventually be able to arrive at the solution that the more talented programmer arrives at immediately. But it doesn’t matter. By the time the less talented programmer has found the best solution for problem 1, the more talented programmer has moved on to problems 2, 3, 4 and 5. This is definitely noticeable over a 6-12 month period, and it’s likely that the less talented programmer will be eased out of the organization.
I don’t know if these differences are due to IQ or the lottery of fascinations. I suspect it’s both. However, it is plain to me that there are differences in ability between programmers who have equivalent experience, and these differences do go some way towards determining who is successful as a programmer and who isn’t.
Nature vs nurture. I agree there are less competent people. I believe their incompetence is due to nurture. Anything nurtured can be unlearned.
One year is a long time. I believe that less competent people, over time, could be nurtured into great people with the right mentorship. 10 years of good strong mentorship could make incompetent person a great person.
We may have a disagreement based on 1st principles, which is okay. I’m glad we got down to that.
You touched on something important here. The most important hurdle I have to overcome with students is making them feel empowered and needed so they care about coding. Afterwards, the problem solving skills become easier to teach.
If you are the only carpenter in town and your family needs a home, you can absolutely care enough to become a professional carpenter.
You can also develop the aptitude and interest to become a professional plumber if you feel valued and people around you needed a great plumber.
I disagree and what I’ve seen and read of people doing their own construction work seems to back me up. If you’re the only skilled person in town and you need a home, then you’ll probably be able to knock something together. But will that structure be safe? Will it keep out the rain in a storm? Will it keep out the wind in winter? Will it work reasonably well immediately after you’ve built it or will it require constant patching for months or year before it finally becomes usable?
All of these questions have fairly direct analogs to programming. I do think there are differences between programmers that speak to aptitude differences, rather than differences of experience. When comparing two programmers with roughly equivalent amounts of experience, I have noticed that some programmers just “get it”, whereas others don’t. Their first solutions are faster (often algorithmically faster). They’ve thought through more edge conditions. Their code is simpler and easier to read.
I agree that even a less talented programmer, perhaps with coaching and assistance, will eventually be able to arrive at the solution that the more talented programmer arrives at immediately. But it doesn’t matter. By the time the less talented programmer has found the best solution for problem 1, the more talented programmer has moved on to problems 2, 3, 4 and 5. This is definitely noticeable over a 6-12 month period, and it’s likely that the less talented programmer will be eased out of the organization.
I don’t know if these differences are due to IQ or the lottery of fascinations. I suspect it’s both. However, it is plain to me that there are differences in ability between programmers who have equivalent experience, and these differences do go some way towards determining who is successful as a programmer and who isn’t.
Nature vs nurture. I agree there are less competent people. I believe their incompetence is due to nurture. Anything nurtured can be unlearned.
One year is a long time. I believe that less competent people, over time, could be nurtured into great people with the right mentorship. 10 years of good strong mentorship could make incompetent person a great person.
We may have a disagreement based on 1st principles, which is okay. I’m glad we got down to that.