4 ms·
> I teach my kids that they can learn anything they are interested in. I'm sure you have some caveats to that - like learning to read, and doing basic arithmet
by blowski 14y ago
> I teach my kids that they can learn anything they are interested in.
I'm sure you have some caveats to that - like learning to read, and doing basic arithmetic. And that's the issue here. It's the 'curse of knowledge' again.
For anybody that doesn't already know how, "learning to program" mostly means learning a bit more about how computers work. And universal computer literacy would be a great thing, much as universal literacy has been.
I'm guessing that some people thought "if everybody can read and write, then we'll all become educated and be able to write great novels". Unsurprisingly, that didn't happen, but other huge benefits were accrued. People could go to the library and check whether that thing they were told was actually true. They had a cheap and simple means of permanently storing and retrieving information. Health, legal, and financial advice can be distributed much more widely.
So I totally agree with you that "everybody should learn to program" sounds very similar to "everybody can write a novel". It's wrong. But "everybody should be computer literate" is a very worthwhile cause.
What's included in basic computer literacy? Things that help people make better decisions every day of their lives. I know people that waste money, or put themselves into very difficult situations, through not understanding some of the following:
* An understanding of what happens when you turn a computer on or off. What's the difference between Office and Windows, and between OSX and Windows? Between iOS and an iPhone? I know people that have upgraded their 1-year-old computer, because they wanted the latest version of Windows.
* Basic security. Why is leaving a list of plain text passwords on your desktop (or even worse, on a Facebook note) a bad idea? Why should you avoid installing that funny game that comes with a cute emoticon toolbar?
* Difference between a markup language, a programming language, and a database. How do these systems communicate with each other? You've probably heard of people hiring a £1,000 per day IT consultant to make something bold on their homepage. Similar point about email, internet, web, and browsers. You could probably throw in the difference between being able to install Wordpress, and code a CMS from scratch here too, so that people don't pay £2K for a vanilla install.
It's fine to say "ask somebody who does know" but when you're totally clueless, it's difficult to know what questions to ask which person.
- pmcg 14y agoI agree that computer literacy is becoming as important for everyone as reading/writing and arithmetic skills. What I'm unsure about though is which specific skills and knowledge are most important. For instance, a huge number of people would benefit from more advanced skills with something like Excel, both in their home life and even more in any kind of job where you use a computer. But then there's a set of people who would benefit more from knowing how to do some other thing on the computer. Everyone's subset of knowledge of English reading/writing is only slightly different. But with computers two people can know a lot about computers but know hardly anything in common. So what should be taught? I've long thought that the most important thing is to be curious and willing to try things on the computer, because you'll end up figuring out whatever you want. But maybe there are people for whom computer skills would be very useful but they'll only learn them if it's taught. I know there are a lot of things I learned in college that I wouldn't have discovered on my own because I never would have known to read about them.
- blowski 14y agoPersonally, I think that any computer education (well any education generally) is worthwhile, but universal concepts with practical application are the most important. There are certain concepts that all advanced users of computers know, but about which there is a damaging lack of understanding amongst beginners. As an example, a basic understanding of HTTP (not necessarily calling it that) would save people lots of money on their phone bill. I know plenty of people who see "1GB download limit" on their mobile contract and think that's fine "because they never download on their phone". When you explain that downloading includes refreshing their Facebook app, checking football scores, etc, they don't understand. Nor do they understand why they always go over the download limit. So knowing what it means when you say 'download' is a universal benefit. If you're using a computer of some description in the 21st century, downloading something will be unavoidable. Conversely, you can get by on a computer without ever using Excel or any kind of spreadsheet application. So while it would be tremendously useful to a very large number of people, it's not a fundamental in the same way as knowing the difference between a file and an application.
- yesplorer 14y agoand more importantly the understanding that the gentleman across the street who's a computer programmer is not your go-to guy for computer repairs
- redsymbol 14y agoI'm guessing that some people thought "if everybody can read and write, then we'll all become educated and be able to write great novels". Unsurprisingly, that didn't happen, but other huge benefits were accrued.... So I totally agree with you that "everybody should learn to program" sounds very similar to "everybody can write a novel". It's wrong. But "everybody should be computer literate" is a very worthwhile cause. This is perhaps the most insightful comment I've encountered about computer literacy (and, maybe, literacy in general). Thank you for posting it and enlightening me a bit.
- alanthonyc 14y agoYou make a point about general computer literacy, but it misses the point of the article. OP is specifically addressing the fact that employers are trying to increase the supply of actual programmers by encouraging more people to learn to program, not just learn the difference between on or off states. It’s a non-altruistic push to increase the supply of something that is in high demand.
- blowski 14y agoIn my opinion, the OP misunderstood the article to which it was responding. From the original, original article: > What we nonexperts do possess is the ability to know enough about how these information systems work that we can be useful discussing them with others. He's not arguing that we should all become programmers to increase the number of programmers. Instead, he's saying that you cannot be effective in any role in the agency if you're not computer literate. I'm inclined to agree.
- solistice 14y agoOr to increase the supply of something you aren't willing to pay market rate for.
- SatvikBeri 14y agoI've probably posted this a dozen times, but in the past I contributed millions of dollars of value to various businesses in a few weeks with just ~6 months of programming experience. I was able to this because I recognized: 1. X is a valuable problem 2. X can be automated Other businesspeople recognized (1) and other programmers recognized (2), but nobody had put them together because the businesspeople lacked computer literacy and the programmers lacked business literacy. So I agree that even basic computer literacy skills can be enormously valuable. It's a bit of a multiplicative effect: if all you have is basic computer literacy, that's not enough. But simple computer skills + strong business skills or simple business skills + strong computer skills are both very powerful combinations.
- solistice 14y agoThe same goes for most skills though. I mean programming nicely grips and intertwines with a lot of fields, but recognizing some problem with your guitars bridge and fixing it using your engineering skills is also very much value added work. If you follow this thought that skills multiply with each other in their overall output, you'll arrive at the idea of the renessaince man, one who knows everything well.
- Retric 14y agoThe key point is programming like reading and basic math touch on a lot of areas. Where say knowing woodworking may be just as hard but is less useful in most situations.
- solistice 14y agoSo creating a wood pointing stick from a table leg during a PPT about Derivatives is not an important skill intersection? I beg to differ.
- SatvikBeri 14y agoYeah. It's hard to tell which combinations of skills will be useful. It also changes over time. Math + programming ("Data Science") is in much higher demand today than it was 10 years ago. Knowing what people want + programming is valuable because it falls into the framework of (doing the right things) + (executing well.) Then something like teaching skills + programming leads to the Khan Academy, which was something that essentially wasn't possible before. On the other hand, I would assume that programming + juggling doesn't have much synergy-it seems like most things you could do with programming + juggling could be done either with juggling skills or programming skills. Somebody will probably prove me wrong, though ;)
- gregjor 14y agoI'm all for basic computer literacy and making it easy for anyone to learn any skill, including programming. As I wrote in my TP article I am not trying to keep programming exclusive. But computer literacy has been pushed in schools since the 1990s -- I worked on several curriculum products aimed at improving basic computer literacy. I agree with Mr. McDonald that formal education at all levels is not doing a good job teaching computer literacy (or much of anything else). Programming includes computer literacy but goes far beyond basic comfort with computers and ability to use end-user tools. Mr McDonald may have been talking about computer literacy and I just missed it, but he didn't use that common term anywhere. Instead he referred to coding, programming, APIs, Python. He wrote "...you'd be well-advised to learn how to speak computer code" and "...learning basic computer language," two turns of phrase I wouldn't expect to hear from a programmer. He encourages "dabbling" with Python. He concludes with "Once you can claim familiarity with at least two programming languages, start sending out those resumes." That isn't espousing computer literacy, it's espousing learning to program. I don't disagree with Mr. McDonald's sentiments about the mismatch between jobs and college graduates, though I would look beyond the Comp Sci graduating class if I was hiring. I disagree with the idea that everyone can or should learn to program -- learn and use a computer language. That's an idea that has gained traction lately and Mr. McDonald is just repeating it in puff piece for his own company (my opinion).