8 ms·
I really, really disagree with Jeff Atwood here. Jeff has interpreted "learn to code" with "become a programmer". They're not the same thing. I don't think that
by jkahn 14y ago
I really, really disagree with Jeff Atwood here. Jeff has interpreted "learn to code" with "become a programmer". They're not the same thing. I don't think that is what this meme is about at all.
Programming is logical thinking in practise. Programming is breaking a problem set down, thinking step by step through it, thinking of edge cases, and making it work. There is nothing wrong with Jeff's BASIC example, if that is where the mayor of NYC ends up.
There was once a time when books were only read and written by an elite group. Now everyone can read - and everyone can write. There are still the elite authors that write better than the rest of us. Just because everyone can write, doesn't mean everyone is trying to be a professional author.
Computers are a part of society. To function well in society, it's beneficial to understand a little about how they work, and how to make them do things. The essence of programming is making a computer do something more efficiently than you can.
Programming isn't just the advanced stuff - recursion, pointers, functional programming, or whatever. Maybe Jeff is too far down the rabbit hole to realise this, but most people don't know what programming even looks like. They don't know how we tell computers to do the things they do. Recently I was with a customer, making notes about changes I needed to make to their application. They asked me "Is that how you make it do that?". No - that was my TODO file. And these are people that work on computers all day, every day.
It's beneficial if marketing folk understand the basics of programming when they're doing web ads. It's useful that CAD engineers know the basics so they can automate AutoCAD. Its useful that financial accountants know basic programming so they can become more efficient with analysing data.
If the mayor of NYC wants to learn to program in his spare time, why the hell not? I bet there wouldn't be the same complaints if he wanted to learn how to surf.
edit: grammar
- primecommenter 14y agoI don't understand the distinction you raise in the first paragraph. Coding is programming. Just because everyone can divide doesn't mean everyone is trying to be a mathematician, but I think everyone should (at least have the opportunity to) learn long division. Programming may not be the fourth "R", but maybe "Research" is!
- jkahn 14y agoWhen I said programmer, I meant a professional programmer - as an occupation.
- primecommenter 14y agoAs opposed to a professional "coder"? (I also see "programmer" as a more distinguished title and I prefer it to "coder" (and even "software engineer"), but I don't understand any of these terms to have any generally-accepted definition; personally it is only a matter of taste.)
- marcusf 14y agoAs opposed to vocational coding/programming/hacking. Seems like you're being facetious for the point of it?
- primecommenter 14y agoI'm not trying to be facetious, just misunderstanding whatever point original commenter is making. "Most people don't what programming even looks like"? I don't think that is true because most people can search for code samples if needed.
- jkahn 14y agoYou're missing the point there: if someone's looking for code samples, they're already learning to code.
- primecommenter 14y ago"If the mayor of NYC wants to learn to program in his spare time, why the hell not?" I agree totally, not only would it be good for him but it sets a good example for his constituency (because as a basic competence it is good for anyone).
- 14y ago
- sparknlaunch12 14y agoAgree with both sides. The meme of everyone needs to learn code needs context. Should everyone have an understanding- probably. Should everyone build a public bit of code - probably not. Coding as a hobby is great but making strategic decisions still requires experts.
- deleted 14y ago[deleted]
- andrest 14y agoWell said. I wholly agree with "learn to code" != "become a programmer". Learning programming has helped me in many other walks of life. It has taught me that every problem can be tackled with a systematic approach, given enough time. I like to think that helps me to notice things that would have gone unnoticed without. More than anything else, it is this approach, enforced by programming, for which I hold gratitude. Critical thinking.
- LostInTheWoods2 14y agoI see ... so we're watering down the profession to the point where it is all inclusive. Can I start calling myself a doctor the next time I administer first aid?
- derekp7 14y agoTo turn your statement around, are you saying that no one should bother learning first aid unless they are planning on becoming a medical professional?
- LostInTheWoods2 14y agoI am trying to say there is a distinction between those who are trained professionals and those who have basic knowledge. I am getting the feeling people are taking this issue personally. If you want to become a trained professional, please do so. As for me, I have paid my dues and consider myself one.
- sirclueless 14y agoWell, it is your camp that is equating "learning programming" with "becoming a programmer." I don't know why you should feel threatened or defensive about the fact that a lot of people want to understand your basic skill set. I don't know many mechanical engineers who discourage people from learning to fix their own cars.
- danso 14y agoThank you for saying exactly what was in my head and saving me some typing. Learning to code is to being a professional programmer as learning to write is to being a journalist/editor
- dgregd 14y agoExactly. Not everyone is going to be an engineer, accountant. Yet everyone learns math at school. Same for biology, physics ...
- slantyyz 14y agoI look at it as a useful life skill like cooking your own meals, doing your own laundry, changing a tire, making minor household repairs, etc.
- JacobAldridge 14y agoI agree - and would specifically add things like changing the washer on a leaky tap, or fixing the toilet float...you know, basic plumbing for "those who aren't plumbers".
- thijsc 14y agoI actually just had to do some basic plumbing, with duct tape :-). I'm sure glad I understand the basics of how water flows through a pipe.
- SatvikBeri 14y agoWith a couple of months of programming knowledge, I wrote a program that saved my company $2MM/year. The key was combining knowledge of the business processes with some knowledge of programming. There were people with knowledge of one or the other, but not both. I still can't write a basic app, but that doesn't matter. I can do things that provide massive value, and I wouldn't be able to do them without programming knowledge. I think Jeff is underestimating how much time the average office worker would save simply by learning Excel Macros or some basic scripting. Learning to program is really damn valuable, especially in fields where most people don't know any programming.
- arkitaip 14y agoBrilliant. Thanks for sharing.
- patdennis 14y agoI agree with this wholeheartedly. My line of work could be made much easier through some very simple software. The only reason that software doesn't exist is because (I assume that) nobody with programming knowledge understands the needs of someone who does my job. Or cares, for that matter. There aren't many of us. I'm working my way through Ruby on Rails tutorials simply because I think there's tremendous value to be created without the need for anything groundbreaking. Just tailored. And if I'm right, I'll be able to afford to hire someone to fix my crappy code.
- lifeisstillgood 14y agoIf you are right there are probably a hundred people on here able to provide a working MVP alongside you and do it faster, cleaner and pick up on solutions you cant possibly know yet. Be a domain expert. But learn to code anyway :-)
- patdennis 14y agoI'm sure anyone here could do that. But how many people here are looking for a non technical co-founder? Coders are solving their own problems, and until I can hack together a prototype I don't think I'll be able to draw any attention from real programmers.
- tibix 14y agoExactly my thoughts. For me it was like reading: "Writing is not a basic skill; we have plenty of books out there. Most people, when they learn to write, start writing books that are of awful quality!"
- eyko 14y agoAlso wanted to come here and say this, thanks for pointing it out. It's like novelists novelists being afraid of people learning to write because then they'd take their jobs or scientists being afraid that people learnt physics, mathematics, cosmology... One case I can think of... religious priests are sometimes afraid of people actually reading their religious books aren't they? :-P
- bengillies 14y ago> Programming is logical thinking in practise. Programming is breaking a problem set down, thinking step by step through it, thinking of edge cases, and making it work. If the benefit of everyone learning programming is logical/critical thinking, breaking a problem down and thinking of edge cases, etc, then why not focus on teaching everyone how to do that instead? A good way of doing that may very well be teaching some form of programming, but unless you explicitly state the goals up front a lot of people are very likely to miss the point completely and either teach just programming, or learn just how to code.
- slantyyz 14y agoYou could do that, but one of the best things with coding is that you get instant gratification and constant feedback. "Hey look, my computer just said Hello to the world!" The ability to play with scenarios while exercising your logical critical thinking and to get instant feedback is essential to learning. I liken it to the difference between learning photography in the film days vs. digital. I bought an SLR in the late 80s but it was very expensive and time consuming to get good. I had to buy and use up a roll of film, take some notes about when, where and how I made the shot, then pay to get them developed. With digital, I see the shots I make instantly, and I can make mistakes and try again without incurring constant film and development costs.
- Feoh 14y agoI couldn't agree more. If nothing else, learning to code is an incredibly useful thought experiment for anyone who enjoys using their brain in new and interesting ways. So what if you never make a cent? How many of us started coding simply because we were passionate about it and it got us excited? I can't tell you how excited I was when I wrote a simple joystick driven paint program for my Atari 400 in Atari BASIC :)
- mindstab 14y ago> most people don't know what programming even looks like My mom recently (2012) just asked me if when I'm programming, the screen is full of symbols, kind of like the matrix. Many people I know consider computers "illogical". We could do a lot to help people understand how a computer works, and the best way is through programming.
- rozap 14y agoAnd I convinced a friend of mine that in Python, we only code using the letter "s". Why do you think it's called Python, after all? She believed me.
- wes-exp 14y agoTo be fair, all programs sort of get reduced to 1s and 0s. Given this fact, I don't consider the idea of coding only with the letter 's' that much of a stretch. You know, in lisp I code with parentheses!
- dkersten 14y agoI know you're joking and this isn't really too relevant to your comment at all, but the 1s and 0s thing that non-techies fixate on is just stupid. Programming (and computers in general) have nothing to do with 1s and 0s and saying stuff like "at the end of the day, its all 1s and 0s" is like saying that at the end of the day banking just comes down to scrap pieces of pressed tree pulp or a bakers job is just about a bunch of grain or a teachers job reduces to sitting in a room for a few hours or whatever silly analogy you want to dream up. All of these things are implementation details that, really, are irrelevant to pretty much everyone everywhere. If you are dealing with low level digital systems you will encounter 1s and 0s (and analog voltage and resistance and capacitance and a whole lot more besides), but usually (especially when building something complex like a computer) this gets abstracted away pretty quickly.
- wes-exp 14y agoFor the record, I was mostly serious. I was half-joking about the Lisp part. This is not really related to your comment, but just to clarify: I'm serious that coding using just 's' doesn't sound that unreasonable. If you're a professional programmer, sure, you know you need more characters than that to be productive. But I wouldn't fault a lay-person, even one who has some knowledge of coding, for believing someone who said they programmed using only 's'. Plenty of weird programming languages are possible. Take a look at http://rosettacode.org/wiki/Reverse_a_string#Brainf.2A.2A.2A http://rosettacode.org/wiki/Reverse_a_string#Brainf.2A.2A.2A.
- demian 14y agoEven "programmer" is, in my opinion, too broad of a term. And the difference between "coder" and "programmer" is not really that clear. Every time a good term, besides "coder" and "programmer", appears, it gets overused by the wrong people and losts it's power. I strongly believe that what Jeff is describing could be called an "Information Systems Designer", but the term "Information Systems" has such a baggage of bullshit consulting that it can't be used.
- mithaler 14y agoA good friend of mine recently tweeted[0]: "Those who do not study history are doomed to repeat it; those who do not study mathematics or programming are doomed to repeat themselves." [0]: https://twitter.com/#!/Sniffnoy/status/201187266197065729 https://twitter.com/#!/Sniffnoy/status/201187266197065729
- sasha-dv 14y ago>There is nothing wrong with Jeff's BASIC example, if that is where the mayor of NYC ends up. Are you sure about it? What if he suddenly starts thinking that he actually knows what goes into building software? I have this horror scene in my mind where Bloombergs of this world are terrorizing their developers, with their "deep knowledge" of computers that they picked up by doing an online JavaScript course, I mean "code year". Democratization of programming is a lofty ideal, but in the reality anybody who wants to learn to code will do so if he has a computer. This latest fad is nothing more than a trivialization of a complex skill and an attempt by some non-technical hipsters to be even more hip. If plumbing was cool we would see the same people vowing to learn how to plumb this year.
- reeses 14y agoKeep in mind how Bloomberg made the majority of his wealth. He has an idea of how software and hardware are made, deployed, and updated.
- sasha-dv 14y agoBloomberg = a hypothetical non-techy boss
- reeses 14y agoI can't tell if you meant that in a pejorative way, but are you sure? BSEE, started a "big data" company a thousand years ago which is still the "Xerox" of its industry. I doubt he solders today, but he has the background to understand the interplay of software, hardware, delivery, etc. He has been noted to be very big into prototyping technology with his company's platform. You might say agile.
- kaiwren 14y agoThe problem is that the underlying message implies that the Mayor of NYC can be gainfully employed as a programmer after a year of solving code snippets. Which is BS and very misleading. More at http://blog.sidu.in/2012/05/everyone-should-learn-programming.html http://blog.sidu.in/2012/05/everyone-should-learn-programmin...