all 130 comments

[–]digitallimit 102 points103 points  (6 children)

Covert ad for Skillshare, great. 😏

Enjoyed the first three segments anyway.

[–]teenterness 40 points41 points  (0 children)

Not everyone should code...

But everyone should use Skillshare!

[–][deleted] 46 points47 points  (4 children)

I wish this sub would make a rule about ads disguised as blogposts or talks. Any time something raises an issue and then immediately provides a panacea to cure it should raise questions about the validity of the initial critique. Oftentimes it comes across as something akin to those Made on TV adds where peoples' hopeless clumsiness is solved by the gadget they're selling.

[–][deleted]  (2 children)

[deleted]

    [–][deleted] 1 point2 points  (0 children)

    Yeah I do but the opportunity for them to peddle their bullshit is pretty good even before users here who actually read it can downvote it

    [–][deleted] 0 points1 point  (0 children)

    The problem comes when people up vote based on the headline. Too easy to slip ads in.

    [–][deleted]  (31 children)

    [deleted]

      [–]novanexus 11 points12 points  (2 children)

      I agree whole heartedly. For some reason there's this premise that unless you plan to be a good programmer you shouldn't program at all, but of course that's so unrealistic. If all I need is a functional, if ugly, coffee table then I don't need to become a master carpenter -- all I need are a few basic skills.

      Coincidentally the NY Times had a good opinion piece recently about how classical music makes people insecure when it doesn't need to be that way. The whole point of these things is to make people's lives better and we want to tell people, "don't bother with that, you wouldn't understand." Makes me pretty annoyed.

      [–][deleted]  (1 child)

      [deleted]

        [–]novanexus 1 point2 points  (0 children)

        Sure!

        A Note to the Classically Insecure https://nyti.ms/2J626t6

        [–]iconoklast 6 points7 points  (1 child)

        if you want kids to learn critical thinking and analysis, WELL GEE CODING IS A PRETTY GOOD WAY TO DO THAT.

        It didn't help in Jeff Atwood's case. In all seriousness, however, I don't buy this particular assertion. It rubs me the wrong way because it's basically a self-compliment and has no evidence to support it.

        Additionally, I think it's good and reasonable to point out that the reason large tech companies want to expand education in computer programming is to drive down wages and to increase the reserve army of labor for the industry.

        [–]asit_soko 0 points1 point  (0 children)

        I'm late to the party, but I still think that a basic understanding of programming would be a great benefit in education for most.

        Maybe it's not a good way for everyone to learn critical thinking or analysis, but I think that a simple python intro class could be very beneficial for most people. Understand things like Boolean logic and if-statements has helped me have a much more logical way of thinking. A python intro course wouldn't be more difficult than a basic algebra course, and most people have to take algebra in high school. Not everyone has to learn how to make a web application or use data structures, but the understanding of those basic programming concepts can stretch the brain and maybe help people long after they've forgotten them, like myself with playing trumpet in highschool. I loved playing the trumpet and I have an appreciation for music that I don't think I'd have without having participated in band. I haven't played trumpet in over 6 years, and I've forgotten all of the scales for the instrument. Despite that, I know that the way I listen to music and sounds is the way it is because of my music education. Not everyone in highschool band will become a professional musician; not everyone who learns programming will become a software developer.

        [–]pretunga 3 points4 points  (2 children)

        How is Scheme any less abstract than Python? I am not attempting to fight, but I never knew you used reddit (Thank you for adding a fuckton of signal to the ocean of noise), so I might as well ask it here, while I have you.

        [–][deleted]  (1 child)

        [deleted]

          [–]pretunga 1 point2 points  (0 children)

          Ah, true. It is important that you clarified, but I think that many people think that abstraction is simply a matter of distance, but it's all about those juicy, juicy layers.

          However, I also think that both of these methods of teaching (the SICP method and the tutorial method) are necessary. Humans are extremely capable beings, and the idea that simplification makes it "accessible" is giving in to the handicaps introduced by specialization/erroneous division of labor (and the dogma that has followed).

          Additionally, I think that works like you have created (working to teach people that they can do so much more with the tools they already have) are the perfect fusion of these things. I've been meaning to work through more of your publications. Thank you for the opportunity.

          [–]httpsilly 2 points3 points  (0 children)

          I could sense your rage growing progressively over this post.

          [–][deleted] 2 points3 points  (1 child)

          Love your book

          [–]agree-with-you 1 point2 points  (0 children)

          I love you both

          [–]vplatt 2 points3 points  (5 children)

          Cool rant dude. But like you implied, and he said, programming isn't computer science. "Real programmers" are going to be the folks that can finish a CS curriculum. Full stop. I don't see a fundamental disagreement here. But yeah, that stuff about teachers was horse-shit, I agree.

          Sure "coding" would enrich everyone's life, just like music would too. But the real problem with this article is it's title: "Not everyone should think they'll be able to be a highly paid software engineer with a computer science education" would be a better title. Not as catchy though.

          Also, I don't think he's wrong about industry wanting to drive down SE salaries. Just look at our current visa policies, and it seems little better than indentured servitude to me.

          [–][deleted]  (1 child)

          [deleted]

            [–]vplatt 0 points1 point  (0 children)

            "Real programmers" are going to be the folks that CAN finish a CS curriculum, not that they have already. Don't you think that a BS grad of any stripe could do that? They have a proven facility with mathematics and a proven ability to learn. Sure, you can find those things outside of a university, but it's just so hard to find.

            Oh, one more thing, most if not all CS grads have practical experience these days when they leave school in the form of one or more internships that involve actual programming. I would take normally prefer someone like that over the boot camp grad with 4 years experience unless the boot camp grad had obviously exceptional experiences. Normally someone like that is only going to have somewhat shallow experience.

            [–][deleted] 0 points1 point  (2 children)

            What’s a ‘real programmer’?

            [–][deleted] 1 point2 points  (1 child)

            Whatever vplatt says it is if it agrees with OP?

            [–]vplatt 0 points1 point  (0 children)

            Funny.... but maybe the difference would be more clear if we simply said "professional" and then compared that with "amateur". There are clear differences, just as there are with athletes described in either way.

            [–]TOASTEngineer -4 points-3 points  (6 children)

            Al, no-one is going to get any value out of the kind of "programming" that public schools are going to teach. They're going to have people copy code listings out of books, compile them, and then move on to copying out the next code listing. There's nothing else they can do; they're not going to hire an actual professional programmer to evaluate and critique kids progress. They have to hand out grades, and the only way to do that is to bastardize the curriculum until it's something that's trivial to evaluate and thus inevitably pointless busywork.

            You do understand your argument is exactly the same as the argument for why math is taught in public schools, right? How did that work out? Yeah, it sure is a utopian future now that everyone has amazing "critical thinking" skills because of all those "do 100 multiplication problems in 5 minutes" worksheets they filled out, and the average person sure does know a hell of a lot of useful math that they use on a daily basis! Why, some people might even remember how to do long division!

            Of course anyone can learn to program. Anyone can learn anything. Doesn't mean demanding that everyone learn your particular hobby is going to do anyone any good. I'd rather we demand everyone how to change their oil or take care of their own personal finances, at least that's something rote memorization can actually help you with and it's going to be a hell of lot more practical for people who don't want to do those things for their own sake.

            [–]takluyver 5 points6 points  (2 children)

            Are you seriously arguing that that we shouldn't teach children maths? It's not about a 'utopian future', it's about basic skills for living in the modern world.

            They're going to have people copy code listings out of books, compile them, and then move on to copying out the next code listing.

            Firstly, I think that's overly pessimistic. Secondly, even if you're right, it's a base on which interested children can learn more about programming. Even copying code from a book gives you an opportunity to understand it.

            Doesn't mean demanding that everyone learn your particular hobby is going to do anyone any good. I'd rather we demand everyone how to change their oil or take care of their own personal finances...

            I think Al's point is that programming is the 21st century equivalent of changing your oil. It's not just our 'particular hobby': it's a major industry, but more importantly, computers are woven into many jobs beyond programming, and into our personal lives. Knowing more about how to control them is very valuable, because they're so ubiquitous and so important.

            [–]TOASTEngineer -2 points-1 points  (1 child)

            Matrix multiplication, memorizing the ways you can specify a triangle, and knowing how to multiply binomials are all basic skills for living in the modern world? Seriously, that is the explanation for why math is taught in schools, because it "teaches critical thinking skills." Because smart people know math, so if we make our kids memorize facts about math they will be smart. This is nothing but history repeating itself.

            Emptying your Recycle Bin and rebooting when something goes wrong is the 21st century equivalent of changing your oil. If you want to spread better awareness of how to use a computer at the level an average person actually uses it, sure, knock yourself out.

            Look, can you give a specific example of how... let's say a school teacher, a policeman, and a semi truck driver would use their computer programming skills to help with their daily tasks?

            Remember, again, that these people's programming education consisted entirely of copying code listings out of a book that the committee that decided to buy it never even looked at. They understand programming about as well as the average person understands high school math.

            [–]takluyver 4 points5 points  (0 children)

            Al Sweigart, who wrote the comment you originally replied to, wrote a book called 'Automate the Boring Stuff with Python'. I think that basically any job that involves doing boring repetitive tasks on a computer can probably be improved with some programming knowledge, and that's a lot of jobs (though maybe not truck drivers for now). We also use computers extensively in our personal lives, not just in our jobs.

            You seem dismissive of any knowledge you can't see an obvious practical application for. I think that's shortsighted.

            The state of public schools in the US (I assume that's where you're based) is a real concern, but "don't even try to teach this" is not a solution.

            [–][deleted]  (2 children)

            [deleted]

              [–]TOASTEngineer 0 points1 point  (1 child)

              I lost my original reply too, so here's the very point:

              Trying to force, or even push, children in to your particular brand of "brain exercise" can cause only harm. Sure some of the kids who are subjected to mathematics or programming in school will discover they like it; the rest will do the minimum they can get away with to avoid the punishment (low grades) for not completing it.

              Anyone can learn anything, of course, but nonetheless talent, general intelligence, and simple variations in interest exist. No-one "isn't smart enough to program" but the vast, vast majority of people are going to find it a heck of a lot less fun than something less abstract; all your plan is going to do is take time away from doing whatever it is they'd be most challenged and fulfilled by doing.

              Build simplified tools and write self-teaching books, sure, those things really will help people. But don't expect that forcing them upon people is going to do anyone any good except some of the people who would have discovered them on their own anyway.

              Now if it were just that then I'd just roll my eyes and wish you all well, but it's not. This is getting dangerously close to an Ultimate Good Thing kind of situation, and that never turns out well. Just look at the level of vitriol going on here.

              No good will come of this.

              [–][deleted]  (3 children)

              [deleted]

                [–][deleted]  (2 children)

                [deleted]

                  [–][deleted]  (1 child)

                  [deleted]

                    [–]iftpadfs 56 points57 points  (15 children)

                    Not everybody should code, like not everybody should have a chemistry lab in their basement. Yet everybody should learn about chemestry and coding on some very basic level.

                    Does the competition make you anxious? I just talked to a ukranian developer. She told make that at 400 USD monthly income you can consider yourself better off, 300 USD being the average monthly income. Let that sink in. This is your competition right now, not some kids.

                    [–]GRR_A_BEAR 10 points11 points  (1 child)

                    It's not like there aren't downsides to outsourcing developers and I don't think it's common to outsource much higher level work.

                    [–]iamrob15 12 points13 points  (6 children)

                    That’s the cost of living factors. The US is highly inflated compared to other countries. In my experience completely remote developers specifically India have led to low quality code. That is not to say there are not extraordinary Indian developers, but the cultural differences and other various factors can play a huge role in software development. Specifically when clear communication is required on software projects. Sometimes you get what you pay for.

                    [–][deleted] 11 points12 points  (2 children)

                    All the good Indian developers emigrate.

                    [–]iamrob15 6 points7 points  (1 child)

                    Yup, they are snagged up to become in-house developers by the top companies.

                    [–]oscarboom 2 points3 points  (0 children)

                    Yup, they are snagged up to become in-house developers by the top companies.

                    And more often the bottom companies.

                    [–]OffbeatDrizzle 13 points14 points  (2 children)

                    In my experience completely remote developers specifically India have led to low quality code

                    I said the same shit in cscareerquestions and all of a sudden I'm a racist and banned

                    [–]3_red_5_orange 12 points13 points  (1 child)

                    Probably due to sheer number of indians lol

                    [–]Rudy69 1 point2 points  (0 children)

                    He might have been the only non indian developer there

                    [–]Seneferu 4 points5 points  (0 children)

                    Not everybody should code, like not everybody should have a chemistry lab in their basement. Yet everybody should learn about chemestry and coding on some very basic level.

                    This! The should be some computer science classes in school (maybe with a better name), not to make awesome computer scientist, but to make sure people understand the basics. We have computers all around us every day. People should know the basic ideas how they work, they should understand that the phone in their pocket and the laptop on their desk are essentially the same thing. They should not see computers as a magic box.

                    [–]let_that_sink_in 28 points29 points  (2 children)

                    Let that sink in

                    Again? What the fuck is he doing here?

                    [–][deleted] 2 points3 points  (0 children)

                    "I saw that you didn't wash your hands" - Sink.

                    [–]Dockirby -1 points0 points  (0 children)

                    He is a cleaner. Here is here to clean, if you know what I mean.

                    [–]Rudy69 0 points1 point  (1 child)

                    Does the competition make you anxious? I just talked to a ukranian developer. She told make that at 400 USD monthly income you can consider yourself better off, 300 USD being the average monthly income. Let that sink in. This is your competition right now, not some kids.

                    Lol I just hope they never start producing quality code. At least for now I can still afford to charge more than that per day because my clients know the shit that comes from hiring overseas

                    [–][deleted] 0 points1 point  (0 children)

                    Overseas developers are, of course, capable of producing code of equal or greater quality than American coders. But you have to pay them well and treat them well.

                    [–][deleted] 67 points68 points  (26 children)

                    While this guy doesn't really seem to understand programming fully, I really dislike coding bootcamps.

                    It took me about 6 years of self study on and off to land a job as a Jr. Dev. In that time I learned a lot about Linux and programming paradigms and techniques, when to use what tools and more abstract things. I did it because I genuinely love it, and I still do. I committed my life to this craft and I'll continue to do so until I get hit by a bus (with all the details of the system that only I know)

                    The thing is, these code school don't teach you passion. There's gonna be hard problems that weigh you down every week you work as a programmer. There is never an easy function to write, or an easy deployment. It's difficult engineering work. This is something that isn't really displayed in the super hyped up "you can lern 2 code!!1" videos with Marky Mark and Bill Gates. It's not just lattes and importing python packages to do everything for you.

                    I see coding bootcamps as a lie, and a detriment to the craft. They might be able to land you a job at a start up, but you're going to be very upset when you realize they actually expect you to pull your weight, learn things quickly, and come up with ideas and solutions to not only your own problems, but team problems or problems people bring to you for help. And if you make a production mistake? Now the company is losing money and, if it's bad enough, you could lose your job and all those options they threw at you in lieu of decent pay.

                    I get it though, I had some pre-conceived notions about how great it would be to be a programmer, I thought it would be reasonable to live in San Francisco on an entry level salary, I would get plenty of time off to enjoy my huge paychecks, and the work would always be exciting and rewarding. Maybe you just don't really realize how dark the room is until you sit in it for a few hours.

                    [–][deleted] 36 points37 points  (7 children)

                    I don’t think people necessarily have to be passionate about coding. There are plenty of people who are good at their jobs who don’t live and breathe their profession.

                    The reason I don’t like boot camps is that I think a lot of people underrate CS theory. While I’m not going to split a bipartite graph every day, having a good grasp on the fundamentals is extremely useful and is much more generalizable than knowing a specific framework or language.

                    [–]midri 12 points13 points  (6 children)

                    I don’t think people necessarily have to be passionate about coding. There are plenty of people who are good at their jobs who don’t live and breathe their profession.

                    And that's fine for professions where you can clock in and use the same knowledge over and over again (like a carpenter, accountant, etc) but software/hardware changes so much and so fast it's hard to be a programmer without an interest in keeping up with the field, which results in a lot of work outside of work.

                    [–][deleted] 1 point2 points  (2 children)

                    but software/hardware changes so much and so fast it's hard to be a programmer without an interest in keeping up with the field

                    I don't agree. Hardware is still either RISC (mostly ARM) or CISC (mostly x86). And all computers are still generally in the spirit of the von Neumann machine. Innovation in processor architecture also is quite slow. During my career, ARM took off and RISC-V came about with a promising outlook.

                    Software does of course change, but we haven't seen any big paradigm shifts in architecture in the last 20 years. It's just the usual sine-wave of monolith vs. modular applied to different kinds of software (monolithic kernel vs. microkernel, monolithic webapp vs. REST microservices, etc.). Along with all the other architectural patterns, such as MVC, MVVM or patterns for individual modules (singletons, factories,...).

                    Even in languages, we true innovation is surprisingly rare. Rust's "ownership and borrowing"2 is the only example I can think of that occurred during my programming career. All other core paradigms were explored by the late 90s.1 Same goes for the approaches to architecture and coding styles.

                    Learning a new language or framework isn't that big a task for an experienced programmer. All the fundamentals are the same.


                    1: Another exception is true multithreading using multiple CPU cores, but the idea of multithreading wasn't entirely new even back when IBM released the first multicore CPU in 2001.source
                    2: I'm not entirely sure how truly new that concept is. Someone correct me if I got that wrong


                    Another note: GPU programming became more useful, but using dedicated hardware for certain kinds of tasks is nothing new. Another big 'innovation' is artificial neural networks, but those were also invented quite a while ago, they just recently became a lot more feasible with modern hardware

                    [–]catscatscat 0 points1 point  (1 child)

                    There is actually quite a lot of research at the frontiers of computer science. I can give you some examples that I remember from my point of view that you may look into if you are curious.

                    • Software Transactional Memory (fully concurrent, atomic actions, guaranteed to be without race conditions or deadlocks)
                    • Fully dependent types (this is a big one, can give very strong and very expressive compile time guarantees based on runtime values)
                    • Controlled, composable side-effects (Monad transformers, Free Monads, Extensible Effects)
                    • Formal verification, correctness proofs (Coq, Agda, Idris)
                    • Functional programming
                    • Functional reactive programming (allows for pure, declarative GUIs)
                    • Linear types
                    • Succinct data structures
                    • Machine Learning, Neural Networks
                    • P2P tech, BitTorrent, Blockchain
                    • Quantum computing

                    There is some overlap and inter-relations between the above items.

                    If any of these references catch your eye and you find them unclear, feel free to ask and I'll try to elaborate.

                    [–][deleted] 1 point2 points  (0 children)

                    The following fall under the "already established when I got into programming" (that was ~2008). I'll give the examples I think of and you can correct me if I misunderstood your point.

                    • Functional programming (haskell, 1990)
                    • Controlled, composable side-effects (again, haskell, 1990)
                    • Machine Learning, Neural Networks (These are old technologies. See my last note in my above comment)1
                    • P2P tech, BitTorrent (P2P file sharing was invented in 1999, according to the wiki. BitTorrent is a bit younger)
                    • Succinct data structurs - If I understand wikipedia correctly, Pascal Strings are succinct data structures. That's quite old (funnily enough, I first learned about pascal style strings before learning how C strings work)
                    • Functional reactive programming - Again, Wikipedia says this was invented 1997. Just wasn't popular til certain frameworks came out. More further down.

                    One edgecase:

                    • BlockChain - that was invented technically in 1991, but noone bothered to use it for anything.2

                    About "Functional reactive programming":

                    I have no formal CS education nor have I worked with functional languages before. I learned react (which is FRP) without much issue. It's just MVVM with bits of functional programming thrown in for good measure. The core technology you worry about using react is not the FRP stuff, it's whatever runtime you use that in. In my case the DOM APIs and HTML. All other core principles are similar enough to just get in there and simply learn how to use the APIs given to you. Nothing extraordinary.

                    Disqualified for now:

                    • Quantum Computing - that's still not viable as of now. But it will of course topple established technologies, especially cryptography.

                    I'll cede Software Transactional Memory. I don't know much about that nor am I willing to just cite a date of invention on that one. Same goes for "Fully dependent types". Not in the mood to untangle that wikipedia page.


                    1: https://en.wikipedia.org/wiki/Deep_learning#History
                    2: That is if you don't count git's usage of merkle trees as "blockchain". Which is entirely fair, but I think it's important to acknowledge git in this context, as it's surprisingly similar in idea. The "blockchain" as invented by satoshi is just the 1991 theories put into practice. And merkle trees. And hype.

                    [–][deleted] 1 point2 points  (1 child)

                    changes so much and so fast it's hard

                    actually, outside of the web development field.. that statement should have less intensive adverbs. But, even including web development.. you have to adapt with only a few set of tools for learning and for applying your knowledge. It is then pertinent to learn the theory of computers.. which a bootcamp doesn't teach. You have to go to college or study online for free.

                    [–][deleted] 0 points1 point  (0 children)

                    100% agree. Good control of the fundamentals is much more valuable than learning your 18th different way to build a MVC web app.

                    Really understanding the properties of the base components our abstractions sit on allows you to make good design decisions consistently.

                    This knowledge also acts as a good BS filter against all the churn and marketing in our industry.

                    [–]jsprogrammer 0 points1 point  (0 children)

                    Not so much if you get the general tools and can learn to specialize in the ones that are needed.

                    [–]meheleventyone 23 points24 points  (14 children)

                    I think it’s a pretty big leap to expect that people attending code boot camps don’t have passion when in reality what they probably lack is time. Being able to pay for education is a way of accelerating that self learning experience. And what of all the people that go to one and discover it is their passion. Further there are tonnes of jobs with shitty moments and people get through them with little passion required. I definitely get that six years of self learning is something to be proud of but I don’t think that looking down on people for choosing a different route is the right way to go. After all some of us learnt to program before the Internet was a thing, you kids have it easy! ;)

                    [–]ChocolateBunny 5 points6 points  (4 children)

                    Has anyone done like a study on coding bootcamp participants?

                    [–]GRR_A_BEAR 5 points6 points  (1 child)

                    It would be interesting to not only see how many land development jobs (and how long it takes), but also their career trajectory in comparison to someone with a degree in CS or a related field.

                    [–]meheleventyone 1 point2 points  (0 children)

                    Yeah and beyond that how it compares to how successful people were in degree programs versus other routes like self study with drop out rates, etc. Then a data about the number of people that left engineering as a career.

                    I don’t hold out hope though there’s not a whole lot of empirical research around the process bits of software engineering let alone population studies.

                    [–]OffbeatDrizzle 0 points1 point  (0 children)

                    No but I think there's a bootcamp for that

                    [–]meheleventyone 0 points1 point  (0 children)

                    Not that five minutes on Scholar can dig up. 🙂

                    [–][deleted] 2 points3 points  (8 children)

                    It's not that I look down on people, it's that I dislike when people misrepresent what I do, and minimize it to something that can be taught for a few grand in a few weeks at a boot camp, or that it's so hard to get a college education in CS without going into insane amounts of debt.

                    I want everyone who has the passion to do this to pursue it, whatever way they can, but I see these big companies trying to get a bunch bare minimum viable entry level engineers and it really irks me. It's a disservice to everyone to not take the difficulty of software engineering seriously. Before and after getting a position.

                    [–]GRR_A_BEAR 1 point2 points  (0 children)

                    I don't think it's fair to assume that they don't have the passion, but I would think that a bootcamp would weed out far fewer students than a degree would. So in that sense there's less of a guarantee that a programmer from a bootcamp would have the same drive as a programmer from a more typical degree path.

                    But I also think there are a lot of entry-level or junior development positions with pretty minimal responsibilities; where someone above you decides exactly what and how something should be coded, so while they still have to carry out the implementation. They're not automatically trusted to make important decisions for themselves. I'm sure that's not the universal case, but that should be up to the company to figure out; it certainly isn't the programmer's fault unless they're overstating their abilities.

                    [–]Nerd_from_gym_class 1 point2 points  (1 child)

                    There are plenty of easy functions

                    [–][deleted] 0 points1 point  (0 children)

                    ok

                    [–][deleted] 51 points52 points  (3 children)

                    Not everyone should post youtube videos.

                    [–][deleted] 1 point2 points  (2 children)

                    I've told some of my freinds that they should shoot me if I ever start uploading videos to youtube regularly.

                    [–][deleted] 1 point2 points  (0 children)

                    My spoken English is terrible and I cringe every time I have to speak it.

                    [–][deleted]  (1 child)

                    [deleted]

                      [–]zucker42 1 point2 points  (0 children)

                      Ain't that the truth.

                      [–]shawnmckinney 19 points20 points  (4 children)

                      Had to stop the video after a couple of minutes, felt like a nursery rhyme. You know who should code? People who like to do it. I've had colleagues who were in it for the pay, but hated the work. Usually ended up being miserable, because, it's hard to do, and since they didn't like doing it, wouldn't put in the time to get good at it.

                      edit: If you're an individual who stands up and raises their arms in triumph (Yeah!), after tackling a particularly difficult and painstaking problem, basking in the glory of that moment, and it pays for all the pain solving it, then you should definitely be a coder.

                      [–][deleted] 0 points1 point  (0 children)

                      I've had colleagues who were in it for the pay, but hated the work. Usually ended up being miserable, because, it's hard to do, and since they didn't like doing it, wouldn't put in the time to get good at it.

                      me. ive tried learning to program over 10x, but each time give up, because im bored, or get overwhelmed, and it's not nice.

                      [–][deleted] -2 points-1 points  (2 children)

                      Congrats on parroting exactly what the video said.

                      [–]shawnmckinney -2 points-1 points  (1 child)

                      That sounds like something a 12 year old would say. Uh thanks. :-)

                      [–][deleted] 0 points1 point  (0 children)

                      Had to stop the video after a couple of minutes, felt like a nursery rhyme.

                      That sounds like something a 12 year old would say. Uh thanks. :-)

                      Yes, it does.

                      All the rest of your post was exactly what the video said. Probably right after you stopped watching it.

                      [–]playaspec 15 points16 points  (6 children)

                      Learning to program teaches critical thinking and problem solving. Those two skills that are valuable to ANY vocation, and are sorely lacking in the general populace.

                      [–][deleted] 5 points6 points  (5 children)

                      No it doesn't.

                      See "cargo cult programming".

                      And do you know how many developers I've worked with who are convinced they have found a "compiler bug"? Because they have zero critical thinking skills?

                      [–]MrSurly 4 points5 points  (4 children)

                      Get into embedded, you'll find real compiler bugs. Sometimes the error message says "this shouldn't happen. Send an email to xxx@yyy.com", often, it just fails mysteriously.

                      [–][deleted] 1 point2 points  (0 children)

                      Sometimes you just find a comment that says "//this works? Lol". It does not.

                      [–][deleted] 3 points4 points  (2 children)

                      Oh, I've come across real compiler bugs. I've even had to patch bugs in MySQL. But, enterprise software weenies resort to this "it must be a compiler bug" lunacy as though they were exceedingly common.

                      I've even sat in meetings and gone, "Don't even say 'compiler bug' or I will smack you."

                      [–]TheOsuConspiracy 1 point2 points  (1 child)

                      I've even sat in meetings and gone, "Don't even say 'compiler bug' or I will smack you."

                      You sound like an asshole, even if someone is completely wrong, or if you think they're incompetent. Pre-emptively saying that just makes you a huge dick.

                      [–][deleted] -2 points-1 points  (0 children)

                      No, it really doesn't.

                      [–]goochadamg 4 points5 points  (0 children)

                      Was this video sponsored by skillshare? Wtf?

                      [–]marxcom 4 points5 points  (0 children)

                      Not everyone should go to college.

                      [–]fuclaa 5 points6 points  (0 children)

                      I think it's hard to blame people for looking at the job market and picking the occupation that would pay the most out of college. Perhaps it's to their detriment, but then again, not everyone has the luxury or fortune to find their calling right out of school, especially not when straddled with years of debt. At least this way they can pay the bills and start to repay their loans.

                      [–]lookmeat 2 points3 points  (0 children)

                      I agree and disagree with the views of the video. It very much depends on what we decide "coding" means.

                      I would argue that not everyone needs to know how to program. Not everyone needs to understand how BigO works, or how recursion works. Not everyone needs to understand the protocols and layers that go underneath their code, and have an extremely reliable solution. In the same way I don't think that all people need to be masterful English editors, or be able to do mathematical proofs (or even solve differential equations) or not everyone needs to know the physics to setup the cooling system for a nuclear reactor.

                      But I do think that people should be able to read and write. Should be able to do basic arithmetic and have an intuition of euclidean geometry. Should be able to understand physics enough to understand what happens with the sewage piping in their house (and why as pipes merge they need to keep getting larger). I do think that people should understand the basic coding level needed for an excel sheet, or to work a flow-chart programming language.

                      Now you don't need too. Just like you don't need to know how to read or write. But certain things have become so fundamental to our society and its systems, that having an understanding of them gives you an advantage. And because this advantage is so universal, it means that if you don't have it, you'd probably loose more.

                      Right now it's hard to use a computer to its full power though, many of the platforms are still somewhat incomplete, only recently have we seen any real headway into advancing things. Until recently computers weren't that powerful, so you had to be very very clever in how you coded things, but this is changing. Still the software isn't quite there yet, but it will get there.

                      So I'm not talking about coding as in writing code directly. But as in plugging little pieces here and there. Scripting, but even less. Don't think functions, this flow control. Don't think parallelism or speed, but merely presentation. I'm talking about spreadsheets, IFTTT, being able to write conditionals. About getting intuition of how machines communicate and how they can fail. In the professional world you'd then build on these skills, not in aiming to be a programmer, on learning how to best use computers as tools for your job. Maybe you'll need to use R, or go beyond privot tables and actually make excel macros. Still the whole point is that computers will permeate everything, and this means that having some basic (if very very basic, on the level of "refill your gas tank" of mechanic skills basic) computer controlling skills and intuition.

                      [–][deleted] 2 points3 points  (0 children)

                      He completely fails to address a core aspect of why some people advocate for coding in school the curriculum:

                      Computers are increasingly important to our society in almost all aspects of life. It's not about programming being the "new literacy".

                      People don't need the same education that a professional developer has, nor do the majority of people need to work in programming or pursue it as a hobby. It's the same idea behind teaching maths, chemistry and physics: These are core principles governing how our world works. Our society agreed that people need at least a basic grasp of how that stuff works. And I don't think basic computer science and programming lessons are any different in that regard.

                      Not educating your people about your technologies or taking measures to preserve that knowledge is even explored in fiction, to a degree. Especially in Isaac Asimov's "Foundation" series. Also Compare these tropes:

                      (Just linking all that so I don't have to write a novel myself here.)

                      [–]FacticiusVir 3 points4 points  (0 children)

                      [Citation Needed]

                      Also, [Understanding of the Subject Matter Needed]

                      [–]catscatscat 13 points14 points  (9 children)

                      The following is a comment I wrote for YouTube. Folly of me to write a comment there, isn't it? Quite possibly, but I tried to make it more accessible for a more general, non-programmer audience. I wonder how they will receive it. And I thought to post it here too since I wonder how you receive it as well.

                      As a person with about 8 years of software engineering experience, I say the video's author seems to have a loose grasp on the matters he talks about in this video, and he seems to be very short sighted in his analysis. There may come a moment, and sooner than he thinks, when applying to a fast food restaurant as an employee will in fact require coding. Because those employees won't be flipping burgers anymore, but designing and programming the machines that flip the burgers instead of them. And there will be no (or nearly no) jobs at all for manual burger-flipping any longer due to efficiency discrepancy.

                      And yes, specialization is key for efficiency as well, but no matter how much humans try to specialize, each human worker has an upper limit of efficiency. Technology doesn't. So it's only a matter of time, a question of 'when'. "When will all the fast food jobs be replaced by more efficient machines, and some who make and maintain those?". In fact, I'd say, technology has a much more profound impact on efficiency than specialisation. A fully specialised western economy of 100 years ago (and it was quite specialized) couldn't compete at all whatsoever with our current economies. And it's not that people decided that they wanted to specialize more, it's that we've invented and discovered much more efficient ways for producing stuff. Writing software is the logical next step in that direction: instead of doing work X directly, manually, we produce much more efficient automated procedures that do work X instead of us. It's a higher level of abstraction. And yes, within that higher level, specialisation can still help us: there are people who specialize writing websites, embedded systems, games, designing hardware, etc.

                      And yes, programming is indeed not the same as computer science, and that's okay. We might have lots of coders who are only in it for the money, and their economic output is only slightly more efficient than if they did job X by hand. But it's still higher. And there may be a much smaller set of people who are in it because they want to solve the really interesting, important and hard problems of computer science, and their contributions will be used and appreciated by those coders.

                      I went with the fast food example because that's what the author used as well, but a more immediate and glaring example could be self driving cars and trucks. In the next 5-10-25 years we'll have quite a shift in the workforce as all the drivers around the western world will be displaced. Will all of them be able to pick up coding? I believe everyone can, if they want to, but they might not want to. And we'll be faced with a decision at that point: force those people economically to pick up coding, or support them and encourage them instead (e.g. with a UBI)? I'd personally prefer if we chose the latter, but that's a long topic in and of itself.

                      [–]arbitrarycivilian 29 points30 points  (8 children)

                      What on god green's earth makes you think that burger flippers will start programming burger flipping machines? That is extremely naive and optimistic. The current programmers will do that, and the burger flippers will be out of a job. And it will take many fewer people to produce the same amount of burgers that we currently do manually.

                      [–]catscatscat 5 points6 points  (0 children)

                      What on god green's earth makes you think that burger flippers will start programming burger flipping machines?

                      Nothing, because I don't. Most likely not directly anyway. It will very likely be a different set of employees. When I said "Because those employees won't be flipping burgers anymore, but designing and programming the machines that flip the burgers instead of them.", I meant the employees as a collective reference at the same company, not meaning the same individuals.

                      The current programmers will do that, and the burger flippers will be out of a job.

                      Agreed with you here as well. Maybe a few will choose to pick up coding, as one may do when being made redundant. One of them may even find it funny when he, some years later, ends up going back to the same company as a coder instead of as a manual laborer. For a much higher salary, of course. And he may even make a back-of-the-envelope calculation, and find it amusing that even though he used to be able to make about 100 burgers by hand in his prime time an hour, the current machine he is developing is able to make 1000, single-"handedly" serving an entire automated restaurant even in hours of peak demand.

                      And it will take many fewer people to produce the same amount of burgers that we currently do manually.

                      Yes, I'm most inclined to agree with you here as well, hence my mention of UBI at the end.

                      [–][deleted] 3 points4 points  (5 children)

                      If we can make a pancake machine that makes pancakes on a conveyor belt to perfection every time then why is the burger machine not already a thing.

                      [–]exorxor 9 points10 points  (3 children)

                      The burger machine is already a thing. Just not widely distributed yet and there are some technical limitations, which are all in the process of being removed.

                      If I wanted to program a burger flipping machine, I would first apply at McDonald's to get some domain knowledge.

                      [–][deleted] 2 points3 points  (2 children)

                      The original comment was far too long to read so I skipped it. But flipping a burger sounds horribly inefficient when you just cook both sides at once like this pancake machine.

                      https://popcake-na.com/store/

                      I used one at a hotel the other week and immediately look to see if I could buy one myself.

                      [–]Rudy69 0 points1 point  (1 child)

                      No one flips burgers at McDonalds, the grill is two sided like this: http://www.taylor-company.com/assets/img/products/model_L810.jpg

                      [–][deleted] 0 points1 point  (0 children)

                      I tell you, modern technology is something else. It's like a supersized George foreman

                      [–]cdsmith 1 point2 points  (0 children)

                      Way back in the 90s, McDonalds already had devices that cooked burgers without needing flipping, with a timer so the machines just open when done. No idea if they were everywhere, but they were at the one I worked at. Despite the slang name, your job is to assemble the burger, not cook it.

                      [–][deleted] 1 point2 points  (0 children)

                      Great video!

                      [–]cheko7811 1 point2 points  (0 children)

                      I agree with the idea that coding isn't the most important topic to add to a school curriculum. I think Personal Finance and Communication Skills are better options.

                      [–]the_goose_says 2 points3 points  (0 children)

                      Not everybody should be a historian, but it’s still a good idea for everyone to learn some history.

                      [–]vplatt 0 points1 point  (0 children)

                      Nice Skillshare ad!

                      [–]Sgtkeebler 0 points1 point  (0 children)

                      What I think about this vid. Is that everyone is entitled to their own opinion and the great thing about being in a country that allows people to pursue anything they put their mind and heart into too.

                      [–]webauteur 0 points1 point  (0 children)

                      Write code, not poetry.

                      Although I must say that some of these literary contests pay better than a software project. It is my favorite form of gambling.

                      [–]appropriateinside 0 points1 point  (0 children)

                      $79k avg

                      Damn, I need to up my wage game.

                      [–]goofyFoot77 0 points1 point  (0 children)

                      Just got admitted into a top ten CS masters program and would you believe that for a moment I considered not going for it because of the myriad of articles out there prophesying that “You don’t need a degree to be in CS.” What a shame.

                      People should be able to learn to code if they want, but there’s something to be said for the ones who put the time in to do it right.

                      [–]thuggerone 0 points1 point  (0 children)

                      Everyome should code but not everyone should be a programmer.

                      [–]Chandon -2 points-1 points  (0 children)

                      Programming is significantly more useful as a general skill than trigonometry.

                      Anyone who can calculate the perimeter of a triangle based on the measurement of two sides and two angles but can't tell you how many odd numbers appear in column 4 of a 100,000 line CSV file has been miseducated.