17 ms·
Please don’t learn to code
- emodendroket 10y agoThis seems like a ripoff of the old Atwood article, down to the plumbing analogy. http://blog.codinghorror.com/please-dont-learn-to-code/ http://blog.codinghorror.com/please-dont-learn-to-code/
- neogodless 10y agoNot sure if this applies to everyone - the home page loads, but that page does not. I can, however, read it via cache: http://webcache.googleusercontent.com/search?q=cache:m8BHxcttCiAJ:blog.codinghorror.com/please-dont-learn-to-code/ http://webcache.googleusercontent.com/search?q=cache:m8BHxct...
- maxiepoo 10y agoYes, I experienced serious deja vu from this article.
- wobbleblob 10y ago> "with President Obama pushing for legislation to include computer science in every public-school curriculum." Computer science or computer literacy? The latter would probably be quite useful.
- jackcosgrove 10y agoThe public school curriculum was designed to prepare students for employment, which many would consider mercenary but I find perfectly reasonable. It's entirely within the spirit of public education in the US to require computer literacy at the primary level and computer science at the secondary level.
- deleted 10y ago[deleted]
- afarrell 10y agoI don't understand the aversion to teaching people things specifically because it will help them on a job. Education should prepare people to lead fulfilling lives as part of a peaceful, cohesive society. Knowing how to solve other people's problems is a huge part of that in a society where not all work is done by robots.
- nervoustwit 10y ago> "I would no more urge everyone to learn to program than I would urge everyone to learn to plumb." Agreed, but I would expect everyone to know how to flush a toilet. I think computer literacy is essential, not for your kid's career, but for your kid's life.
- wobbleblob 10y agoBeing able to fix your own sink is actually a useful skill.
- collyw 10y agoDuct tape. With a large enough roll you could rule the universe.
- bittercynic 10y agoSimilarly, plumbing literacy is very broadly useful. Even if you never become a professional plumber, you will probably benefit if you can figure out why a toilet or sink is not working as expected.
- javier2 10y agoYeah, if you turn the pressure off and are careful, you can do a lot of poking around. Like with computers. Turn the power off, and you can poke around quite a bit. Not so much with phones and modern day laptops though :/
- DonHopkins 10y agoWell whatever he pushes for, the Republicans will oppose it, so he should have been pushing for more computer surveillance in schools.
- USNetizen 10y agoI feel like I've read this article before somewhere. Regardless, it's about 2-3 years too late. This "learn to code" stuff was all the rage up until about a year ago but has since died down a bit.
- neogodless 10y agoYes - I don't know if it's a trend, but it seems like plagiarism in internet journalism has been gaining steam lately. I think the internet is full now; we can stop creating new content.
- emodendroket 10y agoThe neat thing about the ease of searching news sites is you can see the incredible proliferation of news articles that are just rewriting someone else's scoop.
- hanief 10y agoI think adult can do whatever they want. But every kid should be given the chance and opportunity to learn coding, and it should not be mandatory.
- Nursie 10y agoWhy not mandatory? Lots of other core, useful skills are.
- hanief 10y agoBecause I believe it is not an essential surviving skill for everyone (at least for now).
- Nursie 10y agoNeither is literature, nor languages, nor history, nor geography, nor mathematics over simple addition and subtraction. But we teach these to kids so that they have a greater chance of understanding the world around them.
- hanief 10y agoFair point. But what subject should we replace from the current curriculum? Adding another subject seems like another burden for students.
- rustynails 10y agoYou have hit the nail right on the head. Everybody + opportunity + non-mandatory. This concept of equal opportunity seems to have disappeared in the last 5 years and I'm heartened to see people still talk about equal opportunity (vs the fallacy of equality), even if the media doesn't discuss opportunity anymore. I was a kid who was writing assembly at about 10 years old because I loved it. I saved up to buy my own computer by delivering newspapers for 2 years. I learned to program by trial and error. I introduced my kids to programming but never pushed it. They have not embraced programming like my wife and I did when we were kids. I would not want programming mandated for my kids, despite my own passion for programming. A comfort using computers to do research, word processing, calculation and create basic posters/articles/projects/videos would be very beneficial and may be better a better mandate than programming.
- imgabe 10y agoI never interpreted "everyone should learn to code" to mean "everyone should get a job as a software developer". Coding is a highly useful skill that can be applied in many professions. It doesn't mean everyone has to write professional quality software in the hottest language du jour. "Learning to code" just means recognizing when a problem can be solved by applying a discrete series of repeatable steps and then learning how to tell the computer to do those steps rather than doing it yourself. The productivity boost we could get just by eliminating people manually copying and pasting (or, dear god, re-typing) things from one spreadsheet to another would be enormous, let alone other applications.
- cm2187 10y agoI was about to make the exact same comment. People should automate their most boring and mindless tasks, that's the only way to achieve large further productivity gains. It's never going to be economical to pay a developer salary full time to analyse and automate everyone's little tasks. But for that coding needs to be simpler, easier to do occasionally. VBA-style (but VBA was a 90s language that was never updated since). In that spirit, teaching C++ in school is counter-productive. Exactly like everyone shouldn't need to be a professional carpenter, but have a basic DIY tools and know how to assemble some ikea furniture. Or basic physics understanding to know what to do and not to do with an electrical socket!
- enraged_camel 10y ago>>I was about to make the exact same comment. People should automate their most boring and mindless tasks, that's the only way to achieve large further productivity gains. Productivity gains that will be captured by their employers in the form of higher profits and bonuses for executives and most likely won't be passed down to the employee. Not saying learning coding is a bad idea, but some perspective is useful I think.
- lisivka 10y agoBold statement without a proof. Can you point to a poor nation with highly productive employers?
- astazangasta 10y agoThis is like writing 'Please don't learn algebra', to me. Life revolves around computers; they are not merely appliances.
- titzer 10y agoI hate to be so negative and come down hard here, but no, no it doesn't. Life does not revolve around computers any more than it revolves around movies, cars, or food. Life is about experiences and relationships, happiness...(and love too with a bunch of mushy other crap). The sooner we all realize this, the better.
- eyko 10y agoComputing explains the technological world around us. The same reason it's very beneficial for society to have a solid understanding of basic science (and that doesn't mean being scientists), today society should expand its horizons and have a basic understanding of computing (without being software engineers). I don't need to be a mechanic in order to fix my car was used a few decades ago. Today, cars may very well be black boxes, but if society had a basic understanding of computing, perhaps they'd advocate for more open car technology. It's beneficial for everybody.
- ZanyProgrammer 10y agoTo quote Tertullian, what does data structures have to do with setting up a home wifi network? The latter most certainly doesn't need knowledge of the former.
- astazangasta 10y agoYou could make the same argument about algebra.
- dominotw 10y ago>The line between learning to code and getting paid to program as a profession is not an easy line to cross. I think if you are a women then going to bootcamps is still a good choice. I convinced my cousin to quit her job and get into a local bootcamp in chicago in 2014. Fast fwd 2016 she finally founds job as a junior dev at a local web dev consulting company. You also get scholarships for women/minorities. Learning to code is still a good choice if you see yourself enjoying it as a profession.
- stevetrewick 10y ago>The line between learning to code and getting paid to program as a profession is not an easy line to cross. Really. It took me more than a year of self-taught study before I got a freelance gig. That actually makes it sound easy.
- pkaye 10y agoProgramming is the profession with the least barriers to turn into a career. Most others has mandatory licensing, degrees, training, etc. How long does it take to be a doctor? A Lawyer? Most traditional engineering degrees? Heck working as a barber takes more effort in most states.
- ZanyProgrammer 10y agoHence a lot of people have problems with calling our field 'engineering,' when you compare the training and licensure of programmers with 'real' engineers. I personally like it, though I prefer programmer over engineer regardless.
- Nursie 10y agoThis is also probably why there are so many just-plain-awful coders out there who don't belong in the same room as people who do things well.
- ZanyProgrammer 10y agoAt the same time, disparities in practitioner quality are going to exist in every field, not just software development.
- pkaye 10y agoThere are "just-plain-awful" engineers in other fields of engineering also. I started my career doing mechanical and electrical design work before gradually switching to programming (and then getting a degree.) Engineers who don't understand gear ratios, tolerances, circuit design, etc. Maybe a little more in the programming because that is where the money is at right now.
- pavel_lishin 10y ago1103: "Please don't learn to read." 1527: "Please don't learn to write." 1965: "Please don't learn to type." 2012: "Please don't learn to code."
- insulanian 10y agoActually when I see that stream of events, it makes me really wonder what's the next step...
- Null-Set 10y agoPlease don't learn to train AIs
- Terr_ 10y ago"Please don't feed the humans."
- pavel_lishin 10y ago"Please don't learn."
- izzydata 10y agoPlease don't learn to think critically.
- xgdellis 10y agoPlease don't leave the earth.
- deleted 10y ago[deleted]
- chippy 10y agowith VR and 3D printing, it will something like "please don't learn to manufacture"
- 10y ago
- mschwaig 10y agoIn my opinion there would be two benefits to widespread coding literacy. The first one is that a wider range of people get in touch with the concept of programming and can consider it as a career option. This would IMO also help diversity. This does not mean everybody has to make a career of it, just like with all other subjects. The second benefit would be that a lot things people do manually right now could be helped along by simple ruby or python scripts. If more people had that tool on their belt, they could use it when it's beneficial for them. They don't have to be a full-time dev for that.
- mschwaig 10y agoIn my opinion there would be two benefits to widespread coding literacy. The first one is that a wider range of people get in touch with the concept of programming and can consider it as a career option. This would IMO also help diversity. This does not mean everybody has to make a career of it, just like with all other subjects. The second benefit would be that a lot things people do manually right now could be helped along by simple ruby or python scripts. If more people had that tool on their belt, they could use it when it's beneficial for them. They don't have to be a full-time dev for that.
- zekenie 10y ago"Everyone should learn to code" makes at least as much sense as "everyone should learn trigonometry." To me, it makes much more sense, actually. I'm a software engineer. I might not be if I wasn't exposed to it in high school. Exposing more people to software is a decidedly good thing because it gives people agency. Teaching coding in high school also can enhance math and science that's already being taught. It gives students another interface to the curriculum that's far more exploratory than pen and paper. Everyone should learn to code. Everyone should not be a software engineer. Obviously. People should do what interests them. That doesn't mean bootcamps are bad. Actually, I work at one! I think we do a really good job. There are problems with the market that Basel correctly identified. Its hard for consumers to assess the quality of bootcamps. There are certainly are snakeoil salespeople out there. But, I've watched hundreds of my students go on to start fulfilling careers in tech because of their hard work and ours. The market will sort itself out. The bad actors will eventually go out of business.
- logfromblammo 10y agoEvery high school should have a calculus teacher. That doesn't mean that all graduating students will know calculus when they leave. And at least since 1990, every high school should now have a computer science teacher. It's not so much that everyone should learn to code, but that everyone should be able to have enough of an introduction to it that they will then know whether they need to learn the rest of it or not. Even if they don't, they will still have a better idea about what it entails, and technology will be less arcane magic and more like something that anybody could learn if they had the time and motivation.
- zekenie 10y agoI agree. I'm not sure everyone should be forced to learn for loops, or whatever. I also don't think high schoolers should have to memorize the krebs cycle or the fact that pv=mrt for gas systems. I don't know. I really think young people should be in an environment where they can explore and grow passion for things. I think coding is fuel for that fire. I think its not enough to have CS teachers around. I think people should be exposed. It should be in the ether. You should see it in chemistry. You should talk about genetic programming in biology. I just think HS should be so different from what it is now.
- 11thEarlOfMar 10y ago>an even greater number are run by modern snake-oil salespeople tapping into the average American’s desperation. I need to see some data on this. It is true that whenever code is being written, someone on the team needs to understand the problem well enough to ensure that the requirements are being met with an appropriate architecture and design. In many organizations, these roles are filled by experienced persons, and the project just needs programmers. Boot camps should do two things: 1) Identify persons with a mind for programming and the will to learn it; 2) accelerate that learning far beyond what a person can self-teach, with a focused curriculum that will enable them to contribute to a team on completion. The point of the 'everyone learn to code' movement is to address the long term loss of better-paying manufacturing jobs with jobs that pay better than minimum wage. For sure, not everyone qualified for manufacturing is going to be a good programmer, but manufacturing automation is expanding, our competitiveness will depend on it, and the manufacturing robots and systems need to be programmed by someone.
- cturner 10y agoCould it be that the future will value the ability to read code highly, where where writing it will be a specialisation? Consider the discipline of western music. Many accomplished people learn to read music, but fewer to write it. Particularly to write at sophistication. Code is written to be read: when you compose choral music you need to be mindful of an individual chorister's ability to pitch intervals, and to find notes within the scale. (Handel and Haydn and Mozart are far easier to sightread than Bach and Beethoven.) Strangely, our education system around computer code focuses on ability to write code first, and read code either as an afterthought, or not at all. Our traditions come from programming languages which were very difficult to read. Unless you understood the tools for composition purposes, you probably couldn't read them. Even the early scripting languages were impenetrable. Composition-focused languages like python and golang change that. Whitespace-orientation and named parameters/purpose-build-arg-structures help a lot. Also, you can write sophisticated python/go without understanding complex type systems. Compare to the mental checklist you run when you need to work out where a Java or C++ method call is being dispatched to. Note that western musical system is far from general-purpose when it comes to the building blocks of sound waves. It has no mechanism for the rich world we call subtones, and it's not fantastic at rhythmic sophistication. Its strength is in the power you get within the tradeoffs between the notation and standardised instruments.
- lmm 10y agoA lot of programs are single-use throwaway scripts customized for a specific use case, or at best have a lifetime measured in months or years. Whereas with music there are centuries-old pieces that are still perfectly usable and probably better than what a composer would produce as a replacement. So no wonder our attitudes towards reading and writing are different. > Composition-focused languages like python and go change that. Whitespace-orientation and named parameters help a lot. Also, you can write sophisticated python/go without complex type ontology. This is backwards. Languages without (or with limited) type systems are very hard to read, because you have a lot less reliable information about what's going on.
- cturner 10y ago> Whereas with music there are centuries-old pieces that > are still perfectly usable and probably better than > what a composer would produce as a replacement. As I see it, reverence for traditional composers comes from the culture where more people read than write. Other factors too - humans bond through sharing of specific tunes, and copyright makes manuscript artificially expensive and sparse. Good composition is engineering. When you study grades for composition or improvisation or kodaly teaching, you are taught systems by which you can write music. And you are taught to look out for ways to find new systems for yourself. This surprised me. Up until then my mental model was that all art was subjective. But in western music, if you're doing something weird you're in trouble. Particularly in an exam. Once you're trained in the art, you can hammer out good pieces on demand. Sophisticated pieces take time, as with coding. By way of example, Kodaly would write exercise problems for his students on-demand, just to demonstrate a point during a lesson. He'd sit down for two minutes and scratch out a new piece, which they'd them perform. Faster than having to find an example in something that's in your existing library. Some of these exercises have lived on. This isn't evidence of genius. Rather, he was an engineer of the John Carmack school. Someone focused on an outcome, dismissive of the "don't reinvent the wheel" crowd. He had a need, he followed a system, a neat minimal piece was born. He considered it throw-away code. We'll never know, but Mozart Coronation Mass shows signs of aggressive corner-cutting to get a product out the door. He reuses a lot of ideas across movements, he reuses an idea from one of his operas for one of the features. And - because it's a mass - he got his structure and words for free. It's good music, but we shouldn't put it on a pedestal. > This is backwards. Languages without (or with limited) > type systems are very hard to read, because you have a > lot less reliable information about what's going on. In the hypothetical I describe, it would be the author's responsibility to make it clear with the restricted tools they have available. Code would truly be written for the reader.
- meeper16 10y ago"Learning to code" is a lifelong endeavor. You don't pick a laptop and set aside a few hours. You can't do that if you wanted to learn how to write poetry in French while only knowing English.
- tsumnia 10y agoI think this what people really are looking to stop: "Tim just got a new phone. Tim needs his IT friend/family member to help him add wifi to his phone. However, by help, Tim hands the friend/family member the phone and now it works!" Like others have said, the layman wants "computer science", but really wants "computer literacy". Phones, software, technology changes so fast that current teaching methods become outdated in years (I'm looking at you Intro to Computers classes). As computer literate users, we get you go to "Settings" and poke around til you see something like "Network" and then something like "Wireless" or "WiFi" and are set. However, would I do this same behavior with a car? Pop the hood and poke around? Computer Science seems like the route to people because of the side benefit of "figuring it out on your own" comes naturally after 3 weeks of programming. Don't understand something? You have to pool every resource you have (instructor notes, slides, books, websites, etc.) to 'get' it. And even then its not an 'AHA' moment. Its a pray and 'whew' when whatever you did works. But somewhere along the way, most programmers pick up that 'it', that computer savvy-ness that people are looking for. They want to stop being dependent on IT people because all we do is huff and puff about how simple a task is (regardless of program, if someone asked you how to bold text, how would you get them to bold the text WITHOUT pointing at the screen?). Personally, it doesn't have to be "learn computer science", but it needs to be a complete redesign to the "Intro to Computers" style class.
- DonHopkins 10y agoThe fad when I was taking CS 101 in 1985 was "program verification", so the first thing they taught all the freshmen was "programming calculus" [1], to write code in a stripped down "CF Pascal" dialect, along with proofs of its correctness. I suspect the real reason was to weed out as many people as possible from perusing a degree in CS, because at the time everybody was signing up for CS because they thought it was the ticket to make lots of money. If you didn't already have practical programming experience, you were fucked, because you had no frame of reference for what the proofs they wanted you to write were about. If you already knew how to program, it was frustrating and useless, because you already had an intuitive understanding of the concepts they were trying to teach, but you'd never actually use those "programming calculus" proof techniques in real life -- the scope of the proofs was microscopically small, and couldn't scale to real-world non-trivial problems. https://www.cs.umd.edu/~basili/publications/proceedings/P39.pdf https://www.cs.umd.edu/~basili/publications/proceedings/P39....
- Udo 10y agoI think (and have often said) there are too many software developers. However, I also believe that way too few people are technologically literate, and if anything that number seems to be going further down. To live effectively in an information society, people should not only be aware of what computers do, but they should also be able to write small programs that help them in daily life, as opposed to relying on the umpteenth horrible web service to accomplish trivial data processing. So, more people who know how to code basic stuff can only be a net-positive as our society is moving away from manual labor. At the same time though we need less people becoming actual programmers. Our profession is absolutely flooded with people who are less than competent.
- FilterSweep 10y agoI agree with you - but I believe there are too many developers because there are, in general, not enough jobs. There are millions of above-average to quite-high intelligence people on Earth, and computers are now so accessible, one used to be able to be bought for $5 (rpi zero), before supply ran out. In many other fields (especially ones requiring soft skills), "Who You Know" often is the only determining factor between you getting a job and being unemployed and (incorrectly) being deemed useless by society. Humanity is unfortunately growing increasingly redundant, to the point where even specialized areas of medicine which take 7-13 years of additional schooling are facing automated extinction within the next 25 years. There are some industries, such as Accounting, which could have been automated years ago, but artificial barriers are put up between computers and clients of Accountants. Unfortunately also, the people in power, seeing this, are just after a massive cash grab before it all falls down.
- Udo 10y ago> but I believe there are too many developers because there are, in general, not enough jobs True, but that is sort-of hidden under development methodologies and frameworks that enable untalented people to do less with more. It's also compounded by the fact that companies are horrible at hiring and making software decisions. > the people in power, seeing this, are just after a massive cash grab Well, people are always trying to do cash grabs, but in this context I can't help but wonder if the software development ecosystem is maybe exhibiting an unconscious immune reaction to our increasing obsolescence. I've seen different fields react differently to it. In a typical office environment, there is maybe 1 hour of actual work going on per person per day, yet companies are not getting rid of those people. You already mentioned medicine, here the immune reaction is generally a quasi-religious aversion to change, even where that change saves lives or improves quality of life. In software, it's on-site basketball courts and clueless people with meaningless university degrees spending their days tricking bloated frameworks into performing trivial tasks.
- x5n1 10y agoLearn to code. Coding is a horrible profession from many perspectives. Many people have tried and failed to do it as a full time job. Many people who do it don't do it well.
- ZanyProgrammer 10y agoMany people on a lot of professions provably don't do it as well as the superstars in each field. Are University of Oregon law school grads as 'good' as Stanford law grads?
- x5n1 10y agoI know the bar is pretty high in terms of what is passable as a programmer that works actual gigs. It's higher than a lot of other professions, where credentials mean more than actual performance and you can fudge/bs your way out of many situations. So it's fine if someone wants to try more power to them. Anyone can potentially do it, but to do it at a commercial level you can't just pass yourself off you have to be relatively good at what you do... otherwise you won't get hired or get fired rather quickly.
- jcadam 10y agoOh there are plenty of (usually large) companies that love to hire legions of mediocre (or worse) "programmers" to work on large projects. How do I know this? I work in the defense industry. I've seen some things :'(
- logfromblammo 10y agoYep. I've seen those things, too. If I weren't politically libertarian already, they probably would have pushed me in that direction. Beware the military-industrial complex indeed. Part of the reason why I support UBI is the number of people I already see receiving a basic+ income and benefits in exchange for doing a job that doesn't really have any rationally justifiable reason for existing.
- 10y ago
- ryao 10y agoThe learn to code movement created to get more H1B visas for Microsoft rather than fulfill an actual need: http://www.slashdot.org/story/275175 http://www.slashdot.org/story/275175
- ThomPete 10y agoThis advice is as good as someone saying "please don't learn to play music". Not only is is bad advice since there is obviously value in learning to play music even though you are never going to become a professional musician. But saying don't learn to code it's like saying "please don't learn this category of language which will make you able to communicate with the very ecosystem that is increasingly dominating your life. It's like saying. "Please be illiterate in the most important language you can learn besides your native one for the future" In Denmark there is an expression "fagidiot" meaning idiot of their trade. I.e. people who are so puritan about what they do that any mistake is considered almost fatal. It's like going to the movies with your friends from the army who can't enjoy a war movie because a gun doesn't really sound like that or you can't fire that many rounds of your M-16. The probper advice is of course' "Please learn everything you consider interesting, and keep learning even if you suck at it and will never become a professional. Learning something means growing as a person."
- gmarx 10y agoI watched the HBO show "Vinyl". It struck me how analogous the music industry back then is to software today. Everyone was starting a band. Everyone was pitching to A&R guys. All kinds of characters were attracted by the money and the glamour.
- ThomPete 10y agoI played music professionally for a couple of years. The value of music, the insights, the understanding of composition, harmony, structure, consistency, rhythm, patterns, melodies and so on have proven invaluable in most other fields I have dabbled with whether design, cooking or even my pathetic attempts at coding.
- kafkaesq 10y agoThis advice is as good as someone saying "please don't learn to play music". The analogy is quite strong, here - perhaps more than the author realizes. I get the basic point about not expecting just pick up a book or two and crash the gates, overnight. But there's something fundamentally disheartening about a statement whose core message boils down to: "Don't try".
- izzydata 10y agoIt would probably more beneficial for everyone to learn the logic used in coding rather than the less important syntax of coding. The logic is what is applicable to other fields.
- LukeB_UK 10y agoI see it more as offering the opportunity to people to have an interest in it. I learned to code in my own time, by digging around and finding tutorials and snippets. Part of my secondary school (high school) education was mandatory science classes where we covered biology, chemistry and physics. The majority of that stuff I haven't used since. With computers being more and more a part of our daily lives, why shouldn't coding be part of what we teach our kids? If they don't take an interest in it then that's fine, but there'll be a good chunk that will then use it later on in life. Not to mention that it's actually great for teaching problem solving. Showing that breaking down a problem and solving it in a number of steps really helps grasp how to solve a problem.
- traviswingo 10y agoI think the article title and body are a bit disconnected. The author doesn't _really_ want no one to learn to code. They do, however, want to make sure people understand it's not going to be their golden ticket to the Wonka factory.
- nrjames 10y agoIt is useful for people to understand what goes into developing software in the same way that it is useful for people to learn geometry in high school. Code is the most tangible form of algorithmic thinking that is accessible to most people. If a few hours of coding help people understand what it means to think that way, then it's a good thing for them to do. I took a drawing class, as an adult, to help me understand artistic perception. I'll never make a trade of it, however.
- tmptmp 10y ago>>Meanwhile, my friend wrote his code only after thoroughly understanding the problem. He used almost all the allotted time to think about the problem. He did not write code until minutes before the deadline. I fully appreciate this. Indeed, coming up with good idea of exactly what the problem is and then getting an idea of a computational solution are the most crucial steps to programming. Once you get a fairly clear picture of a computational solution, you can very easily write the code. But coding is what must be done ultimately. If you do not write code that can be executed on an electronic (till now) computer, you haven't actually solved the problem, period. No amount of hand waving can do away the coding. I think, a child who learns to code can get many cognitive benefits out of it. Of course, jumping right into coding without giving a thought as to what the problem is is a sure-shot way to frustration and other ill-effects. It's like getting a soldering gun and trying to build a complex circuit without doing any analysis and design first.
- CMYK5 10y agoI fully enjoy "knowing" how to code (hacky js/html/css/sql, mostly from stackoverflow). It helps me understand and communicate problems in my day to day job, it's fun to mess around with for creative projects outside of work. I don't think I'd enjoy it as a full time job. I do think the analytical aspects, along with the ability to create something from "nothing" makes it worthwhile to learn for most people.
- gheeohm 10y agoAs someone with zero previous experience who attended an 8-month "Software Developer" program (not at a bootcamp but at a locally well-known public school in Vancouver) 2 years ago, for the hyped-up reasons the author mentions in the article (job availability, the "cool dynamic startup" factor, flexibility), I certainly agree with the premise that coding is simply not as easy as some people advertise it to be, and is not for everyone. Now in a Junior Dev role working on complex ETL applications for the last year and half, I certainly feel like I am running on thin ice in my role due to my lack of knowledge about data structures, algorithms, and general computer science basics. Certainly, the internet offers many resources for the right learner, but for those like myself who are not particularly gifted individuals, it would take another number of years to think about calling myself a "software developer" instead of a "coding technician".
- vonseel 10y agoKeep at it. What you can learn on-the-job from experience is much more valuable than anything you can learn in a dev bootcamp or through other avenues, IMO. I doubt you need many fancy "algorithms" to write complex ETL applications.
- kordless 10y agoThe author of this article is as much as admitting he was expecting strong reactions from the post title. I believe we should remove this click-bait headlined article from this (mostly) non-polarized place.
- nxzero 10y agoDream of the day everyone decides to "Learn to Hack" - since learning to code will only go so far.
- leroy_masochist 10y ago> Basel Farag is an iOS Engineer (he thinks). Besides GPU processors, robits and AI, Basel enjoys learning about computer science, astronomy and philosophy. He was once referred to as "the Daft Punk of people," a phrase whose meaning eludes him to this day, but which he's pretty sure is a compliment. Please don't learn to humblebrag.
- jernfrost 10y agoThis is attacking a strawman, as someone who will enthusiastically promote coding in schools and who try to teach my kids coding, my idea has never been that everybody needs to become a software developer. To me learning coding is like learning math or history. It is an essential skill for modern society even if our primary job is not necessarily centered on those skills. I believe done right, programming is a good way for many to understand many concepts in mathematics better. Many fields would benefit from just minuscule amounts of automation, yet they are not doing it because those working in the field have no understanding of the possibilities of automation. Having basic understanding of programming would let you understand better when and where tasks can be automated, even if you aren not necessarily the person doing the automation. Almost everybody today use some form of software for their job. This software could offer better forms of automation of repetitive tasks if there was a basic general knowledge of the principles of programming. Understanding how a task can be divided into multiple steps, which can be repeated by loops or conditionally performed by if statements does not require deeper understandings of singleton patterns, factory objects, strategy patterns, open closed principles, linked lists, binary search trees etc. Useful things can be done with simple programs.
- 0xdeadbeefbabe 10y agoI've heard that in Japan programming is just another job. Are they ahead of the curve on this?
- andrewfromx 10y agookay but should high school really have required classes for Calculus but NOT intro to programming? I don't understand why our kids _must_ learn math at a high level, but even basic programming is not required.
- danso 10y ago> Software engineering is a lucrative field, but the transformation from “coder” to “engineer” is challenging. And in other news, going from "I know how to read and write" to "I just wrote the next Harry Potter" is also lucrative yet challenging.
- mrzool 10y agoI'm sorry, but didn't this same article get posted two or three years ago? Looks incredibly familiar.
- pdxgene 10y ago"Please don't learn to code" keeps echoing in my head as "Please don't learn to read and write music". There's intrinsic value in understanding the technology on which our life now fundamentally depends, as well as value in the intellectual rigor and skill development that "learning to code" requires. I worry that the ultimate end of the "don't learn to code" path looks likely something like Economics -- a sadly esoteric subject on which those ignorant of it are nonetheless dependent, to their detriment.
- shostack 10y agoAgreed on not just doing it for the money, but learning for the sake of learning can be very rewarding and valuable. I'm a marketer, but I consider myself a technical one. I taught myself HTML and CSS years ago, picked up some JS, learned quite a bit of Ruby and RoR, some database stuff, and genuinely enjoy learning about computers and how they work. I don't use the bulk of it in my day-to-day, but knowing how to break down a problem into individual components, and more importantly, knowing the scope of what is possible with technology, has been a huge benefit for me (particularly on the analytics side of things). I'm learning guitar now after having been pretty decent at clarinet when I was younger. It is humbling, and a slog, but it is making me think about music in new ways, and now I'll never look at a talented guitar player again and think "yeah, that looks easy, anyone can do it" when I know I physically can't stretch my fingers to play half those chords yet. Learning a new discipline, even just the basics, is often enough to expand your world view, give you newfound respect for those that are experts, and can help you grow as a person. Being a "Renaissance Man" is something a lot of people have given up on but an idea I still think has quite a bit of merit.
- lefnire 10y agoPlease DO learn to code - https://jobpigapp.com/blog.html#/4 https://jobpigapp.com/blog.html#/4
- timwaagh 10y agothis does not really fit my experience. If you've got a decently sized brain you can learn to code and get a job doing it. it wont be the best job and certainly to me, developer is not a dream job. its not even a very high paying job. but it pays the bills and can get you a mortgage and there is enough work. software development will be the working class of this century.