3 ms·
As many others have pointed out, I think there are two sides to non-professional* coders learning to code, one of which I agree with wholeheartedly, the other I
by singular 14y ago
As many others have pointed out, I think there are two sides to non-professional* coders learning to code, one of which I agree with wholeheartedly, the other I disagree with, equally wholeheartedly:-
* As in paid to sling code - I don't mean to cast elitist aspersions with the term 'professional'.
The Good
Learning to harness the amazing realm of creativity that computers offer - unlike other fields of engineering, you aren't limited by the need for millions of pounds and a team of people to turn your idea into reality, nor are you constrained by the laws of physics or possibly killing people should your calculations turn out to be incorrect.
For example, I am slowly writing a chess engine, it's such a joy to explore that because I want to and it's interesting to me.
There is a core kick that many people get out of programming, which is when you actually get something working, knowing that you made the computer do that. I wouldn't want to take that away from people.
Another aspect is that, should somebody learn enough to make some aspect of their life easier, that could even be simply learning some vba to automate some process which used to take them several hours, that's worth a lot too.
The Bad
People thinking that coding is easy and straight forward, simply because they've learnt to do something trivial or played around with code a little bit. I have met several professional programmers who have had the same opinion and then gone on to produce the most horrendous, unmaintainable, broken code imaginable and get paid a lot of money to do it all the while producing quite awful software.
I wholeheartedly agree with Jeff's point that this sort of attitude is not something we ought to encourage. If people more generally think of coding as something easy, then the kind of programmers who produce shitty code and think it's fine will be emboldened and we will be doomed to experience yet more broken software in the world. That's the last thing we need.
There's a element of pride in all of this, admittedly, but it's still a very real issue. Good programmers don't get enough respect, nor does good programming and we don't want to play with that.
The cooking example cited by shin_lao is a great analogy - you don't want to discourage people from coding, quite the opposite, but don't think what you do is the same as Pierre Gagnaire, or even the guy working in the kitchen of that cafe you like down the road.
I do want to add that yes, the good can lead to a good professional programmer, but it's critical that it be realised that, as Jeff says, you need to put in your hours, whether the Gladwellian 10k figure is accurate or not.
- mindcrime 14y agoI wholeheartedly agree with Jeff's point that this sort of attitude is not something we ought to encourage. If people more generally think of coding as something easy, then the kind of programmers who produce shitty code and think it's fine will be emboldened and we will be doomed to experience yet more broken software in the world. That's the last thing we need. I sort of agree with you, but this also strikes me as something of a vacuous truth. I mean, think about applying it to any other domain: Does the fear that homeowners will start thinking of plumbing as "easy" and start overreaching their abilities mean we should quit selling monkey wrenches at Home Depot? Does the fear that auto owners will experience delusions of grandeur and start thinking of themselves as professional mechanics mean that Sears should quit selling Craftsman wrenches and Chilton repair manuals? Etc., etc. The point is, all fields have a range of knowledge and skills from total n00b, amateur, up to professional. And in every other field, amateurs and professionals co-exist peacefully, and no one seems to be arguing that we should prohibit minor home repairs by home owners, oil changes by car owners, etc. I don't see why programming should be any different. If business people learn to write a few Excel macros, or even some small Perl, Python or Groovy scripts, that's not going to hurt those of us who are working professionally in this field.