16 ms·
Will the Push for Coding Lead to ‘Technical Ghettos’?
- empath75 11y agoI don't get the complaint that teaching Java and JavaScript puts them on the bottom rung. You have to learn on some programming language and those are as good as any, though starting on Java sounds painful.
- mfoy_ 11y agoI think he's implying that teaching them how to code and not how to design programs will be the new "vocational" equivalent. Although this issue seems like it just generally applies to the education system as a whole, not specific at all to coding... unless I'm missing some key point. Also, I think perhaps the issue is with allowing "coding" classes to qualify as math/science credits may encourage some students to essentially come out of highschool with a working knowledge of how to write java / javascript to accomplish certain tasks but have little analytical training (ie the scientific method, math beyond the basics, etc)
- douche 11y agoMath as taught in US high schools has very little to do with anything of real value. It's basically an SAT prep program, to push people through to calculus. I could very nearly count on a railway brakeman's fingers the number of times that high school math has been an asset in my software career. The three years of computer programming electives I took were wildly more useful - and actually taught me geometry...
- mfoy_ 11y agoI would argue that well-taught geometry and such will make learning programming muuuch easier. Linear algebra has a lot of concepts that translate quite neatly to programming. Set theory, functions, etc. Formal logic is also a great asset for understanding branching logic. Then again, learning how to program probably also makes learning those concepts easier too, as it goes both ways...
- fluxquanta 11y agoNot to disagree with the idea of their importance, but linear algebra, set theory, and formal logic are things I had not even heard of in a relatively impoverished public high school, much less had courses on. Hell, I had to take the AP Calculus AB twice -- not because I did poorly the first time, but because there was no other courses for me to take and I didn't want to go a year without any math before college.
- jimbokun 11y agoAnd why take a vocational track, when you can get a 4 year comp sci degree and take on many more thousands of dollars in debt, to get the same job!
- tanker 11y agoAgreed, with the additional observation that this is just a reservation builder akin to a knowledge of Microsoft Office products from yesteryear.
- vmorgulis 11y agoJava jobs are well paid and Javascript is the new BASIC. It's not a bad choice.
- venomsnake 11y agoAnd C and Haskell teach you how to pick up those two in less than a week when you have mastered them. If your goal is not to have codemonkeys - you need to give the people skills to develop themselves further - which means knowing how computers work.
- tveita 11y agoNothing the majority of people learn in High School is well paid. If these programs are effective, entry-level programming jobs will drop to minimum wage from the increased supply. "Coding literacy" may or may not be a worthwhile goal with a net positive impact, but it is certainly not going to let everyone get in on the current tech salaries.
- vmorgulis 11y ago> If these programs are effective, entry-level programming jobs will drop to minimum wage from the increased supply. I think there not very effective but can give a bit of programming culture and maybe the real programming virus to few. This dicussion reminds my the personnal experience of "prog21" at school on a Apple ][: > One guy presented this amazing demo full of animation and shaded images. I'm talking crazy stuff, like a skull that dripped blood from its eye into a rising pool at the bottom of the screen. And that was just one segment of his project. I was stunned. Clearly I wasn't the hotshot programmer I thought was. http://prog21.dadgum.com/87.html http://prog21.dadgum.com/87.html
- kuschku 11y ago> You have to learn on some programming language and those are as good as any, though starting on Java sounds painful. Not really – but I won’t make that argument myself, but instead link to pg’s "Blub Paradox": http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
- jkot 11y agoYou dont need phd in mathematics to be a good software developer.
- jcoffland 11y agoBut it sure helps of you want to do any scientific computing.
- danso 11y agoI know the reasons for teaching Java...but I really wish that when a coding curriculum is decided upon, we go to something as close to the *nix-like shell as possible. I'm teaching Python to non-CS college students right now, and it never fails to amaze me how many times I have to remind them that we're dealing with text and textfiles, whether it's web scraping or counting words in Shakespeare or accessing an API. If they have any doubt what they just opened and read into memory, or wrote to disk, just switch over to the GUI (i.e. Finder on OS X) and inspect the file the "old fashioned way". The students that get it are the ones who can use programming on a casual basis...I don't attempt to teach the basics of comsci theory, but if someone can see that a task is repeatable and abstractable into a for-loop, and then apply that to something "real-world", even if it's just something like sending or collecting tweets, or managing photos...that to me is what students in a general curriculum should be learning: that the power of programming is the ability to control a computer at the granular level that you need to do exactly what you plan for. Not just learning how to push buttons on an interface designed for general consumption. The other stuff...algorithmic efficiency, recursion, design...can come later, and are much easier to teach after you've appreciated the potential of computing and computational thinking.
- mpbm 11y agoIs it just me, or was the entire "question" in the article irrelevant? Like, yes just "learning to code" doesn't make you a good programmer. But just "learning to write" doesn't make you a good author either. You have to get an introduction and basic skills somewhere, even if most people will never go on to develop or profit from those skills.
- armitron 11y agoThis also assumes that everyone can become a good programmer, which is IMO far from being the case. Programming is an ART, not everyone can be Bach or Picasso even though most can slap paint on canvas or hit keys on a piano. It's actually a lot worse with software engineering because the end result doesn't only have aesthetic value but is an interconnected system that in many cases subsumes many facets of our everyday lives. Software engineering is hard and requires intelligence, creativity and experience. Pretending that everyone can be a good/effective software engineer through training alone is supremely naive, actively encouraging this sort of society is extremely dangerous. TL;DR There is no room for egalitarianism in software, it should be a meritocracy first and foremost, where the best are encouraged and those not cut out for it swiftly dropped from further participation. We have experienced what bad software engineers can do and the cost to society at large that they are directly responsible for. Let's not pretend that this new populist push will improve matters.
- rileymat2 11y agoMy CRUD apps are super artful.
- armitron 11y agoHopefully we don't end up relying on them for anything serious! All jokes aside, there is also the diluting factor to take into account. A lot of the mechanical/boring/repetitive software engineering type tasks (e.g. javascript/php/java code monkeys that spend half of their working hours looking up answers at stackoverflow.com and the other half trying to implement said answers by clumsily glueing together 3rd party code) can be expected to go away by automation in the not-too-distant future. Thus we end up with extreme dilution of the prime domain by substandard/incompetent coders.
- seltzered_ 11y agoCould this also be confused with a less condescending term - like Anil Dash's concept of "blue collar programmer"? (http://anildash.com/2012/10/the-blue-collar-coder.html http://anildash.com/2012/10/the-blue-collar-coder.html ) (Or Reginald Braythewathe's term of " Clerical engineering work" )
- DawkinsGawd 11y agoI am very much torn between this on multiple levels. On the most superficial level, I do not want development to become "blue collar" because I am a developer and don't want to think of myself as blue collar. With my personal bias out of the way: Do you think it's possible for development to be the new manufacturing? I have been saying that it is for years now - but I don't know if I truly believe it or not. There is a large academic distinction between coding and manufacturing. Solid middle class manufacturing jobs were mostly mindless monkey work. Screw this on, put that in the hole it fits in, etc. The more I work on this internal Java ERP/CRM sites the more I think it is monkey work too, but when I take a step back I realize that I have been programming since I was 10 (16 years), I have a bachelors degree in computer science, I have several years of working experience and after work I go home and code. The work generally seems like turn key work to me, but I'm not sure if that is true. Basically I'm saying that I don't necessarily believe the masses are smart enough to be developers even for shitty intranet applications
- DawkinsGawd 11y agoP.S. The articles is beyond stupid. I use to love technology because it was apolitical and was never muddled with things like "race" and "micro aggression". It seems like every tech article I read now has something to say about minorities or under represented youth or woman. Give it a rest already. Anyone can start coding. All you need is notepad. I do appreciate how the article makes a distinction between computer science and programming. We already have a computer science education in school. Its called math.
- Spooky23 11y agoMaybe we shouldn't teach people how to write, as they may grow up to write trite race baiting articles. I was fortunate to have an uncle in IT who gifted me hand me down IBM PC hardware that my parents could not afford in the 80s. I was making more money in high school with stuff I was able to self teach than many of my "privleged" relatives in real adult jobs. These coding initiatives are great, as they introduce kids to a whole new world of inspiration and discovery.
- jimbokun 11y agoSounds more to me like a bunch of computer science professors trying to market 4 year degrees and 10s (or 100s) of thousands of dollars in debt to lower income African Americans, with questionable benefits in terms of employment outcomes.
- nmrm2 11y ago> computer science professors generally speaking couldn't care less about the marketability of their degree programs among the general public, much less the lower income general public. Enrollment numbers just aren't important enough currency in higher ed to devote enough effort to get the president and a bunch of celebrities on board. Deans, maybe. But not run-of-the-mill professors. And even then, almost all CS programs have the exact opposite problem right now -- too many people and too much hype so that it's hard to predict the future and grow sustainably. Besides, it is a very well-documented fact that the current push for STEM -- and specifically CS -- education is coming from political types and insdustry folks.
- cableshaft 11y agoI had a CS professor that said that during the dot com heyday they were seeing hundreds of cs majors every year, and it was a mess as most of them didn't belong and were just there because it was pretty much guaranteed work for high pay and keeping up with everything was a pain in the ass. But then the dot bust happened and enrollment went back down to much more reasonable numbers, and she was a lot happier for it. So yeah, I doubt professors are the ones pushing too hard for this.
- nmrm2 11y ago> Offering a glimpse into the not-too-distant future, [Joseph Sweeney] describes a day when... artificial-intelligence system will build the app... Coding might then be nearly obsolete It's always cute to hear school administrators (or any non-technical policy types) predict the future based upon superficial understanding of the underlying science and technology. Code synthesis for fully specified and very simple programs is still considered a hard problem. Automating the entire software and product design process is fully AI hard.
- AnimalMuppet 11y agoTo steal something I saw over the weekend: "Your [Sweeney's] position is like a penguin, different, cute, and interesting... but it ain't gonna fly."
- DawkinsGawd 11y agoAI-hard - nice. thanks for teaching me a new word.
- jimbokun 11y agoMaybe the student has an inspiration for a business based on observations of their friends, or to solve a business problem their parents have, and just needs to learn enough to write an app to test out their hypothesis. Needing to hire a developer to test even the simplest ideas presents a very high barrier to entry. If someone can code even a little bit, it really opens lots of opportunities, even without data structures, algorithms, and the rest of the computer science curriculum.
- jMyles 11y agoI usually try to temper my judgments on these sorts of articles, but this is patently ridiculous. Is it the police and prison systems that are endangering another generation of black and brown youth? Is it the lack of fresh, organic food in inner-cities? Maybe it's the fact that black and brown parents have, at a disgustingly disproportionate rate, been taken away from their families for possession of plants and chemicals that are likely to be legal soon anyway? No, no, it's not that stuff. It's the fact that kids are learning Java and Javascript instead of Python and Go and Rust.
- forgetsusername 11y ago>No, no, it's not that stuff Maybe it's the combination of many potential social problems, and the author is writing about one specifically? I don't see anywhere it's stated that this is the biggest issue facing youth of colour.
- jMyles 11y agoI'm disagreeing on both ends: 1) I don't think Java and Javascript are bad languages to learn (nor even that the matter of which languages to learn is particularly important), and 2) I also think that systemic racism is a big enough concern as to completely obfuscate any effect that learning Java and Javascript (to the temporary exclusion of other languages) might have.
- PaulHoule 11y agoMake 'em learn COBOL!
- jcoffland 11y agoThe article says over and over that learning to code is not CS. I fully agree but then it goes on to imply that CS is really about problem solving skills which is also inaccurate. CS is fundamentally about data structures and algorithms and it branches off from there into many subtopics. People often forget about the S in CS and mentally substitute a T for technology. Arguably most employers these days really want software engineers not computer scientists anyway.
- spiralpolitik 11y agoMost intern resumes that I've seen recently have Java, Python, and Javascript on them. A few add C/C++ to those. I've only seen one with anything approaching a functional language (OCaml). Personally I think Python, Java, or Javascript are good places to start coding. Python has the slight edge because there are a lot of good educational kits (Raspberry Pi as an example) that really make learning to code fun although the whole 2.x/3.x mess muddies the water a bit. I think once the tooling gets a little bit better then Haskell could easily be added to that list. It's close but not quite there today.
- cableshaft 11y agoI have some functional programming experience, but I've never put it on the resume because I have never seen any company request experience in it, so it seems like a waste of space to put it on there. So that could explain why you never usually see it on a resume.
- condud 11y ago> Is it the lack of fresh, organic food in inner-cities? Ha ha ha ha you think people are held back because their food isn't organic? Ha ha ha ha ha!
- placeybordeaux 11y agoI have lived in a food desert, it sucks and seriously affects what meals you have. Organic is a bit of a red-herring here IMO.
- jMyles 11y ago> Organic is a bit of a red-herring here IMO. Why?
- condud 11y agoMate there is no scientific consensus that organic is more nutritional than non-organic. And there is no scientific consensus the the pesticides are harmful in the levels in which they appear. 'Organic' food is a middle class indulgence and a fashion. Their biggest problem is not that they don't have a a Whole Foods. You're ignorant.
- jMyles 11y ago> You're ignorant. Thanks for the ad-hominen - it really advances your position and lends credibility to your argument. > Mate there is no scientific consensus that organic is more nutritional than non-organic. By moving the goalposts this way, you have ensured both that your statement is technically accurate and that it is irrelevant to this discussion. Needless to say (and it has been rehashed over and over), nothing in the world enjoys scientific consensus. Not climate change, not vaccination efficacy. Nevertheless, reasonable people make decisions based in part on positions that overwhelm, with solid evidence, the contrary position. Organic food is not designed to be more nutritious, although it often is (at least according to the EU study which came out this month and which is by far the largest and most rigorous study on the matter - http://mobile.nytimes.com/blogs/well/2016/02/15/more-omega-3-in-organic-meat-and-milk-review-of-studies-says/ http://mobile.nytimes.com/blogs/well/2016/02/15/more-omega-3...). It is designed to be less toxic, not only for the consumer but for the farm workers and the land. There is overwhelming evidence that organic farming achieves these goals. The one major study (the Stanford study, linked above) which deviates from this position is quite controversial (for the reasons I have also linked above). On the other hand, hundreds of studies around the world have shown that organic farming is effective. Here's one from two weeks ago: http://blog.journals.cambridge.org/2016/02/16/health-benefits-of-organic-milk-and-meat/ http://blog.journals.cambridge.org/2016/02/16/health-benefit...
- Theodores 11y agoI think this push for coding thing is great. I see being able to code as a thing like literacy, either you have it or you don't, and, if you don't have it, then you are going to be held back and not reach your own potential. In the workplace I see a lot of people using 1990's tools like Excel to create 'reports' of some sort, where the data in them is as good as dead. Meanwhile, those of us that can do a database join or two and get the results in some type of web page (or text file) don't have to keep creating the same 'reports'. The computer just does it thereafter. Companies that used to have a web page (and not much more) are now using online tools for business, whether that is getting stuff out the door, handling customer service, doing business intelligence things, in fact almost everything gets touched on by this 'web' way of working. Doing things in legacy tools (Excel spreadsheets, Word docs) just does not cut it anymore, things now get done in a web-style way with some backend processes bespoke to the given business smoothing things along. 'Let's go back to doing everything in Excel' is the new 'let's go back to doing everything on paper'. Even if one is not proficient at coding it is still important to be able to work with those that are, to be able to describe processes in a way that can be 'automated' to some extent, a 'systems approach' rather than hand-me-down ways of working. This automation does not necessarily put people out of work, it empowers people to be able to do their actual work without the tedium of repetitive tasks. They can be more customer focused, do better 'business intelligence' or keep better tabs on getting stuff out the door. There was a revolution in the 1990's when Word came along and replaced Wordperfect. Suddenly people could type their own letters and memos, they did not need to dictate to a secretary. Oddly nobody has gone back to the 'Wordperfect' ways of working. Code (particularly on the web, whether front or backend) is like that, a game changer, and I want to see people coding, not necessarily to do some SF next-unicorn thing but just to be able to be participant in regular SME businesses.
- DawkinsGawd 11y agoI know entire organizations that run off excel spreadsheets
- errorr42 11y agoI have 0 believe in hordes of burger flippers became software developers. We should just face it- to become one you need at least 85+ IQ as starting point. There is no excesses for anyone who lives in first world country. You CAN get access to computing and education, it just your lazy arse stopping you, not evil capitalistic white technocrats.
- VOYD 11y agoYes.
- ksoul1 11y agoBottom rung is still 60k Which is much higher than most Americans. You'd be in your tech ghetto making more than your friends who went to a 4 year.
- gexla 11y ago> Coding is one piece of computational literacy Literacy is the wrong word to use here. It doesn't work to compare English literacy with this sort of thing. English literacy in school is gained by a lot of practice. Writing, even if it's texting friends, is something you do daily and throughout the day. The written language is in the same language (though there is some transformation involved in turning words in the brain to symbols on paper) in which you think and speak. Doing something like computer programming is far different. You won't get daily practice just by going through the norms of life. Even pushing yourself to getting daily practice won't happen if you don't have something on your plate which is interesting. People are lazy by default and just opening an editor can be too much effort. I procrastinate bad enough on paid projects, let alone things nobody is expecting me to do. Just because people can read, doesn't mean they pick up books to better themselves. People would much rather be spoon-fed entertainment through TV. I don't see the point of learning to code beyond having some familiarity with it. For this to be a useful skill you have to put a huge effort into keeping up with it. Learning a different language is a huge barrier (not difficult, but for surpasses the point of which most people are willing to go.) Jobs aren't easy to land. There is no equivalent to manufacturing in tech which can lead to an army of workers being employed. The tech rabbit hole grows deeper each day as we add more tools and specialty areas in which we need to be familiar with. Areas such as wrangling data has a daunting list of pre-reqs and I imagine this will be a trend moving forward (programming paired with knowledge of the domain you are building software for.)o The sad fact is that technical knowledge doesn't take down the issues which data shows to be a problem with people in ghettos. People who live in a ghetto have a hard time moving. A life of poverty creates huge issues which people who don't live in poverty don't understand. It's called grinding poverty for a reason. The grinding is going on in your head and that will drive you mad. For a long list of reasons, jumping past the most bottom rung of the employment latter is something few people in this situation will ever be able to do. A well paid programming job isn't a bottom rung job. Well paid development jobs are well paid because they are hard to get and hard to employ for. If it were easy, then they wouldn't be well paid. Teaching people in the ghetto how to write code isn't going to help them get these jobs and it isn't going to help employers in hiring. Freelancing and the gig economy is even worse. You can make far more money going solo by starting your own shop than by traditional employment. But the same ratios work here as in the rest of the economy. You get 1% (or less) who can figure out the game and thrive while everyone else just scrapes by.
- tzs 11y ago> Kamau Bobb, the program director in computer-science education at NSF and Brown’s colleague, notes that the dominant argument in support of youth of color learning to code is to “get a good job”—creating a stratified system where students from racial and ethnic groups, and lower socioeconomic backgrounds, are prepped for work as service technicians and helpdesk agents How does learning to code prep one for work as a service technician or helpdesk agent?
- nmrm2 11y ago> How does learning to code prep one for work as a service technician or helpdesk agent? Because it's treated as an alternative to the main-line college preparedness curriculum. This isn't Algebra I + Programming I. It's Programming I instead of Algebra I. Because if you're not good enough at math to do well on college entrance exams, you might as well start your career readiness... (This is rally hard for us folk out in the real world to understand. We know that programming is a high-demand field precisely because it requires a level of intellectual preparedness similar to or sometimes even greater than that obtained while successfully completing a college degree. But K-12 people in the US tend to be idiotic about credentialism. So where we see "exceptional self-learner with great work ethic can make it without a college degree in software", they see "any schmuck who can't hack it at college can get a high paying computer job")
- bdcravens 11y agoI don't have a CS degree, let alone a bachelor's degree (I have a couple of associates unrelated to my career). I'm principally self-taught, and while I occasionally see gaps in my knowledge, I perform at a very high level: I've been a tech editor on major publisher titles, run a user group, spoken at conferences, and my current role is essentially CTO. I presume my technical education is similar to someone learning just the job. Counterpoints: I always excelled at math, and while I did grow up very poor, I am a white male.