15 ms·
Programming Is Not for Everybody
- halcyondaze 14y agoCome on now, there are very few things that are for everyone...what is the point of this article?
- Pkeod 14y agoTo complain. He could change his life. He could code fun games. It's his own choice to code things uninspiring. Many people work in careers not right for them. Why is he doing something he doesn't enjoy when there is so much other opportunity for him to enjoy his life. Making things come to life through code is a joyful delight. Writing an entire complex programming at once in a rush, compiling it, running it, and it actually works... first few times, hundredth, thousandth time sometimes it's still amazing. And I'm no expert programmer. I mostly paint. Based on his writing, I believe this Smith is at risk for burnout.
- jiggy2011 14y agoTo be fair, whilst the poster might be able to quit and write fun games (although based on anecdotes from people I know who have worked in the games industry it's not as fun as one might imagine) by necessity not everyone in programmer can be a game developer or work at a startup. Some % of programming jobs (probably a fairly high %) is going to be writing the boring crap. So if you want to work as a programmer you have to accept that there is a chance that this is what you end up doing for at least some or maybe all of your career.
- Pkeod 14y agoI'm an indie game developer and the way I see it is a choice for anyone to work independently. Some people are adamant about working for others and accepting whatever boring job they can get. Making games isn't the perfect thing to do, but it is possible, and I wouldn't trade it for anything. Yes, working at a AAA studio can suck, but that's a choice also. Boring crap to you doesn't mean it's boring to everyone. Who are we to impose our value system upon others. Some people just love modeling 3d crates all day and that's their mission in life to create the perfect 3d crate. Other people walk by and wonder why he's wasting his life creating crate after crate. It's not cool to me to rationalize something someone doesn't like doing just because someone has to do it. Let someone who actually likes it do it. > you have to accept that Only if you are not in control of your own life. There is no rule which say what you must ultimately do. If your goal is to do x and that requires ultimately doing a lot of y, you can still change what you want to do to z and immediately go for it. So many of my friends are insistently passionate about wanting to work for AAA game companies and I know their glamorous dreams are going to put them through a lot of potential slog, but that's not the only choice. It is their choice to go in that direction and accept the outcome of that direction. There are plenty of other options. Smith is idealizing coding games and working on programming projects which inspire him. He should go do either of those instead.
- jiggy2011 14y agoIt depends on supply and demand, ultimately there is only so much demand for video games, social networks or whatever types of things people might want to work on even if they weren't being paid. Then the rest of the demand is for jobs that people basically only do for money (think TPS report generators or whatever). So ultimately some people end up being allocated to jobs that they would not choose for themselves unless they were being paid. So you only get a "choice" in so much as there is unsatisfied demand for the thing that you really want to do.
- chill1 14y agoSupply and demand? Really? There is no limit, no ceiling for things that truly inspire. If you make something with passion and skill - something that inspires others - you are probably going to do very well in life.
- jiggy2011 14y agoThat sounds nice, but is a little empty. There are plenty of people who we now consider incredibly important figures (artists etc) who died broke.
- Pkeod 14y agoAnd many who lived extremely fulfilling lives outside of accepting money for work. Everything is a choice. The people who refuse to not be smart about business refuse to take what they need - so they get what they get much like people who only work when a job is offered to them. Money is rarely made by accident. It is more likely to be made when you mix choice with opportunity.
- jiggy2011 14y agoIt's a choice to "choose to be smart", you can try to be smart but fail.
- evanmoran 14y agoAs someone who quit his fancy tech job and started a video game company, I can say with certainty that games are not as fun to code as you would think =). The fun part (gameplay, game balance, story-telling, level creation) all happen near the end. In fact, they happen so close to the end that games often don't finish. They will have one third great story, two thirds great levels, and the rest is just rushed and crap. The reason for this is the tools we made -- game engine for rendering & AI, level editors, resource packers, art post processors, etc, this is how the game really is put together. You don't make a game, you make a series of tools that help other people (game designers, artists, writers, AI scriptors) make a game. Now it is a blast making a work of collaborative art -- because writing and art are awesome -- but making a tool for a game is VERY similar to making an office suite or a complex website. It is all just data and interfaces. All the same usability/complexity tradeoffs apply. I guess what I'm saying is the author's attitude made sense to me, and I know for sure that I'm not not at risk for burnout -- I love this shit. I love making games, but really it is because I love to program. Stories and art and gameplay are all bonuses, but if I didn't love the code it would still be terrible. That makes me wonder if coding is for everyone. I would love for it to be, but I'm really not sure. Lastly, I recently taught someone to code from the ground up and the biggest single lesson was this: You will spend most of your day not knowing the answer. You will think and think and wonder and wonder. Is there even an answer to find? Is rails just too slow or are my queries crap? Can the iOS animation engine handle what you are doing or did you just add too many quartz-level effects and that is why it is super slow? You won't know the answer, you will doubt yourself, but over time you will actually become comfortable with not knowing. And even then, you will still be surprised (and pleased) when you figure it out. It is unending and I think it takes a special someone to enjoy that sort of life. tl;dr Changing your life isn't always the answer. Coding is hard, doubt is hard, and games aren't as fun to write as you would think.
- Pkeod 14y agoI never had a fancy tech job, or really any fancy job. I've had jobs. I moved industrial pipe for a few years in my teens. Not my favorite thing, but it was a choice. I worked for Sears for a few years up until I was 18. Worst years of my life. Also a choice. I've been making games since I was 11 and I'm just about 25. When I was 18 I decided to take it seriously and now here I am. I choose to do this. I can do programming, but I like art more, and I work with people who are just as passionate as I am. I love programming when I do it. I have a game on Steam, games on iOS and Android. I am dead set on doing great things not just with games but with culture and the future of humanity. >The fun part (gameplay, game balance, story-telling, level creation) all happen near the end. Then you are doing it wrong. There are so many tools available which allow you to skip so much of the technical parts and get to the parts you like. You can choose to use them, or you can choose to build your own. >You don't make a game, you make a series of tools That's a choice, and a huge thing newbies to game development are cautioned against. Don't make tools - make games! The tools are already made, don't reinvent the wheel. Yet so many insist on doing just that, and I have no sympathy for them.
- rmrfrmrf 14y agoTalk about missing the point entirely. Wow.
- deleted 14y ago[deleted]
- jiggy2011 14y agoOf course programming is not "for everyone", if nothing else simply because the economy wouldn't work properly if everyone was a programmer. I do think that everyone with a reasonable intellect can learn some amount of programming literacy though. The point of having universal programming education is not so that everyone can become a software engineer, it's so that you can have a society where >50% of people in the workforce understand the difference between an if and a for loop and have some notion that you can nest computer programs inside each other using functions etc. When I was at school we all had to play football (soccer), the notion that I would ever become a professional football player is laughable but I assume that I learnt something about fitness, strategy and teamwork from the exercise.
- ruswick 14y agoOn the economic note, I'm actually quite surprised at the level of altruism present in the industry. Although most won't become professionals, the rate of matriculation into the workforce will still be greater than that of football players, and will still have adverse effects. Proliferation of programming can only lead to a more saturated labor force and lower wages. Yet, people still enthusiastically champion programming education... It just seems odd to me. Very few other professions are keen on diminishing their employment prospects in the name of education.
- jiggy2011 14y agoI think most professions are reasonably happy to educate people when given the opportunity. Sure, more programmers might lead to labour saturation but the bigger risk is that an emerging market country sees the opportunity and captures the demand first which will cause first world programmers to have to compete with hordes of lower priced competitors rather than a smaller number of domestic ones.
- stan_rogers 14y agoThat's not really the point. Or, rather, that really shouldn't be the point. There will always be the silly realities and quirks of computer systems that will take some intense local domain knowledge to work around, and for that we will always need a class of programming professionals. But programming entails a hell of a lot more than the world of computers. The words program and procedure existed before computers did; computers merely forced us to acknowledge the need for and develop a formal means of describing and discussing procedure. That kind of knowledge isn't bound by any particular class of machine, nor by any language. It applies to almost every aspect of complex endeavour. It allows people to think about how they are doing things. Just as a Karnaugh map can help a circuit designer see redundancies in logical inputs, a codified description of a process—any process—can help people see ineficiencies and redundancies in what they are doing (or what they are having other people do). Perhaps we don't really want to Taylorize the world, but if people can find ways to eliminate wasted effort, then they benefit whether they ever program a computer or not.
- simonsarris 14y agoThis would be better titled "The 'What Schools Don’t Teach' video does not accurately depict the median life of a programmer". Which is true, and he gives a lot of points to support it, and I'd nod my head for the entire article if that was the title. From my perspective though none of his points seem to support his chosen title, "Programming is not for everybody." (It gets a lot sillier when you realize that nobody would title an article "Logic is not for everybody.") John McCarthy (AI, Lisp) once said something akin to: "I think everyone should learn programming. It's the language we'll use to talk to our servants." I think there is something in programming for everybody. It doesn't have to be compiler design or making the next facebook. Even if its just understanding what an algorithm means, so that you can write clear directions (a recipe, after all, is just an algorithm for preparing food, complete with for/while loops, etc). Programming is just logic plus communication. And being able to convey ideas more clearly and more accurately is a delightful skill that will find uses all over life, regardless of if your job is programmer, EMT, chef, etc.
- jd007 14y agoYou imply that logical thinking is a desirable trait for everybody, which may not be necessarily true. I think that programming teaches you a way of thinking that you cannot really get rid of after acquiring it, and though good for a lot of people, may not be good for everybody. For example some artists may not want to "limit" their thought process to just logical, to more freely connect with and express their emotions (by no means am I implying that programmers lack of emotional connections). But after being trained to program it may be quite difficult to think any other way but logically. I want to live in a world where I can find and talk to somebody who has not learned to program, who does not have any idea how computers work, but is exceptional in some other completely unrelated field, to see how they think, what their opinions are (which could be very different from my own yet extremely interesting). A world where (nearly) everybody has learned to program means it won't be possible (or at least very difficult) for me to do that. Getting everybody to program of course has its many benefits to society, but the "What Schools Don’t Teach" video and similar articles always seem to imply that there is absolutely no downside, which I personally believe may not be true.
- 14y ago
- DGrutt 14y agoLets get one thing straight: you don't play poker against the house but against other players... Maybe this is a game can be beat... but you have to play sitting down.
- martinced 14y agoActually when you put players of similar levels together and make them plays tens of thousands of hands together, all these players are going to be break-even... If not for the rake that the house takes. This is already seen in online poker in cash games at some limits where there are a lot of regulars. And it's very often discussed (and criticized) in online poker forums, where they say that these regulars are just shifting the money all around, with the house being the only real winner. So your oversimplification doesn't get anything straight. When you play poker you play against other players and against the house (rake and buy-in fees). To give you an idea: there are semi-pro who would be losing players but who are actually making quite a decent profit only thanks to the partial rake-back that the house gives them (regulars players playing lots of hands get back a % of the rake they paid, which is called the rakeback).
- adaml_623 14y agoI think his point was: Programming for a company = Playing in a casino (virtual or otherwise) Programming for your own startup = Playing against players of a wide level of skills without a 'house' taking your money.
- robbrown451 14y agoSo you shouldn't teach arithmetic, algebra, music, art, literature, chemistry....or any number of other things because everyone isn't going to use those things professionally? Personally I think programming is a better thing for grade schoolers to spend their time doing than so many other things. I think a very large number of them would find it fun, and less tedious than most of the other things they do, while increasing their logical and analytical skills as well as giving them a practical skill.
- gfodor 14y agoOf course, the underlying goal is not that everyone should become a programmer, but instead that everyone should be mildly proficient in what programming is, how it works, and can hopefully accomplish minor tasks by writing simple bits of code. In order to get to this less ambitious goal, code.org aims higher. If a million more students set out to become programmers, only a small percentage of them will become professionals, much like any other endeavor. But if we can even get to a point where this dabbling in code happens for a majority of young people it will be transformative enough.
- edraferi 14y agoI agree, and I think you get at a key concept: literacy vs. mastery. Relatively few people will become professional software developers, but everyone will live a life impacted by technology. Learning the basics of coding empowers you to live in the modern world. e.g. Your phone is no longer magic, it's just very impressive. Even then, there's a wide spectrum of "professional coders." There are many expert data analysts who write scripts all day (in R or Python... perhaps Stata, SPSS, etc). They're not kernel hackers, but they know why vectorization is important, and it makes them better. There are a million office workers who tweak VBA macros, and do it better because they took the time to learn why variable types are. They're not Microsoft-certified anythings, but code empowers them to be better. So, I think there's a strong argument for code literacy as an educational objective. Just like math literacy or actual literacy, it's an empowering foundation of knowledge.
- pshin45 14y agoAlmost everyone in the US knows how to read, but only a small percentage are actually great writers and most people are downright terrible at it. The same goes for programming. It should become a prerequisite at schools because software is indeed "eating the world" but only a small percentage of people who learn how to program will ever become highly competent programmers.
- martinced 14y agoIt's not for everybody and what people don't realize is that the day it's going to be for everybody is the day we'll have reached technological singularity. And all bets are off when/if that day comes. My take on it is that we won't need anyone "programming" anymore by that point. Until then you'll need people at least understanding the physical limitation of our devices/networks and being able to use at least logic (probabilities being a plus) and some "maths" to get the (programming) job done. This is definitely not for everyone. Just as writing books is not for everyone.
- concerto 14y agoI would say that programming is for everybody who is interested in how stuff works. While a career as a programmer might not be for everyone, it can be useful for someone who needs to create presentations or word documents to be able to write basic macros in vb, or for people who have websites to understand what is going on in the html/javascript. I think that is the thrust of the argument of the "everyone should code" brigade. Not that we should all be full time java/ruby/c# programmers.
- zachgalant 14y agoThe video is clearly meant to be inspiring. A lot of people think programming is too hard for them or not accessible at all, but that's simply not true. It's worth inspiring them to give themselves a shot. Of course, not everyone will be good at it, like all things, but it's better to try it out and find out. It's horrible to say to someone, "Hey there, coding is actually pretty hard, and while there are some really great perks to knowing it, you'll probably fail at getting there, and even if you don't fail, you might not end up at the place that has all of the awesome perks, just some of them, so you basically shouldn't even try." That's clearly an exaggeration of what he's saying in the article, but I'm sick of professional programmers trying to discourage non-programmers from trying out coding. It can only be a good thing for them to learn a little, so let them have dreams even if they aren't totally realistic. Who knows, many of them may reach them.
- ruswick 14y agoWhy? It is generally preferable to occupy one's time with productive action. Learning to program is going to be a futile exercise for 90% of people, and will not result in any change in income or overall happiness for 99% of them. We should not be encouraging people to attempt things from which the won't derive any benefits. It doesn't make sense to abandon pragmatism in the name of "dreams." People should be encouraged to improve talents that they do have, not coerced into attempting inordinately arcane ones for which they have no affinity. This is true not just of programming, but of all skilled practices. Programming is too difficult and the opportunity cost is high to assert that everyone can and ought to learn to program. It's best to be forthright with this fact towards those who ostensibly want to learn, but may just be infatuated with the idea that they can make Facebook.
- shubhamjain 14y agoI guess 90% people don't know what they are good at. They can't spend time polishing their talent when they don't know what it even is. I accept people should not be coerced into it but ir may not be as futile as you assume.
- Anonymous09 14y ago
- gavanwoolery 14y agoImagine you are an artist, and you are hired to paint very boring "hotel art" your whole life. Yes, your job would suck and you might as well not learn to paint. The vast, vast majority of programming jobs suck (if yours does not, you are lucky). Every single one of my jobs has been pretty boring, and many of them were relatively exciting compared to your average programming job. But I love to program. Just not for other people. I spend all of my spare time programming. To me, programming is a video game with millions of unsolved challenges, each with millions of creative solutions. The more time I invest in programming, the more empowered I feel, as if I have a second augmented brain waiting to be instructed. I agree with the majority of the author's messages. That said, programming may or may not be for everyone, but there is definitely no harm in just trying it out.
- brudgers 14y agoOne of my neighbors makes a living painting. It is unlikely you've heard of her unless you're in this regional art market. It's a job. She works every morning. She makes money painting pieces which sell, and she has a good idea about what will and won't. But she loves because she loves making art and she loves making art so much that she uses her non-working time to make art that she knows won't sell. Her "hotel art" or rather big house art is both a means to an end and a creative outlet. The choice is not one or the other.
- gavanwoolery 14y agoAgreed :)
- eshvk 14y agoPerhaps hotel art is not the right analogy that OP should have used? Here is a better analogy: Think of hiring an artist to paint the walls of a building, where painting them is defined by a rigid instruction set by a PM, we have two week sprint cycles where your progress on each wall is measured. You are actively encouraged with generous redbulls to crush painting the wall and work long hours painting the wall. You furthermore see that industry is obsessed with dozens of articles on whether people should paint their walls horizontally or vertically. There are people talking about making their first millions painting a building which has odd geometrical shapes. Yet, the reason you got into painting/art was because you loved to design and create. You loved the fact that art school gave you the opportunity to do that. You are sometimes hopeful when you go interviews and you are asked questions on design, ask to create something amazing. Hoping that maybe this time things will be different and you won't be asked to paint fucking walls.
- ianstallings 14y agoIt's cool man. The barrier to entry on programming is that the craft itself is hard. We don't need to toast their pants to let them know it's not for everyone. They'll figure that out quickly on their own. There's very little hand holding in this industry. People will help you but you have to really show you've tried first.
- jostmey 14y agoHigher level Math is not for everyone either, but schools still teach it.
- rlu 14y agoThis is one of the better negative responses to the video that I have read. And everything he says is true. However, I think there are a few things that are missing which I think are important. Firstly, I think he thinks the point of the video is to get more kids into a CS career - I can't quite disagree with that as it would in fact benefit most of the people in the video if that happened. However, I personally think the larger purpose of the video relates to the opening quote by Steve Jobs which goes something along the lines of "everyone should learn how to code because it teaches you how to think". This is not to say "learn how to code so that you can code in your job - whether it be a CS job or any other job" - it's saying that people should learn how to code for very similar reasons as to why people learn math. There are many, many majors which do not require advanced math and yet many kids take Calculus classes. It's not because you need Calculus for your job: it's because learning Calculus will give you problem solving skills, reasoning skills, and other skills which can be applied at your job. Then there's the whole aspect that, hey, you might actually have FUN coding! I definitely agree with the author squinting at the "all you need to know how to do is add and subtract" and other things of that nature. I agree that is a half truth. But IIRC, someone in the video elaborated by saying "it's all about breaking things down" - and that is extremely true. Break problems down, solve each one individually, tie things together. That is basically how I go about coding everything I do. Relates very much to abstraction. Finally the OP article mentioned that the video seemed to be deceiving kids into thinking that (a) it would be easy to get hired into a company like Facebook and that (b) every company is as fun as those shown in the video. As for (a), I disagree. The video never says anything along the lines of "you'll become an expert at coding within a week!" or even within a year. It just says "you should try this out, start today!". I would think that most people in high school would know that getting hired by "a Facebook" would be just as challenging as I would imagine it would be to get hired by "A NASA/Boeing/Lockheed Martin" if you're an Aerospace Engineer - and I'm not in that field. But what's wrong with shooting for the stars? If that sort of company interests you then by all means SET THAT AS A GOAL! But I reiterate back to one of my earlier points: this video isn't even saying "get into a CS career" - it's more of a "this is good for you, and hey, if you end up loving it, there are some really cool jobs you have the ability of applying to". So, overall the post had some good points but it seems a little misguided. Frankly the author seemed somewhat jaded. I don't know if I'm in the camp that wants everyone to be forced to take a programming class - but I would definitely be in the camp that would encourage all schools to offer it as an elective. While I agree with the author that programming is not for everyone, I certainly think that programming is something that everyone should be encouraged to try out. Not because everyone should get a career in CS, but because coding might turn out to just be a fun (and useful!) hobby for you. And hey, if you do end up really liking it, there are some cool jobs out there. Just keep in mind they're the equivalent of the NASAs and Boeings and Lockheed Martins - it's not a piece of cake to get hired into those. *small aside: I'm pretty sure any kid that ended up really liking programming would figure out that coding is a little bit harder than the video portrays it to be by the time they decided they definitely wanted to pursue a career in it. So perhaps I can conede the video may have a bit of a "bait and switch" as far as that goes, but the switch will likely happen before kids waste a bunch of time pursing a job they won't get. edit: and this ended up being much longer than intended. sorry
- jyap 14y ago"And it never stops, because the work is never ending. There’s always some feature to add or some bug to fix. There will always be a reason for you to have to stay an extra hour or two." So the point to the whole video is marketing coding as a profession as there is current and future high demand for the profession. The video isn't a documentary.
- kyllo 14y agoGet some basketball players, musicians, and billionaires to make programming seem cool to kids, so that 10 years later, you can get new Java developers for $40,000/year. Brilliant.
- pinaceae 14y agoYou want to know what they should teach at school? The basics. Programming is the application of basic skills, it in itself is a secondary skill. Which basic skills do I need for programming? Reading, Writing (as in Grammar,etc), Math, Logic Over here in Austria we still have the concept of apprenticeship. As a 15-16 year old you can switch over from the more formal academic track to an apprenticeship (more here http://en.wikipedia.org/wiki/Apprenticeship#Austria http://en.wikipedia.org/wiki/Apprenticeship#Austria). Coming from a background in constructional engineering I had a lot of opportunity to talk to employers about their opinions on the current apprentices. Common complaint: Apprentices coming out of the modern school system are useless. They arrive with practically none of the basic skills. Quickly, we need to cut this 6m board into 2m long pieces - how many do we get out of it? The more intelligent ones reach for their phone to calculate it. The world has gotten more complicated, we have a lot more knowledge and facts to teach. But a young brain can only learn so much in parallel. The good ones will teach themselves anyhow, read books or wikipedia from back to back. But there needs to be commonality and this one needs to be along the basic skill set of language, comprehension and logic. Why are so many people in debt? Because they can't understand interest if their lives depended on it - which it does. Teach programming! Teach art! Teach philosophy! Teach whatever I find interesting!
- dagw 14y agoQuickly, we need to cut this 6m board into 2m long pieces - how many do we get out of it? Two, and a leftover piece shorter than 2m. Due to the fact that saw blades have a non-zero width, and you want to err on the side of cutting them slightly too long. What do I win?
- jacquesm 14y agoHi there! I'm from ACME corp, and I would like to introduce you to our - no, your! - new water-jet cutting machine! It cuts anything, including that 6m board there with a cut so fine that you will be able to get 3 pieces of 2m out of a board of 6m, there is so little waste that within the acceptable margin of error for woodworking the cuts will be 0 width. Sold?
- jasonshen 14y agoWhat the OP doesn't get is that there are tons of other industries that have distorted and glamorous brands attached to them. Many smart, ambitious people set out to become doctors, bankers and lawyers because they can make good money, work on interesting challenges and be respected at cocktail parities. Sure they have lots of downsides too, but the benefits are more emphasized. If some of those smart ambitious people became programmers because they got to see the benefits (financial or otherwise) of being a developer, that would not be a bad thing.
- njittam 14y agoI've to agree with title. however it is the same with science. everybody had had it but not everybody will find a job in it. So what' s wrong with introducing coding to a wider public?
- nnq 14y agoYou can use similar arguments to bash on any other profession: the median life of a lawyer, md, medical researcher, engineer, architect etc. is just as boring and unpleasant. The whole point of life is to get your life as far from the median-zone as possible, because all the fun is in the extremes (it can be the extreme of algorithm design, software engineering or maybe another extreme that is the edge of programming with another field, like social science - an such an "edge" extreme may actually require very basic coding skills!). Even if you're a farmer, you can find the extreme zones of farming do some kind of "extreme/experimental farming". The "fun" part with programming is that you can easily bounce from "median zone" to extremes, and even easily fall in the negative ones when you end up not even having rent money...
- roma1n 14y agoBetter title: "A programming career is not for everybody". Hell, I came to realise it is not for me, and I have been employed as a programmer for years. Coming up next, "Painting Is Not For Everybody, Math Is Not For Everybody, ..."
- Create 14y ago(By the way, those people obtained their own wealth largely by hiring what they say they want.) practicing what was called "the mushroom theory of management." It was an old expression, used in many other corners of corporate America. The Eclipse Group's managers defined it as follows: "Put 'em in the dark, feed 'em shit, and watch 'em grow." https://en.wikipedia.org/wiki/Mushroom_management https://en.wikipedia.org/wiki/Mushroom_management
- realrocker 14y agoIn context of schooling(India), drawing and arts was not for me too, but they taught us anyways and I am glad they did. It helps me design things better as a programmer.
- dragos2 14y agoExtremely well said. I too found myself recently in a position where a friend asked me if I could teach him how to code. I often found myself saying that coding is easy, coding is just a tool that you have to master (like a farmer has to master [insert agricultural tool here]). But I knew this is actually false. Coding is easy only after you get the hang of it. The thing is, although coding IS just a tool, mastering this tool is not for everyone. Even if you have a strong mathematical background, coding will not come easy to you and you most likely will not end up being a guru. Robert Smith is absolutely right - coding is not for everyone. I find coding to be different than anything else I've done before. It requires a different, sometimes weird way of thinking.
- Evenjos 14y agoRight on. Most of what he said also applies to the visual effects industry. Most people have a misapprehension that creating and animating a 3D character can be picked up over a few months of learning. In reality, it takes decades of dedicated practice to get to a professionally competent level.
- ntoll 14y agoI wrote about this, from a UK based perspective, 18 months ago: http://ntoll.org/article/teach-our-kids-to-code-or-not http://ntoll.org/article/teach-our-kids-to-code-or-not
- CubanSandwich 14y agoSome thoughts from a n00b at the coal face: Eight months ago I committed to learning "to code". At 31 the world has changed a lot since the days when I played around with BASIC in the early 90s. There so much to learn. The most helpful book so far has been Lesley Anne Robertson's, Simple Program Design. It's a basic algorithm book utilising pseudocode. My greatest and most recent victory has been completing the first two Project Euler challenges. The first challenge there is basically the famous FizzBUzz test. * Warning * If you hire me because I can FizzBuzz and conclude a fortiori that I can code then you're gonna have bad time :D Hopefully it means that I do have the potential to code though.. It seems to me that a lot of the quick fixes out there aren't going to cut it on their own. Codecadamy is something I've used a little bit and it's a great learning tool for language specifics, but I don't feel like it taught be to think like a programmer. It doesn't break newcomers free from the old question, "what's the best language for a beginner". A slightly deeper understanding is required for that. CarlH was very useful starting point: http://www.computerscienceforeveryone.com/ http://www.computerscienceforeveryone.com/
- james1071 14y agoThe obvious point, which people here seem reluctant to make,is that 'everyone' is not intellectually capable of programming.
- exodust 14y agoIf you can teach someone "10 print hello", and they replace hello with their own words, everyone able to be schooled can therefore participate in programming, and enjoy it within 5 minutes. These days there's an awesome range of tools and help for learning, just awesome. And the variety of scripting languages and low-level programming to get people started is really good too. I liked the original video's message. Can't really see why the article here is reacting. The woman in the video saying how she wish she'd known that software was for helping humans achieve things. Great message right there!
- seanp2k2 14y ago>"The woman in the video saying how she wish she'd known that software was for helping humans achieve things. Great message right there!" +1. It's all about solving problems more efficiently or making things better/easier to use. This is a large part of why computers frustrate me so; it seems that most software companies wholly discard the notion of /user experience/.
- LogicX 14y agotl;dr of article: http://tldr.io/tldrs/51349537b9073aaf6b0001f1/programming-is-not-for-everybody http://tldr.io/tldrs/51349537b9073aaf6b0001f1/programming-is...
- tlarkworthy 14y agoheaven knows I get angry in front of the screen a lot
- eevilspock 14y agoMath Is Not for Everybody. Literature Is Not for Everybody. Art Is Not for Everybody. Science Is Not for Everybody. The sooner we start funneling people into narrower education channels, the sooner we'll get to our Brave New World.
- reikonomusha 14y agoI'm wondering if there is any other insight you could provide beyond a simple and naive extrapolation of the title.
- olive_ 14y ago"Running across the court is a necessary element in basketball, but it is certainly not what is sufficient to be successful at it. In fact, you can run across the court so perfectly every time, but be completely unsuccessful." I do not understand why success is so important. I sometimes play football although i know i am pretty bad at it. Because it makes me happy. One does not have to be good at programming as far as he/she wants to explore this area, learn new things and see if s/he is capable of doing it.
- slurgfest 14y agoI think success is mentioned because of all the people who have begun to enter the industry just to cash in somehow.
- acedip 14y agoI think the article was probably written when he got really bored and frustrated at his own life and probably was contemplating his statement "why am I living sitting down". A little exaggerated but true.
- hcarvalhoalves 14y agoThe irony in this "What Schools Don't Teach" is that none of the people portrayed got rich programming.
- allsystemsgo 14y agoWell, Zuck did. Gates did. The other people portrayed didn't, you're right. But, they enjoy it. And they admire those that can create something out of nothing by programming. Sure, it was romanticized a bit. But, it doesn't change the fact that you could get rich by coding. You could make something that people REALLY love to use. This is pretty unique to the profession, I think. Yeah you could be a writer and write a novel people love, or a painter, etc. But none of these things pay particularly well. I think coding is a pretty neat and unique skill set that is relatively limitless. And, if this isn't true, I think I'll just keep thinking that it is true, because it keeps my head in the game.
- sltkr 14y agoArguably both Gates and Zuckerberg got rich by starting a company -- there are plenty of Microsoft and Facebook programmers that didn't get rich, and plenty of CEOs of tech companies that earned money without writing a single line of code. I'm somewhat dubious that learning to program is what makes people successful at starting innovative business the way Gates and Zuckerberg did. > Yeah you could be a writer and write a novel people love, or a painter, etc. But none of these things pay particularly well. For a few it does; Stephen King, J.K. Rowling, E.L. James -- they're all millionaires. Not quite billionaires like Gates or Zuckerberg, but rich nonetheless. By comparison, the vast majority of writers aren't rich, but neither are the vast majority of programmers. Yea, "you could get rich by coding", but learning to code in order to get rich is about as sound of a strategy as playing the lottery.
- deleted 14y ago[deleted]
- slurgfest 14y agoThey didn't get rich programming, not at all. They got rich owning successful companies. The fact that they did some of the programming for some MVP or other is almost incidental. They were not getting paid huge salaries for cranking out code and they certainly weren't the only ones involved. If you can pay someone to do the same kind of work on an MVP and then you win the same kind of lottery, it is not necessary for you to have any direct programming input.
- kunai 14y agoI was about to blog an article like this yesterday, but it seems I do not have to anymore. Another thing I might add to this exceptional piece of work is that whenever you force anyone to do anything, even if it is intrinsically "fun" (such as mathematics, science, or history, and, yes, coding) it becomes something that people don't want to do anymore. I'm a teenager; 14 years old to be specific, and I see this on a daily basis. I used to teach my classmates algebraic concepts that they didn't understand fully, and once it "clicked" for them, they usually said something along the lines of "Wow, that is really cool!" So, this is the main conflict we're facing. You raise a generation of "forced coders," and suddenly, nobody will want to code anymore, which is one problem. However, the other problem is that if you DO end up making forced instruction fun for kids, you will end up with mediocre programmers who think a "Hello World" is the equivalent of earning a CS degree, and startups will have to sift through dozens of perhaps low-quality applications rather than just sifting through the few that have the dedication to learn how to code. Here's the solution: make CS more accessible to students. Have a bunch more electives on CS and encourage kids to take them. Trying to make coding/programming a part of the curriculum will take away time from important subjects such as composition, literature, science, and mathematics, all of which are arguably now more important than ever with test scores at record lows.
- christiangenco 14y agoThe distinction for me, and the point I made in my TEDx talk "You should learn to program" [1] (shameless plug), is that learning to program is like learning to read and write. It's the new literacy. Just because you know how to read and write, you aren't a writer. Two hundred years ago if you knew how to read and write, it probably meant that you were in an eclectic group of people whose profession was reading and writing (just like knowing how to program 15 years ago meant you were probably a professional programmer), but we've reached the point now where computers and the code to talk to them are so ubiquitous that you're doing yourself a disservice if you don't understand the rudimentary building blocks of coding (just like knowing the rudimentary building blocks of mathematics helps you be a better world citizen - you don't have to be an expert in second order differential equations to survive in daily life, but you need a working knowledge of fractions and percentages). 1. http://tedxtalks.ted.com/video/You-Should-Learn-to-Program-Chr http://tedxtalks.ted.com/video/You-Should-Learn-to-Program-C...
- dragonwriter 14y ago> Two hundred years ago if you knew how to read and write, it probably meant that you were in an eclectic group of people whose profession was reading and writing While there weren't the quality of literacy statistics that there are now, most of what I can find indicates that in at least Northern/Western Europe and North America, literacy, while not as near universal as today, was something that the majority of the population possessed 200 years ago, not limited just to people whose professional occupation was reading and writing (certainly, things like a "Farmer's Almanac" make little sense if people whose profession is "farmer" aren't, at least reasonably frequently, literate.) Now, if you said four hundred years ago...
- mncolinlee 14y agoThe author comes off as an elitist snob. People DO start from humble beginnings and rise to become decent programmers. One of my cousins dropped out of high school and spent many years driving a truck delivering potato chips. He eventually impregnated and wedded a young lady whose parents insisted he get a GED and go to college on their dime. He earned a computer science degree and now makes a respectable living creating medical device code. Don't give me this "only the sun-touched chosen few of heaven get to hack code" line of tripe. It's utterly ridiculous. Programming is a skill and you should give it a chance just like you maybe tried juggling at some point.
- eshvk 14y agoI didn't actually see it as that. I saw him pointing out that his brother might be motivated from a financial reason to become a programmer. I thought of it a rant on the state of the industry as it exists and why work as a programmer even in the Valley is the same as the skill that you learn.
- mncolinlee 14y agoI'm sure I'm not the only one who reads this as a rant against his own brother for being naive. It's like he's saying, "how could he possibly ever become as good as me?" I highly doubt that his brother is much more of a screw-up than my cousin was when he moved from trucking to programming. The video oversells by hyperbole a little bit, but it's really not too far off of the mark. The bigger issue is tech schools who sell programming as if it's not ever difficult or tedious work. Of course, they do the same thing for every "exciting profession."
- zenbowman 14y agoSounds like the author doesn't really enjoy programming. For those who like it, its the closest thing to magic. That "life sitting down" line at the end is a salient point, but pretty much everyone sits down at a computer these days to work.
- eshvk 14y agoThere is a difference between programming as a creative piece of work and asking to figure out why project A designed by a moron can be glued together with project B which is another clusterfuck. The true answer might be to redesign both projects with open extensible interfaces to connect with each other. However, you won't have the time to do it in the 16 hour deadline period.
- zenbowman 14y agoSure, but there are sucky jobs in any field. For the most part, I've had very positive experiences in my 8 years as a software professional, with the exception of when I wrote J2ME ports on 64kb phones. There are tons of interesting problems in the field and in general, my coworkers have been very smart people.
- lsc 14y ago>Not everyone can program (beyond simple tasks) This is true. And not everyone can write like shakespeare, but that doesn't mean that those who aren't going to ever be very good at it don't benefit from learning the basics of reading and writing. Most people can learn how to read and write, and yeah, even though most people never get very good at either one? even basic literacy vastly improves your economic value. I would argue that programming is a lot like basic literacy; Sure, most people aren't going to be able to do anything very complex; but if you can't handle a spreadsheet? you are at a serious, serious disadvantage. Personally, I think most people would be vastly better off if our schools taught some very basic variant of python (or basic or something) High school should teach average and above children the basics of putting together a database interface with something like 'access' (or some other GUI... personally, I think something open-source would be most appropriate, but I don't know anything open-source that is as dead simple as microsoft access of the '90s.) But yeah, things like programming spreadsheets? that should be taught to everyone; like basic math and reading, pains should be taken so that even the worst students get some of it.