9 ms·
So You Want to be a Programmer
- siavosh 14y agoI too felt a lot of readers had the wrong reaction and mis-interpreted Jeff Attwood's original post. I was an undergrad in the tech bubble a decade ago. CS was the most in demand and popular major on campus. When the bubble burst, a lot of my former classmates abandoned programming. I was not surprised. A lot of them were CS majors because that's where the money/attention/parent pressure/sexiness was during the bubble. The moment it faded they left for greener pastures. They had realized, very abruptly, they were miserable during those long lab hours and hated debugging at 2AM before a deadline. Coding is a beautiful and difficult thing, but like any career, it can be very tough sometimes. As Jeff says, the only path to happiness is to follow your love (or as Bret Victor would say, follow a principle). The challenge now is the same as a decade ago: quieting all that noise and figuring out what you really want to do.
- koide 14y agoI don't understand this. Doing a couple hours a week learning Javascript and you will now change careers? Or, inversely, learning Javascript on Codecademy will get you a lucrative job on frontend programming, if you are not talented? Yes, of course doing what you love and striving for excellence and doing your research on your own are all great admirable things everyone should do. But they are hard, and not at all at odds with this tiny time investment. What's all the fuss about? Let people do what they want to and get off the high horse, unless you are pulling people up with practical contributions, not just "don't do this"
- slantyyz 14y agoDuring the last bubble, the hot scam was for "private vocational schools" to advertise to recent grads (i.e., fine arts and social sciences majors) to develop tech skills to help them get a job. The company I was at was looking for cheap labour and hired several of these people who paid a small fortune for a six month "intensive" course. Needless to say, they were all duds looking to cash in on a hot job market.
- koide 14y agoAt least the companies now will save the small fortune, they'll just point the duds to Codecademy/Udacity/Coursera. People like the ones you mention will always exist, but they are not Codecademy's responsibility. It's even likely they would find a place where you get a relatively respected diploma instead of a certificate in PDF.
- huggyface 14y agoI too felt a lot of readers had the wrong reaction and mis-interpreted Jeff Attwood's original post. I have a personal peeve for the desperate pivots of a piece to try to see what can stick. It's bad enough when an original author does it, but even worse when fans of the author did it. His original piece was asinine. Perhaps intentionally, because its easy-to-refute nature saw it linked by the thousands, everyone lining up to take an easy hit. And now they'll link to this for followup points.
- Vadoff 14y agoI was an undergrad in the tech bubble a decade ago. CS was the most in demand and popular major on campus. It's funny, this again seems to be the case at a lot of universities today.
- j2labs 14y agoUgh. This again... Zed slayed this debate but I guess the horse is still twitching.
- Jach 14y ago"To win, you must fight not only the creature you encounter; you must fight the most horrible thing that can be constructed from its corpse." (http://www.acceleratingfuture.com/steven/?p=155 http://www.acceleratingfuture.com/steven/?p=155) However, like you, I don't feel particularly inclined to take a crack at it today...
- j2labs 14y agoI understand Jeff's motivation for writing his piece. Alas, I just hope people learn to code if they want, or don't if they don't want to. That's all. No one else can make the decision for them. I also go out of my way to teach people coding concepts. I recommend Zed's books to beginners. I recommend stackoverflow or quora for asking / answering questions. Just be helpful to beginners and help them ignore the rabble rousers until they've got their bearings. All this blogging and tweeting on the subject is just going to confuse folks in the early days, when they should be focusing on learning instead.
- huggyface 14y agoI understand Jeff's motivation for writing his piece. You mean that he's trying to revive his blog now that he's out of the stackexchange thing, building a readership that he can monetize in the future? Hence these sorts of confrontational, pablum entries that bizarrely make the front page of HN. I don't get it. If these were usenet posts they would never, in a million years, see any attention.
- gfodor 14y agoI've never understood why coding horror gets so much attention. Every article usually fits in one or two buckets. The first type is an inflated, long winded, well marketed article about a ridiculously simple topic or idea that tries to sound more insightful than it is ("Look at how well designed my new cat food dispenser is.") The second type is when a more controversial subject is broached, like performance tuning or computer literacy, and the result is always the same: shallow analysis, often peppered with completely incorrect statements, a massive blowback from people who know what they are talking about, then a series of retort posts that dig the hole deeper until the meme finally burns off.
- lojack 14y agoI fear the point is still missed. He used the analogy of the auto mechanic, which I liked very much: "Isn't knowing how to change a tire, and when to take your car in for an oil change, sufficient?" Exactly. Learning to code is like learning the basics of auto mechanics. If you own a car, it would be very beneficial to learn the basics of how a car works so you know to change the fluid levels, why they are important, and all 101 level maintenance. In a similar fashion, learning to code is like learning the high level basics of how computers work. We don't expect an business guy to learn to develop kernel level drivers, antialiasing algorithms, or detail on public-private encryption just like we don't expect every car owner to know how to repair a broken starter motor or diagnose a vacuum leak. For a business guy, truly learning things like the detail required, difficulties in collaborating on code, and how larger programs take more time to change are all vital pieces to understanding their business.
- rmATinnovafy 14y agoAs some who used to work on cars for a living, I can say that the analogy does not fit very well. Learning how to check your oil level, or even how to change a tire is more akin to learning how to install a new wi-fi dongle for your laptop, or how to install a new OS. Learning how to program the computer is akin to learning how to modify the drivetrain of the car. You modify the engine to make it perform better (versus a standard baseline) by modifying or even replacing the components of the engine. You modify your computer with code to make it perform better (again, versis a standard baseline). All computers ar equal, what differs them is the software. How each programmer can modify the order of zeroes and ones to make the computer work in a certain way. Some people go as far as creating an engine from raw materials. In computers, we know those people as the embedded folks.
- agentultra 14y agoIt's just a poor analogy. The two have nothing in common what-so-ever. You do not simply modify your computer with code to make it perform better.
- 14y ago
- MarlonPro 14y agoafter re-reading the original post few more times, I still think he meant just what the title said - don't learn to code unless you love coding and it's your passion.
- koide 14y agoJeff is having too narrowminded a view. Whatever takes people off TV and Facebook to acquire a skill is a net win to society. They could do even better things? Probably, but that's not the point. If you had a similarly structured online course to communicate better, then you might have something useful to say.
- agentultra 14y agoHe's still missing the point. If anything "learning to code," is just bad language to describe something more worthwhile: teaching people the fundamentals of algorithmic and logical thinking. We don't teach mathematics to kids so that they will all become mathematicians and we certainly don't teach them literacy so that they will all become the next J.D. Salinger. They are just tools for solving other problems. "Learning to code," is just another tool that will become ever more prevalent in the years to come. The problem of not teaching these fundamental principles is that when it does become useful to do so it will be too late. We cannot afford to wait yet another generation to teach these ideas and principles. I think we're far enough along by now in the development of computer science to have a basic language of things to talk about. If we at least teach people these things then how many other judges in technology patent cases will be able to at least have an intuition to call out a patent troll? How many office workers will be able to find hidden information in their data or automate the repetitive tasks they do and move on to better things? How many of them will know that at least it can be done and perhaps they should hire a programmer? As it stands right now most people don't even have an intuition of what can be done with a computer. Their world is comprised of apps and silos. When they get onto an airplane they have no idea that they're sitting in a flying solaris box with wings. They don't realize that their e-reader is a general purpose computing device capable of more than just downloading books from that one store they bought it from. I don't think anyone advocating algorithmic literacy is suggesting that we train legions of crafts-people. edited for grammar
- koide 14y agoIndeed, I had missed this point too, but it is too true. Algorithmic literacy is important. More important than mere computer proficiency. Now, is it more important than the purported alternatives? Hard to say. But maybe there's no need to decide.
- Smerity 14y agoExactly. He says only follow what you're passionate in. Most normal people I know aren't passionate about mathematics but they're forced to be competent. If we taught mathematics like we taught computing, people would only ever use calculators and never see equations. They wouldn't know how to solve x = 5 + y and y = 2x + 1 or if solving it was even possible. Mathematics to them would be only what the calculator can do. Think of all the problems you've had as a programmer. Now think of how many of those could have been lessened if people had a better understanding of what's happening rather than trying to remember the incantation you just recited. With this education they know when a task should be automated and they know when a task can't be (at least easily) accomplished by a computer. The computer is no longer magic to them. Advances in many fields have come by harnessing the power that computing provides. Do we really want to see a future where people still think computers are magic?
- h84ru3a 14y agoLearn enough about code to read others' programs. Learn enough to not be spied on and manipulated by sociopathic web developers and cybercriminals. Maybe you can contribute something back to programmer/user community that demonstrates ethical principles. Maybe you found a startup. Maybe you make a career out of writing programs. At the very least, you make it harder for the bad actors who use their coding skills to take advantage of people who are not tech savvy.
- mikecarlucci 14y agoThis is exactly what I am striving for. I don't want to program full-time, but I like to be able to understand enough and be able to muddle through somewhat if there's a project I feel like working on. Maybe I end up doing more than that, but it's nice to have, like learning a foreign language. Not everyone becomes fluent, but a lot of people know enough to get something out of their studies.
- h84ru3a 14y agoWhat sort of project? Are you the type of person who like to take things apart and put them back together? Do you like to figure out how things work?
- mikecarlucci 14y agoI am. I like restoring old computers, replacing capacitors etc. to get them running again, keeping my bike in order (though not my car), and messing around with HTML for simple things on a blog. I'm working on learning Ruby and slogging along iOS tutorials while designing my own board game. I did take a few CS classes in college but was a liberal arts major. If I had known more, might have flipped it, but at the time thought programming would mean cooped up in a cube all day.
- h84ru3a 14y ago"programming would mean cooped up in a cube all day" Unfortunately, I think for most programmers, it still does. My guess is Atwood was once of them. When I started to reach some sort "enlightenment" (series of epiphanies, ah-ha moments or whatever you want to call it) with respect to "programming" I found that I wanted to share my knowledge with others. I think I still have that urge now and again. (And even now I'd still be happy to show you or anyone what I've learned if they were really interested. However I must admit I've never had much interest in computer games or understanding how they work, and I prefer using Lua over Ruby.) When I keep seeing these ridiculous blog posts like Atwood's I have a hard time seeing his sort of thinking as helpful to anyone (even himself). That's just how I see it. But then, what do I know? (A chorus of underappreciated programmers in cubicles responds: "Not much!" ;) They're right. But so am I. In the grand scheme of things, none of us really knows much. That much, I do know. (Credit: Socrates)
- ecounysis 14y agoI appreciated his sharing the email from the attorney/CPA. Now I know there are others out there like me that enjoy computing more than counting money. We should start a recovering CPA support group.
- leif 14y agoI'm getting tired of people having opinions about what other people should learn. If you think you will like messing with computers, give it a shot. If you like it, maybe you'll work hard and get good. If not, you'll probably do something else. Just like any other profession. Everyone needs to relax and stop worrying about what other people are doing with their lives.
- vibrunazo 14y agoWe're not worrying, it's just an advice. I think others should learn to code for their own good, not mine. It's the same reason I think they should learn science, politics... And how to cross the road without getting hit by cars. I strongly believe you should learn this things because it would make your own life much better. If you don't wanna listen to the advice, then don't. We don't really care. If you rather not learn how to cross the road because it's not something you enjoy doing, it's you who is gonna get run over, not me.
- sray 14y agoThis ongoing "Learn to Code" discussion reminds me OWS. Ask ten different people what it stands for, and you'll get ten different answers. If you try and argue against any part of it, someone will tell you that you "just don't get it." In the end, all I get out of it is the impression that we "hackers" sure think highly of ourselves.
- slantyyz 14y ago>> I get out of it is the impression that we "hackers" sure think highly of ourselves. Is it that, or do we take ourselves (and our work) too seriously?
- robertpateii 14y agoyou make it sound like it has to be one or the other.
- gavanwoolery 14y agoEgh. Not to be overly critical, but... I read the article that spawned this, and it was not very interesting...although at least he took a clear stance. This one feels like a watered-down ode to truisms. What did I just read? I've taken the liberty of rewriting his essay below: If you like coding, or dogs, press the like button. If you don't like dogs, but prefer cats, press the like button. If you enjoy life, or stuff in general, press the like button. Maybe learn to code if you like it, but if not thats ok you can still learn it if you want, or not.
- ranit8 14y agoI didn't want to give more ammo to his elitist bullshit, but I wonder what happens if the same schools that make people hate math try teaching them to code.
- mattmorgan 14y agoIntelligence/coding go hand in hand. No matter how smart their arguments are, some coders in this "debate" unintentionally display the subtle insecurity that their special skill is coming to the masses and that fact will ultimately decrease their uniqueness, salary, and apparently...their self esteem. If one does feel that twinge of jealousy or defensiveness, then perhaps the most progressive solution internally is to grow an identity beyond being just smart and unique and slamming less intelligent people when they try to get a nut in this World. (Caveat: I'm as guilty as they come)
- adeelk 14y ago> Intelligence/coding go hand in hand. Are you joking? There are tons of very intelligent people who know nothing about coding.
- andrewflnr 14y agoJeff wants a world where we programmers can make computers perfectly usable without understanding how they work. I don't think this will ever be the case. The abstraction will always leak a little, and people will benefit from having at least some idea of how computers and the programs that run on them work under the hood. Regardless, in the mean time I would prefer everyone to have as much technical competence as possible, for both our sakes.
- tjmc 14y agoIf you've ever seen a 2 year old or, worse, a baby boomer playing with an iPad you'd realize we're basically there. At this point Jeff's car analogy is about right. Is it useful to know how your car and computer work under the hood? Yes. Is it necessary? Increasingly less so.
- robertpateii 14y agoI'm curious why this was down voted into being grayed out, within 20 minutes of being posted and with no replies to it. edit: seems it got better.
- alanh 14y agoI’m biased (I work here), and we have a way to go, but IFTTT.com is definitely a step in this direction, too.
- alecperkins 14y agoThere's an issue with comparisons to plumbing and mechanics. The kinds of devices "ordinary users" interact with in those realms are physical, and it's possible to see how they work at a high level just by looking at them. (Yes, cars and such are getting more and more like moving computers, but the basics haven't changed.) This is not at all the case with computers. They are magical black boxes if you're not familiar with how they work. Understanding even just the ideas of programs manipulating data is important, however abstracted the interface is. And what better way to teach that than with basic programming lessons, even just something like Karel++. Not to mention all of the related concepts of logic and problem solving. More importantly, computers are black boxes made by people. I think a big part of “learning to code” is not just being technologically literate. It's a way to teach an understanding that these devices are doing what someone told them to, and that users have the power to make the computer do what they want. That nearly everything we interact with was designed and built by other people is an incredibly under appreciated fact. Learning how to use tools is empowering, and a fundamental part of being human.
- overgard 14y agoThis whole weird saga has led me to this thought: why are people so concerned with what /other/ people should learn? Why do you care? It seems like the subtext is that if they know the things we know, they'll think the things we think. If we can just get people to be programmers, they'll see the world the way we see it. Or so the thought goes.
- pohl 14y agoA rising tide of literacy lifts all boats, that's why I care. I still don't get why Atwood does, though.
- overgard 14y agoThere's a big difference between literacy and knowing how to code. Literacy means access to the sum total of the world's knowledge. That's huge. That gives you access to everything if you're willing to put in the effort. That's freedom. "Code literacy" means knowing how to tell a computer to do something reliably and the associated lessons that come with that. That's good, but it's not the same. One is the ability to gain new skills at will, the other is just another skill to master. I say all this as a coder who thinks its important, I just think the hyperbole around "programming being the new literacy" to be overblown
- pohl 14y agoLiteracy means access to the sum total of the world's knowledge. Funny you should use the word 'overblown' after saying something like this. Literacy, at best, gives access to the world's words, not the world's knowledge, and actually only the fraction of the words that are in the language in which one is literate. I'm not just speaking of natural languages, either. A considerable amount of the world's knowledge is expressed in the languages of mathematics and music, for which literacy in English is weak preparation. Another enormous chunk of the world's knowledge is experiential, for which any language is a weak substitute for apprenticeship (at best) or mere doing (at least). The world's knowledge lies behind and endless chain of conceptual hurdles, and the ease with which one can jump over these hurdles while running on the legs of literacy is determined by everything else that one studies.
- vibrunazo 14y agoA) What Jeff thinks we're saying: "Everyone should be programmers so the world would be a better place" B) What Jeff thinks is the right: "Everyone should be technically literate for their own good" C) What we're actually saying: "Everyone should be technically literate for their own good" You can observe that B and C are the same. So we actually agree, but some haven't noticed it yet. Only because the sentence "learn to code" can be very ambiguous. After having studied natural language programming, I've come to realize that 90% of disagreements between human beings derive from semantic misunderstanding of ambiguities. This is just yet another example. Kinda funny to be honest. Watching the blogs argue with each other is similar to watching Abbot and Costello arguing who is on first [1]. [1] http://www.youtube.com/watch?v=sShMA85pv8M http://www.youtube.com/watch?v=sShMA85pv8M
- jwingy 14y agoKinda ironic too when people are arguing about the importance of learning programming because it teaches logic...
- adeelk 14y agoI don’t think so. When does “programming” ever mean technical literacy? What Atwood is arguing against is the idea that “everyone needs to learn programming”. Because of the title he chose for his first post (which didn’t actually represent his point correctly), now many other groups of people, with a lot of varying views, are arguing with him on points he wasn’t even making. You individually are arguing that everyone should be technically literate, but that’s not what he was arguing against anyway.
- benatkin 14y agoNo, Jeff is actually wrong here. He's had two articles and numerous comments to point out what he really meant by the statement "Please Don't Learn to Code", and he still maintains that programming is only for programmers. We have a major non-programmer programming community with R now. There are, and have been, many others.
- Ride120 14y ago" calling yourself a "programmer" can be a career-limiting move" yeah...I want to be an Inventor. Programming is just the chair i am sitting on.
- Zakharov 14y agoThe way I see it, subjects taught in school are ranked according to their perceived importance: 1 - Math, english 2 - Science, PE 3 - LOTE, history, geography, music, etc 4 - IT, drama, shop, economics, etc 5 - Plumbing, mechanics, technical drawing, etc Joel is, I think, arguing against people that say coding should be a tier 1 or 2 subject.
- deleted 14y ago[deleted]
- smsm42 14y agoIt is sad that economics is listed tier 4 and apparently as important (if not less important) as drama... Such common perceptions are probably why there are so many financially illiterate people and so much bad economic policy out there.
- guscost 14y agoThe fact remains that literacy with computer syntax is what literacy with arithmetic was a hundred years ago. There are so many ways to take advantage of it today, it is insane not to encourage just about anyone to stick with it long enough to see what possibilities might be revealed.
- nhangen 14y agoI don't care if people learn to code or don't learn to code, but it would be nice if just for once, we could stop seeing a meta circle jerk at the top of HN every single day.
- alanh 14y agoOff-topic, but why is he block-quoting his own story? When you are the original source, you don’t need to quote yourself.
- tferris 14y agoA long post, verbose and unclear in its message. Do not follow his advice. About coding: - Coding is an efficient way to represent processes or business processes - Business processes are the fundament of any business - 99% of businesses today are digital in their core or heavily support by systems About passion: - Most even do not know what their passion is anyway—so let at least all people try to get some success stories and basic experiences with code before they decide it's not their passion - Creating and building is seen as always an satisfying activity—be it creating a cake, a wooden table or some piece of code—independent of your passion - Coding can only be an instrument or a part or an building block in order to create something; code is as ubiquitous as reading, writing or math—it doesn't have to be your passion, it's just an instrument to your passion; coding equals not coding: a SAP, web, game coder or a Photoshop scripter do code but at the end of the day they have totally different jobs and passions: a passionate game coder would die when writing SAP code because his passion isn't to code rather to create games while a SAP coder's passion is to organize and represent business logic as efficient as possible. Both love to code because 1) creating is a satisfying activity and 2) coding allows to create a product of their passion (a game or enterprise system). It's about understanding that any process can and must be automated with software/systems/code nowadays and coding is just a vehicle to your passion. Not learning to code is not an option.
- myearwood 14y agoLeave the man alone ! Are we really still arguing about this ? This discussion has become so convoluted it ceases to be relevant .
- Peaker 14y agoWhy does he mention the "No Silver Bullet" paper? Oh, how I hate that paper: it is pure speculation (Nobody has any idea what complexity is actually essential and what accidental), and it seems to ignore the fact that the past of programming sports a couple of silver bullets already. Saying the past had silver bullets but there are no silver bullets left to be found is like saying we've already invented all things, and there are no more patents to file.
- parasubvert 14y agoReally? That's a seminal paper for a reason. Firstly, it's pretty obvious to a skilled developer what aspects of that program's complexity are accidental vs. essential. Layers upon layers of indirection for no particular end is one example of accidental complexity. As is tuning assembler for a particular processor. Understanding and constructing the appropriate usability and function of your software for your target audience on the other hand, is essentially hard - it's "product/market fit" for software. What past silver bullets are you referring to? Brooks' point is that individual technical gains don't tackle the essential complexity at its core, whereas his "promising attacks" have mostly been validated: buy vs. build, requirements refinement & rapid prototyping, incremental development, and great designers. These advances have had way more impact than, say, the move from COBOL to Python.
- Peaker 14y agoI completely disagree that it's obvious to a skilled developer which parts are accidental/essential. Programmers (and everyone else) often don't realize they have a problem or are missing something until someone solves it for them. Similarly, programmers implement the exact same concepts over and over, and many of them don't even realize all of the things they're implementing are specializations of general patterns. As for past silver bullets, the move from assembly language to C along with some extra tooling was easily an order of magnitude difference in development speed.
- parasubvert 14y agoSo, what I think you're suggesting is that a developer wouldn't understand accidental/essential complexity differences until a more skilled developer figured out the essence of certain classes of problems and others learned to apply their experience. But, isn't that the case with any domain built on knowledge? My point was that a skilled developer had learned much the state of the art knowledge up to this point, and understands the pitfalls over over-complicating a solution that one can get into with certain solutions of the problem. Brooks' paper wasn't even getting deeply into what we are talking about, he was just suggesting that software development is inherently complicated, that it's always going to be hard, because unlike Newtonian physics, you can't wave away the complexities and distill the essence of a problem into simple equations. The complexities ARE the software. Abstractions, though helpful, are flawed and leaky, unless they're designed by a master. If software development is a fundamentally hard activity, like playing a musical instrument well, you're not likely going to make it a "breakthrough" with a piece of technology, you're going to improve it with better programmers. A highly talented programmer will be less productive using COBOL and older tools and technologies, but will not be an order of magnitude less productive. Back in the 80's, this was bitter medicine that management types had to hear, thinking that programming was rote activity with barely any need for higher pay or recognition of the 10:1 or more disparity in productivity among individuals.
- neokya 14y agoIt's been about 10 months since I started coding, I have to say it is totally enlightening skill. As a normal user, I never knew the way computers work. When once my PC was attacked by virus, I thought it was actual biological virus. Yeah, I mean I was slave back then. Now I am trying to be master. Is there anything wrong? PS. Car and Computers are different IMO.
- marcoi 14y agoI don't know why this needs to be controversial. To keep it simple: Logic/algorithmic thinking skills -> good for most people, should be acquired at school, programming is one quite good way to acquire them (IFF done right) Actual coding skills -> pretty much only useful if you plan to work in software; depending on your role, essential (sw dev, but that takes more than codecademy...); desirable (product/marketing: you will better understand the tech team, how to prioritise, what's possible etc.); "nice to have" (everyone else). So, I guess these coding schools are good, either if you want to learn a new way of thinking (and have lots of spare time and patience), or if you are a non-tech product person (as long as you realise that you're only scratching the surface, and that if you're short on time, maybe you should focus on getting things done).
- james1071 14y agoThe author completely fails to understand that there are a large number of people who would benefit from programming but have been deterred from doing so.
- dmd149 14y agoBased on my personal experience, you're right. I'm not a programmer, but I recently launched a Wordpress site that I wanted to modify. Mostly just CSS/HTML stuff, but I'm beginning to realize I'll probably need to learn a little bit of PHP. I had started the CodeAcademy lessons before I launched the wordpress site, but it got a little boring and I didn't see the point. Once I launched the site, the CodeAcademy courses became a lot more fun. The process looks something like 1. Hm, I want to change how this widget looks. 2. Hm, there is no plugin for that. 3. Hit "View Source" and try to track down what the widget looks like in HTML. 4. Find it, realize you don't really know what it means. 5. Do some googling, make some changes, doesn't work or screws it up. 6. Do CodeAcademy lesson on HTML or CSS or whatever. 7. Eventually fix it. 8. Feel really, really good. I think for most people it'll be hard to learn to code in a vacuum (myself included). Having a project where coding may help you significantly is a much better way to learn it. It may be messier, but it's much more rewarding. This is not just a lesson for people who think they should learn to code, it's a lesson for people who want to learn anything. The most important thing you can do to learn something is to start a project that you're passionate about that will eventually require you to learn whatever it is you need to learn.
- nicholassmith 14y agoI like how in the first paragraph he assures himself that the criticism came from people who didn't read the article properly. After all, if you didn't read it properly you'd surely agree. Poor way to bolster support for your follow up really, 'you didn't understand what I was saying, I'll use different words'.
- parfe 14y agoThis is just a dumb cry for attention now. Any "noncoder" who has ever repeated the same menial task on a computer for a week straight could benefit from programming. It's not a career. It's a tool and a useful one. People in general need to love coding like they need to love hammering in nails or vacuuming the house, or manually massaging data for reports to various organizations. >And if you're reading this and thinking, "screw this Jeff Atwood guy, who is he to tell me whether I should learn to code or not", all I can say is: good! That's the spirit! And fuck Jeff for changing his tune from "Not everyone should learn to program" to "Well if you think you need to program, good for you! That's what I meant all along!" He still needs to walk it back. You can't possibly know when programming could be used without a basic understanding of programming.
- benatkin 14y agoI think a way to counter this would be to collect short articles by people who learned to code because someone encouraged them to, and are benefiting from it. He argues that people who are going to be great programmers will discover coding as their passion just by looking around. I disagree. Many in my generation learned to code when a teacher showed them LOGO. How is that fundamentally different from organizing study groups, or trying to make a website, book, or email list that will get people who are new to programming to discover the joy of programming?