6 ms·
What an ego shattering revelation it would be if it turned out just about everyone can be good at coding. Being able to code is what qualifies us to know everyt
by decremental 5y ago
What an ego shattering revelation it would be if it turned out just about everyone can be good at coding. Being able to code is what qualifies us to know everything about everything!
- baash05 5y agoSee it's not really ego. I'd say most people could be good at coding. But most people could be good electricians, and plumbers and mechanics, and carpenters, and ... well and heaps of other things. It's that it all takes training, and time in. It all takes reading and learning new things. It's not a question of could they be good. It's a question of, do they want to. I don't think most people want to be good at it.
- solarmist 5y agoTechnically accurate, but not practically true. If you've ever needed to teach someone patience, you'd see the futility of trying to teach a random person programming. Nowadays, I will tell people straight out I can't see them dealing with the frustrations long enough to develop the patience needed to learn the basics.
- baash05 5y agoI never teach people to code. I ask them what they want to build, and then we work to building that. People don't need to be patient. Beyond assignment, if, for and while, just make sure they use good variable names and function names. Code reviews take care of the rest.
- solarmist 5y agoIf learning your first programming language doesn't require patience, I don't know what the word means. I've never met anyone who wasn't frustrated for at least the first few months trying to get even basic programs working. The syntax is orders of magnitude less tolerance of mistakes than any other subject.
- baash05 5y agoNot sure a doctor would agree with that last sentence. Or even a carpenter really. Cut that bit off at the wrong angle and it's not something you're coming back from. Cut a line of code wrong and the test fails, and you try again, and again and again.
- baash05 5y agoI should say.. they don't need to be more patient than most other trades. To get good they need to practice and learn. What I do think coders need to know is that they are building on quick sand. That bit is the only thing I think we do that other trades don't. We can never rest, because as soon as we stop for a breath we start to sink and fall behind.
- solarmist 5y agoI’m not talking about the importance of mistakes or likelihood of making them. I’m talking about the literal binary nature of the (syntax) mistakes. From day 1 to day infinity a single misplaced character is more likely than not completely unacceptable. But for any physical skill you have some notion of tolerance. Whether that’s millimeter or micrograms things aren’t absolute in the way they are with programming.
- telxosser 5y agoSpot on. I think a piano is the best example. No one sits down at the piano and can just rip the first time. Almost anyone though can learn to play piano if they practice enough. You don't have to be the best in the world either to make good music. Then there is a huge difference between being a great piano player and being a great composer of music in a creative sense. Culturally though, I would think we are going backwards. I feel like I would know so much less in this area if I was 25 years younger and grew up with a phone instead of a PC.
- solarmist 5y agoThere's nothing special about software engineering beyond: - meticulous attention to detail, - explicit deductive reasoning, - an ability to understand and build abstractions, - a high tolerance for frustration, - and a love of instant gratification when things work. None of these are rare traits. But the cluster of traits isn't widespread. Which is to say it's not common among people in general, but also not unusual.
- akavi 5y ago"Explicit deductive reasoning" is pretty darn rare. (and "meticulous attention to detail" is not strictly necessary, as my own career attests.)
- solarmist 5y agoIt is, but we have a repeatable process for teaching it. And it CAN be learned by anyone with a patient teacher and several years. I'd disagree. Debugging IS meticulous attention to detail. A single misspelling is often fatal. And if you've figured out how to program without debugging I'd love to know your secret. I'd guess your baseline for that metric is enormously skewed by the people you spend time around. Even completing Algebra 2 requires meticulous attention to detail.
- briHass 5y agoAnd, as captured in many of those points, a relatively high IQ. Almost certainly at least 1 SD above the mean, and in many cases (complex software), closer to 2 SD.
- Zababa 5y agoYou can add to that being able to work in group.
- solarmist 5y agoI wish that were a requirement. It is not.
- incompatible 5y agoMy impression is that most people can't be good at it because they have no interest in it, and no willingness to spend time on it, learning and practising.
- solarmist 5y agoI see it even more simply. Most people can't handle something being so stupid and frustrating. And the bigger their delusions on how smart computers are the less possible it is.
- baash05 5y agoThis is so perfect.
- baash05 5y agoToo true.. But is there a trade you can't say that about. I suck at guitar and skateboarding. I suck at car repair and carpentry.