Hacker News new | past | comments | ask | show | jobs | submit login
Programming is the new High School Diploma (whattofix.com)
137 points by DanielBMarkham on Jan 30, 2012 | hide | past | favorite | 114 comments



Suggesting that everyone needs to know how to program is indicative of tunnel vision. What do any of these educated and skilled people need with programming? (By no means a complete list)

  Artists
  Bakers
  Brewers
  Chefs
  Electricians
  Fashion designers
  Firefighters
  Fishermen (commercial boat captains in general as well)
  Mechanics
  Musicians
  Pilots (including maritime pilots)
  Plumbers
  Psychiatrists
  Stylists
  Winemakers
  Zookeepers
Even if we were to somehow automate all these jobs (which frankly I'm not sure is actually possible), someone will need to maintain the equipment. It can't be automation all the way down.

I think this attitude is dangerous, and considering these jobs "dehumanizing" is, frankly, disrespectful and betrays a lack of understanding of what non-office-workers do.

I highly recommend watching Mike Rowe's TED talk for a counterpoint: http://www.ted.com/talks/mike_rowe_celebrates_dirty_jobs.htm...


Exactly.

Saying "Skill X is the new norm" based on the fact that your life revolves around skill X is a clear case of needing to get out more.

Programming is to computer use what engine overhaul is to driving a car. You can argue that driving a car is an essential skill for modern day life, but being a mechanic is most certainly not.

Being a mechanic might make you a better driver, and will certainly make you less reliant on mechanics, but it is by no means a requirement.


Being a mechanic might make you a better driver, and will certainly make you less reliant on mechanics...

Neither of these things are always true. This is something that tinkerers often struggle to grok.

Consider that the safest way to travel from one place to another is probably on a plane: The vehicle which you are least likely to understand. Moreover, even if you do understand modern jet aircraft and the airlines that fly them, that knowledge won't do you much good, because you have very few knobs which you're empowered to turn. But they constitute a very highly-designed system involving reliable avionics backed-up by redundant highly trained and well-rehearsed pilots with their lives on the line. And the statistics show that you're not going to improve on that. So sit back and have a ginger ale and wait for the plane to land.

As with travel, so with many things in our modern world. Does knowing something about cryptography (a) make you significantly less reliant on professional cryptographers, or (b) make your software more secure? According to security experts I've read, the answers are (a) no, unless you want your software to be less secure and (b) perhaps, but only if you fully appreciate the answer to (a). If knowing a few things about crypto tempts you to deploy crypto that you implemented yourself, it's actually counterproductive if the goal is to produce secure production software.

(As a hobby or an educational toy, of course, I'm obviously a big fan of tinkering. But not everyone needs to have the same hobby.)


It does seem fairly common for people to think that their profession is something everyone needs to know, and sometimes the arguments are even pretty good. I've met several lawyers who believe that everyone should be legally trained, at least to a basic level, because the impact of law is so pervasive in modern society (even here on HN, a good portion of our discussions are about law).


And that, actually, is a very good point as well: after all, ignorance is not a valid defense! Just because something is common does not mean it is wrong.


One common thing about all those jobs is that they've all been automated in parts and continue to be more and more automated. So you may be right that for some reason not every job can be automated 100%, but that doesn't save those jobs from automation. See how happy 9/10 laid off zookeepers are when you tell them "Hey, at least we kept one of you to run the machines!"

Even if you can only get to a mere 50% from some baseline, that's half the previous work force blown away that was previously required. Those laid off will have to find another field quick. It's not easy to change careers and it's not easy to go from a mostly-labor job to a mostly-thinking job. (I'm being fairly broad with labor and thinking here--e.g. I consider someone whose job is to input handwritten form data all day to be a labor job even though they sit at a computer for 8 hours, and a professional artist to be a thinking job even though it's probably better categorized as a creative job.)

Since mostly-labor jobs are the easiest so far to automate large portions of, those jobs are at the highest risk. Programming is the last bastion of a large supply of available jobs until we have AI smart enough to write most of the programs people want, it seems sensible to have a sizable subset of the population at least somewhat knowledgeable on the matter that they have a chance at switching to a programming job if their current one goes sour for any reason (like outsourcing), not just automation.


I have a hard time imagining there ever being demand for anywhere near 5bn+ programmers, even if the majority of jobs are automated.


I think you may have missed the point completely.

The reasoning Markham is using is that 'programming' (and he tries to be clear that he's using a concept not the vocation) is rapidly becoming as essential a skill as reading and basic arithmetic ability. The support for that argument is an observation that everyday appliances are being implemented in 'software' (like the phone) and that this opens them up to customization, and the customization takes the form of programming them.

A very simple and concrete example, how many people who have never been exposed to 'programming' have the additional functions of their 'universal' remote that came with their TV configured? Record shows to be watched later?

Even if the tool is as simple as going through a series of menus answering questions, the underlying mechanism is that your creating a 'program' to achieve some objective. So if your Artist never needs to use a computer to create art, they will have to figure out how to tell the microwave to convert their frozen entre' into something edible. They will be exposed to stored program sequencing and understanding the basics of that will make their life easier today, and Markham asserts will be required in the future.

Markham riffs on the jobs aspect I suspect because it has a large number of ways to see how people are displaced, but the bigger point is that the world is becoming programmable.


Why did I, as a programmer, have to learn history, geograghy, foreign languages, music, chemistry, biology, etc etc.

Not all mandatory subjects in schools are useful to all professions, but that does not mean that they shouldn't be taught. A large enough percentage of people are office workers that I think teaching programming would be a net win, even if there are a lot of professions that do not require it. Also, as with the subjects I listed above, programming teaches people how a large part of modern industry and business (and just plain every day life with the ubiquity of software on our lives) works and that is, IMHO, useful. I mean, we learn about the world around us in subjects such as geography or biology, why not learn something about how the technologies we use every day (the internet, word processors, music players, whatever) work and are created? At the very least, it expands our minds just like learning a foreign language does.

Saying that everyone needs to know to program is obviously too strong, but enough people would certainly benefit from it that I think saying that, eg, "schools need to teach programming" is valid.


> Why did I, as a programmer, have to learn history, geograghy, foreign languages, music, chemistry, biology, etc etc.

Because the education system is broken.

Many subjects we teach in schools today are there only because they classically established your social status as a proper lady or gentleman -- not necessarily because they are of any practical use to the modern public.

For example, see Harvard's entrance exam from back in the day:

http://graphics8.nytimes.com/packages/pdf/education/harvarde...

That's not to say that (for example) music theory doesn't have a place in today's society, but is it so absolutely critical to the functioning of productive citizens that we should require everyone to learn it, and subsequently forget it?

This isn't why the education system is broken, but it's a symptom.


Here's the thing though: I do feel that it is beneficial for everyone to get a taught the fundamentals of all of these subjects because:

- It helps you better understand the world around you.

- A lot of knowledge can (and often should) be applied outside of their obvious areas

- It helps us appreciate and/or understand other people in jobs very different from our own

- It helps young people decide what they enjoy or are good at

- It provides a base that can be expanded on in the future if the person ever needs or wants to

- It helps us communicate between disciplines as

- Probably more that I can't think of offhand

"and subsequently forget it"

Sure. This happens a lot, but you forget a different subset of what you learned than what I forget. I also find I can relearn things that I learned in school a lot easier than I learn completely new things. I also wouldn't have known what to forget and what to spend time remembering and improving if I hadn't learnt it in the first place. Finally, I found out that I either enjoyed some of these things that I otherwise never would have been exposed to, nevermind how much of these things seemed useless at the time (and so I would have opted not to learn them, given a choice) but have since turned out to be extremely useful or even critical.

Note that I am not arguing that the education system isn't broken (I think it is), but that learning a large variety of subjects isn't necessarily bad or even a symptom of the broken education system. I think that any reasonably education system would expose students to a large variety of subjects before focusing on specifics.


FWIW, my brother its an industrial electrician and programs regularly for his job.


I think it would actually be quite fascinating to hear the details if you could get him to write a few paragraphs on what he does.


PLC's i would imagine


I think PLCs are about 70% of the programming that he does. The rest involves optical sensors and other production equipment I know nothing about.


Well, let's see.

Artists - new forms of art, html5, cool particle effects, webgl, 3D model scripts (for videos and such) and so on. A lot of use.

Bakers - baking is a science, machine learning to figure out just the perfect ingredients for the best bread? Pastry? Etc? I'm fairly certain there's a reason why Oreos taste just the way they do.

Brewers - same as the above. Why does Guinness taste just so? There's a lot of science behind that, science and stats.

Chefs - the same argument applies. I also suggest you watch The Best Hamburger Ever -> http://www.youtube.com/watch?feature=player_embedded&v=U...

Electricians - this one is a bit tougher, but some lighting systems in some houses are pretty damn complex - to the point I'm almost certain there are some microcontrollers involved. Or what about stage lighting? Sure it's physical, but it's still programming.

Fashion designers - a tough one, but someone has to program all those looms (although that's fabrics). They could also decide to turn it into a science, or what about those Samsung (or was it Philips?) LED fabrics that can be programmed to make lightshows. That could make it into fashion too.

Firefighters - ok you got me here, this is a very physical job that probably wouldn't benefit from programming .... oooh, how about fire prediction? Calculating how it will spread in a building? That sort of stuff?

Fishermen - have you seen the amount of high tech on a modern fishing boat (on telly for instance)? Puts the average reddit battle station to shame. Those things are complex and look very programmable.

Mechanics - don't modern cars depend a lot on their electronics? Aren't there people who almost do nothing other than tune engines? Isn't that quite a bit like programming?

Musicians - a guy at my faculty made a software that does some intricate things with music, I forget what it was, but basically machine learning on sounds and stuff like that. All very interesting and programming-heavy. Also the effects some peopel use these days are pretty damn awesome ... programmable?

Pilots - don't they already pretty much program the auto pilot? What I've seen on television (discovery channel for instance) that thing is very complex and it doesn't look too far from programming when they input their commands.

Plumbers - microcontrollers that control the amount of water flow based on time of day and season for the best water economy. That is all.

Psychiatrists - they already program people's minds. They don't need anything more than that or they'd be too scary.

Stylists - depends on the kind of stylist. Machine learning from tweets about a celebrity to figure out their best look? To figure out trends in style in advance so the celebrity client always looks like they're ahead of the curve? Hell, apply this to fashion designers as well.

Winemakers - it's a science. A lot more goes into a bottle of wine than most of us think (I've seen how advanced the field of tea tasting is). I'm sure there's a lot of chances for programming therein.

Zookeepers - when do you put a mommy bear and a daddy bear together in the pen so they don't eat each other and produce baby bears instead? ok that's statistics, but a little R programming wouldn't hurt.

Guess what I'm saying is, almost all of these professions could benefit from at least programming in R.

edit: The point is that, if all those people at least knew about programming, who knows what they'd be able to create or at least think of (and then get someone to do it)?


I appreciate what you're doing here. As a programmer, I can also see areas that programming (or at least skilled computer usage, as some of these things can probably be done in Excel or existing tools) could add to most professions.

But even in your replies, you're often dealing with only small subsets. I don't want to live in a society which feels painters and sculptors are obsolete because we have webgl. I certainly don't want to live in a society in which the Oreo is an example of good baking. And the existence of webgl and Oreos doesn't indicate to me that painters, sculptors, and traditional bakers need to know about the programmatic options.

When not subsets, it's not clear to me why the professional ought to know programming rather than enlisting the help of a programmer. Programming tools for fire prediction would probably be quite involved. I've been programming professionally for 3 years, and I'm not sure I'd be up to the challenge. I'm not sure someone could be a skilled firefighter, learn programming well enough to write fire prediction tools, and still have a social life. And even if someone can, there's no reason every firefighter needs to. Once it's written, it's written, and others just need to learn to use it.

(As for the burger, I wouldn't eat it. I like my food traditional, minimally processed, and made of things I would recognize on a shelf [a category into which his emulsifiers do not fall].)


That's certainly your prerogative, and good for you.

In the year 2040 you need to go to the dentist. The dentist you visit has a big shop, with lots of employees. There's Linda, who works the telephone and knows you and your family. There's the hygienist. There's the nurse's aide. The dentist even makes his own amalgams for fillings. It's a very personal and homey atmosphere. People like it.

The other place has robots. There is no dentist. You click on your iPad (or whatever you have then) that you want to see a dentist, and within ten minutes you're in the office. A robot does the exam, consults with you, and completes the work.

The first dentist costs four times as much as the second one. It also takes twice the time, and you have to wait two weeks for an appointment. (If you're lucky)

Now that's not some strange imaginings -- that's going to happen, whether we like it or not. The main question becomes: do we evolve a mixed-mode shop full of artisans working (programming) computers and technology? Or do we just commoditize the lot of it, take the humanity and ingenuity completely out of the picture? If you set aside programming, make the programming shop some special place where people go to commoditize business practices, you end up with no people around. After all, you've replaced them. If, however, each person knows their job and also programming, you create something new that wasn't there before. This is the startup question, "should all the founders know how to program?" applied to the world at large.

The essay makes the case not for programmers to rule the world, but for people of all jobs to learn to manipulate complex programmable technology in the same way they might today use Microsoft Publisher to make a banner. It's actually arguing your case for you: for our own benefit, the creative and unique aspect of people must be preserved.


It is my hope that humanity finds a healthy balance between technology and tasks that humans do. Yes, it would be great if Apple didn't have to exploit Chinese workers to make their products. But no, it would not be great if my Doctor was put out of work by a robot. I honestly feel that the government will have to issue some sort of standard that limits technology to some sense.

Yes, I would save money by going to the robot dentist, but my dentist would be out of work in no time. It partially rests on humans to keep the exploits of technology at bay. We can't turn personable human tasks into machine work.

Our world can be set up to be completely self-sufficient. Yes, a few people would make a lot of money, but I personally believe the impacts would be horrendous.


What separates the Dentist from the bank teller? Clearly ATM's have drastically reduced the need for Bank tellers, yet nobody seems that concerned about it. More generally, I suspect there is always going to be gap’s when as a field gets automated. As the more complex the task the harder it is to automate and less cost effective it is to do. So, it feels like the steady erosion of low end jobs everywhere vs. a sudden loss of a single profession.

We can see this as an increased demand for education / training. But, not everyone is able to keep up and over time ever fewer people are going to be capable of the remaining niches. It's possible that the service industry's are going to continue to absorb the less capable, but that does not help the economy in the long term.


"What separates the Dentist from the bank teller?"

One of them has his or her hand in your mouth and might need to drill, remove, fill or otherwise mess around with your teeth. I think a lot of people would be more comfortable with a human element in all medical interactions, even if robots are eventually as effective.


> even if robots are eventually as effective.

What about when robots become more effective? Drastically more effective?

I would not let a modern day robot work on my teeth, they are too stupid, but I can imagine a day (fairly soon) when this will not be the case, and my gut reaction will start to be the exact opposite: I would not let a human being work on my teeth.


I wouldn't bet against that, but what I was saying was that right now there is a big difference between a human bank teller and a human dentist, and an even bigger difference between an ATM and some future dentist robot. It's just a bad analogy because they are not similar interactions at all.


We already have robotic dentists doing dental work better than a human can. Back in the dark ages of say 1995 if you wanted to get your teeth into better alignment you went to this guy who attached this complex apparatus that would forcefully move the teeth in your mouth and every so often you would go back to this same person to do adjustments and such. Sure, it often hurt, look a long time, looked bad, interfered with proper dental care, and only allowed for fairly simple work, but at least it was expensive.

Now, with automation and 3D imaging technology we can have a specialist specify what to change and let a computer design a series of discrete non-invasive attachments that allow a home users to quickly attach and remove their implant. It's far less painful, takes less time,can far more precisely preform complex work like rotating a tooth, and the only downside is it costs about the same amount as braces. Note: This is an actual company not just BS (http://www.invisalign.com/Pages/default.aspx).

PS: I still occasionally see a teller for complex interactions, but I trust an ATM to be far more accurate for my day to day needs. And there is still plenty of work for orthodontists, but a lot of the simple stuff is simply better handled by a machine.


That's fascinating, thanks. But has this technology reduced the need for orthodontists? Does it mean that orthodontists now need to learn how to program? I think this is just another example of humans using more software.


It's reduced the time an orthodontist spends per patent and allowed non orthodontists to do simple things that used to involve an orthodontist. But, it has also convinced a lot of adults to get dental work. So, in the short term it's fairly neutral, but in the long term we are going to need fewer orthodontists.

As to programming; I don't know a lot about how the software works, but advanced users in front of really complex software like Excel and Photoshop tend to blur the line between a Specialist and Programmer.


We will hit a raw-material crisis which will force us to cap the production of these machines.

If that doesn't happen, Wall-E future or massive human revolt.


Hmm,

I might indeed prefer Dentist #1. But if competition in my field of interest has significant reduced my salary or rendered me unemployed, I may have no choice but to dial-up Dentist #2.

This effect then results in Dentist #1 joining me in having his/her livelihood under pressure.

I can't see this ending well...


Automating (nearly) everything doesn't mean everyone have to starve. http://en.wikipedia.org/wiki/Basic_income_guarantee There. Lots of free time, and the money to live through it. I agree however that our current economic model cannot stand widespread automation (heck, it already struggles with abundance, fighting it with artificial scarcity).


I'm not saying webgl or oreos will replace artists/baking. I'm saying they can (should?) view programming and computers in general as new tools to expand their art.


Your arguments are based on the fact that you know as a programmer how much it helps you. But you are trivializing the years of experience and knowledge it takes for someone to master a craft or profession.

Just because some chefs with decades of experience figured out how to mass produce relatively poor quality cookies does not mean that it will be a snap for those chefs to spend years learning how to program well enough that they can create Star Trek replicators.


> I don't want to live in a society which feels painters and sculptors are obsolete because we have webgl.

They're not. However, their work is greatly enhanced by using programming to, for example, generate procedural patterns, to mock up new shapes, and to test out new ideas.

Being able to program reduces the constraints that our mental abilities put on us by offloading parts of it to a computer.


Most of your examples are how computers and software are used in these professions. They don't justify most of these people needing to know how to program computers.

A pilot is only "programming" an autopilot in the most rudimentary sense, by supplying parameters. He's not implementing the operating system for one.

The plumber will need to know little else about your flow microcontroller than how to install it and possibly some settings to input. He needs about as much programming ability for this as he needs for his soldering iron.


Why isn't that programming?

Is a plumber designing your house's plumbing not a plumber just because some plumbers are designing plumbing for whole cities?

Am I not a programmer just because I make websites instead of design and implement Apache, the linux kernel, the processor's microinstructions nor the processor's wiring?


It's not programming in a sense that justifies a plumber learning C, Java, or Ruby.

I think we're talking about something beyond the old concept of "computer literacy" here. Any future plumbers are going to have grown up using iPhones, and will have the basic skills needed for the limited interactions they'll have with computers in their jobs.

Until they're replaced by robot plumbers, anyway.


You were really stretching on some of these. Sure, there will be software to assist any of these professions but that doesn't mean all the people in the profession should become programmers. You're conflating the need of an individual professional to learn to program with the ability of software to impact the industry that individual works in.

Firefighters, for example. Modeling & predicting fire sounds great, but should that be the job of a firefighter or a programmer/statistician who works for the fire department?

That said, I think you're right to call out the parent – many of these jobs should require programming or already do. Many artists & musicians rely heavily on an ability to write software. The group of professions producing food & drink will benefit from automation, but only so much as the professionals using those automation tools understand and can control them.

Programming ability is rapidly moving into all kinds of areas, but to assume that it must end up in every area seems almost as narrow minded as ignoring the impact it's currently having.


that doesn't mean all the people in the profession should become programmers

No, they shouldn't become programmers, but knowing how to program (and I wouldn't expect them to know much more than the basics required to write real programs and learn more later if they so chose) will not only help them better understand the modern world around them, but they will be able to apply these skills if and when they make sense or at the very least they would have a better idea of how to best communicate their needs to a real programmer.

I'm not a historian because I was thought history in school, so why would everyone be a programmer if everyone learned how to program?


It wasn't my intention to deny the impact of programming. I was just trying to, as you said, point out that "[not] all the people in the profession should be programmers."

Thank you for providing both sides in one post though. It's helpful to see the balance made so clear.


Machine learning for bakers and chefs? Wow, you've managed to take everything that is fun, interesting, and compelling out of making great food. I'll pass on your future world of Oreos and Heinz Ketchup.

In fact, the food and bev industry is going in the exact opposite direction of this form of commoditization with small, craft shops popping up all over the place.


The original comment said: What do any of these educated and skilled people need with programming?

You said: ... almost all of these professions could benefit from at least programming in R.

"Need" != "Benefit From". There are innate benefits from learning anything, including programming. That does not equate to a profession having a need for programming.


I may have took "have need for" a bit liberally I guess. But if a field can be improved by applying science, I take that is there being a need for that. Even if nobody is yet doing it like that (although the fact I could think of those off the cuff like that probably means that there is somebody somewhere in the world more knowledgable of that field who is already doing it)


ppl may have multiple works, besides they may find it fun.


"Why does Guinness taste just so? There's a lot of science behind that, science and stats."

Guinness was a pioneer in this area, actually. William Sealy Gosset, the discoverer of the Student's t distribution, worked for Guinness (he published his work under the name "Student" because Guinness had a rule against employee publications).


And I suppose Lifeguards should spend their time writing predictive drowning software?


How to improve ANYTHING: 'apply machine learning and stuff like that'


Yes, Human are tool-using animals.

Our entire tool-using history has been remarkably short and has vastly transformed the world, resulting in more powerful tools, especially resulting in the universal-tool known as the computer. It can be comforting to imagine there's some normal-people-land that just puts-along untouched by the advance of our tools but really there isn't. Every human activity combines relating with the world and relating to other humans - the changing tools for doing this change the activity, often radical.


Using your example of bakers, I think more value would be in being able to set up scripts and such to set up ways of monitoring things (temperatures, moisture, whatever). With a little programming and a simple DIY electronics kit (an arduino perhaps), a lot of these professions could easily rig up some hardware and software to monitor their work and notify them of specific circumstances. The more advanced people could rig up ways to automate part of their work.

At the very least, they will have some idea of what they need when some actual software people try to create something for these peoples industries (ie, they will be able to communicate their needs better because they will have some idea of what the programmers actually do).

EDIT: as much as I hate when people ask about why they are being downvoted, I would like to understand why so I can improve my future posting. Unless of course someone simply didn't like or disagreed with the post, though I would at least like to know why you disagree with me as I don't see anything obviously wrong with my post as an expansion to the parent post. I am merely pointing out how knowing some programming would be useful to a very wide variety of professions[1] beyond what parent said (which was a lot of machine learning) and that at the very least, it would help people communicate with "real" programmers, the same way that I learn about business to help me better communicate with the various different business people.

[1] A large enough variety of professions and people that I think everyone should be taught at least basic programming the same way as I think everyone should learn some basic algebra, history, geography, chemistry, biology, etc


This is actually a very good point: people in a lot of professions could get a significant competitive advantage by automating large parts of their job. A random programmer does not know enough about baking to do much here; a baker who knows even a little bit about programming would find it much easier not only to do things him/herself but also to explain his needs to programmers who are not bakers.

In fact, the biggest win would be even simpler--just understanding where automation could help and where it couldn't is enough to progress. This sort of understanding more or less requires at least a base understanding of programming.


Most of the new projects we see on HN will help other programmers. This sucks. The first advice to writers is write what you know about, and it applies to innovation - fire fighters that know a little about programming will be able to innovate in their field much better than I can. They will be able to detect and solve their hard problems faster then I could because they have actual experience in their field.


Calling any of these things programming is a huge stretch. Most highly paid, highly skilled workers do not need to know programming.


We can say that any of these professions will gradually evolve to accomodate programming of some sort. I was thinking about this and I realized that putting programming in front of someone like a winemaker will also have to deal with problems faced by programmers--debugging, refactoring code, upgrading, optimizing, putting together frameworks, and etc.


oooh, how about fire prediction? Calculating how it will spread in a building? That sort of stuff?

That's the not the job of the fireman, I think. I hope the fireman in my city doesn't spend his time doing such stuff instead of extinguishing the fire.


> Fishermen

The fishing industry is in dire straits because too many boats are chasing too few fish. Boats have been getting bigger hauls for decades, partly because the power block allows small crews to shoot more gear, but mainly because of better data.

The bridge of a modern trawler looks like that of the starship enterprise. A captain spends most of his trip looking at computer displays, reading sonar data. A skipper lives or dies on his ability to find fish, by combining his knowledge of fish behaviour, tides and currents with his sonar data.

It's for this reason that the fishing industry is consolidating into fewer, more sophisticated boats. The Annelies Ilena is currently the biggest trawler in the world at 144m LOA and 11500 tons displacement. It is capable of processing 350 tons of fish a day. Boats of this size are only economically viable because better data methods allow them to reliably find fish.

> Maritime pilots

Largely replaced by computers. In most modern ports, pilotage is only necessary for the biggest boats and the most difficult conditions. Higher-resolution charts and differential GPS obviate much of the need for the local knowledge of pilots. Computerisation has hugely reduced the crews of merchant ships. Some of the biggest vessels in the world operate on a crew of less than twenty.

>Airline pilots

The US armed forces now have more drone operators than pilots. Those are being replaced by software as fast as ethics will allow. I'd be astonished if there's a single fixed-wing pilot left in the military in 20 years time.

Civilian aviation should have abandoned human crew years ago. For every Miracle on the Hudson, there are a dozen accidents that no computer would have allowed to happen. Computers are just better at flying than people.

Ultimately, this isn't about "software" as we see it today, it's about artificial intelligence. We need to get our heads around the idea that within a few decades, computers will be more intelligent than us. Unless we understand the implications of that fact, we're doomed.


Many of these businesses will have a web presence, so basic programming knowledge should be important even if you are hiring someone to else to make your website/shopping cart just so you have an idea of what is possible and so you don't get screwed on pricing.

Similar to how if your business depended on a large fleet of vehicles you may not need to be a mechanic, but some basic knowledge about maintenance and the capabilities of different vehicles will allow you to make better decisions and hire better people at more reasonable rates.


All of them can reduce administrative overhead, improve throughput, and streamline their workflow by effectively using and being able to extend software based tools and scripts.

In my mind at least, this isn't about automating skilled jobs out of existence. This is about giving these professionals the ability to streamline their work. Without the ability to understand software, they often wouldn't have the knowledge of what pain points a hiring a programmer could help them with, let alone the ability to do the work themselves.


"...What do any of these educated and skilled people need with programming?..."

Have you looked at want ads lately? Chef: must be able to work the mixomatic programmable mixer. Electrician: must have knowledge of microcontrollers. Fashion designer: must be able to create digital mock-ups of new designs and work out how to automatically share them with our manufacturers. Pilots: must be able to work and program so many systems it would make your head spin. Musicians: must have knowledge of MIDI and be able to use a sequencer. Firefighters: must be able to program the engine and help with the local 911 modernization. Psychiatrist: must participate in the machine learning diagnostic project the hospital is undergoing. Must be able to work with data mining to determine non-current patients in need of intervention. And so on.

These criteria are just made-up examples, but I could go on. We could easily pull down real ads. Let's try the most fuzzy one you have up there: artist. Know a writer who doesn't use a word-processor? They exist, sure, but not as many as before. In fact, most of them are now learning html and mixed media formats in order to eliminate publishers and broaden their base. It used to be the "traditional" writers didn't use software. Now they use software but don't configure and program it. The "new generation" of writers do that. What was optional is now becoming a necessity. What was "computer literate" is now looking more and more like programming. This trend will continue.

Perhaps there is some exception. If so, I haven't thought of it. And you haven't listed it here. Yes, in some abstract, perfect way plumbing has nothing to do with computers. But that's the hell of the thing: the plumber in our imagination isn't the one in the real world. In the real world being a plumber means managing your scheduling system, your A/R, working with CAD drawings for a new construction site, buying mechanical devices that require configuration and programming, looking more into robotics for some types of work, and so it goes. The mental picture we have of these jobs and the actual way they are evolving are two different things entirely. You might be able to argue that one or the other jobs has more or less computers and programming in it, but that's a moot point. You're fighting a losing battle. They had zero ten years ago, they have some now, and they'll be mostly automated in just a decade or two. In some very real sense we are all becoming painters, just with a lot of technology to use instead of paints and brushes.


Creating “digital mock-ups of new designs” isn't programming. Programmers make programs, which the designers can then use to create their mock-ups.

Unless I misunderstand what programmable mixers are, it's not really programming so much as defining preset profiles or sequences. I don't mean to imply it's easy, but it's not what programmers consider programming. (Again, some programmer created the software that the sound engineer uses).

Writers use word processors. Yes. I'm sorry, but are you just trolling?

If your argument is that everybody needs software, that's true. There's no need for everybody to write their own, though. Diluting the term programming is downright dangerous.


To an extent, yes, but surely there's no clear line between a small excel macros and monstrously complex excel macro systems that are dreadfully abusing the Turing-completeness of excel macros and should use a better tool. But the latter comes from people playing with the former. I think that as information tools become more sophisticated, they necessarily develop programming-esque characteristics.

Figuring out a way for that to happen naturally, intuitively, and broadly is a hard problem that seems like it would probably have huge rewards.


I think there exists the possibility that the complexity may force more people to learn ‘proper’ programming. However;

Given the current UI/UX research and trends, I'd hold it more likely – and certainly preferrable – that the hard work happens behind the scenes, and users can perform more and more complex tasks reasonably intuitively.


Audio engineering Abeltron live can get down and dirty and I rember a high end reverb in sound on sound where you efectivly implimented custom reverbs in asembly language.


The difference to me is that you have to be a skilled operator of these devices, not a programmer. Absolutely, they can be very complex to operate but the main difference is that you are using these tools to do your task, rather than creating the tools.

It is true that they sometimes have plugin APIs, but so do most applications. A writer would not typically write plugins for MS Word. But he might buy one for his needs. The API is not necessarily intended for the end user to become a developer.


Well that was the point SOS is a very high end mag they run articles by industry experts that start out "when I where a lad working for Georg Martin on Sargent Pepper"

I was boggled that they reviewd audio equipment which you had to write your own algorithms in Assembly though - now thats hard core


"We could easily pull down real ads."

Please do. I agree with other commenters that a lot of your examples are people using more software, not actually programming.


Maybe I can respond with an anecdote relayed by my wife: She was a Biology undergrad who got into food science. Her first job was for a food co-manufacturer who made many of the frozen pizzas you probably eat (but purchase under the major labels brands). She invented the formulas and ran test batches before they'd run the actual production runs in the factory. They co-manufactured a lot of food and if you've eaten any frozen pizza or cheap take-out/delivery pizza within the last 5 years you've probably eaten bread my wife "optimized" :). I just want to make sure I set this scene up before I get into the incredibly crazy part:

When she first started she did two things that previously nobody else did: she wrote her formulas down as she made them so she could reproduce them later, and she applied the scientific method to her formula making. Now anybody else reading this HN comment will probably think "WTF that's very obvious". Like I said, she was the first person to do it at her gigantic company (along with her other new co-worker hired at the same time).

And she was made fun of and teased! "You crazy college kids" was what she heard at first. Then after she proved that she was far and away more productive than any of her co-workers they'd scoff at her that "Pizza making is an art". Nevermind that in between those scoffs her boss said she was the most creative thinker...

The old guards wouldn't even write down what ingredients or the quantity when they were making new formulations. They'd have to try to remember later what they did. And guess and checking formulas was how they'd develop new stuff that was tightly specified. Guess and checking pizza is almost always a lot slower than guess and checking the positioning of a label on a web app, so this was a very expensive process.

And when you work with food at that scale it's all marketing driven: Marketing comes down with an idea that "Sodium is scary so let's develop a pizza that's really low sodium. Oh and let's see if we pitch it to blah for their kids meal". They'd specify a level of sodium that was acceptable, and then the kids meal specifications had their own acceptable levels of X, Y, and Z. So with that in mind she would work backwards, make 12 different formulations in spec at once and let the marketers try them to see which tasted best (sidenote: low-sodium pizza tastes awful. Just eat real pizza and have an extra glass of water).

All of these scientific techniques were totally foreign to her co-workers and even her customers, and we're talking math and science that most learn in 4th grade. She worked for a huge successful company that's successful in spite of itself! Could you imagine the software that could have helped her do an even better job: - Software to manage the dozen or so different variations of the project she was working on - Even better, software to help her collaborate with an assistant so she could get these 12 variations in front of customers faster - Software to help her plot some sort of optimization curve to figure out the 12 different variations she should try based on the input parameters - Some sort of version control for her formulations - Automatically come up with the nutrition label before she started working on the pizza - Even more if I could remember some of our other ideas

So to keep on topic: There are a lot of things, at least for baking, that were disrupted by just using 4th grade math and science. Software was the next step, and we were going to start making software (she'd be the domain expert for my coding work), but then we had twin boys so right now we're just trying to tread water. Maybe soon...


> and we're talking math and science that most learn in 4th grade

Precisely what I was thinking. Basic programming will be just something for 4th grade that almost everyone will have forgotten when 20.


Pilots (including maritime pilots)

If you are under 50, I would bet most planes (at least in the military) will be piloted entirely by AI before you die. The same should be true for most large ships. Most planes are already piloted by AI most of the time today.


As a mechanic, I am a trained and licensed auto mechanic. Many, many people drive cars. Therefore, auto repair is the new High School Diploma. etc etc


I tend to agree, it's the reason "auto shop" is an elective. I think that a general computing course in high school is desperately needed but to go as deep as programming I just don't know that it would produce the results we need.


I advise all who pontificate about what _SHOULD_ be taught in schools to take a look at what _IS_ actually taught in schools (high-school/college-prep) today.

That last thing students is need is yet another hot topic on top of all the other crap they're supposed to be learning.

There is far too much specialization going on. What the students need more than ever right now is increased focus on the basics of reading, writing and mathematics. Everything else, including future vocational training, follows from the basic skills of the "three r's".


I wish I could upvote this more. "Programming" is just a subset of logic, which is a subset of mathematics. I'm not happy that more folks can't program, but I'm MORE unhappy that more people can't comprehend that - for example - the world is more than 6000 years old.


I don't think that programming is going to be a required skill like a lot of people here say it is. As much as I love programming and machines and computers, I don't think I want to be serviced in every area of my life by a machine. I don't think I'm alone in this sentiment. In the foreseeable future, there will be jobs for the non-tech-savvy folks.

When I read articles like this, I get the feeling that some people love programming and computers so much they get all giddy thinking that everybody will need to be programmers at some point. Don't get me wrong though, I do think that people who have the capacity to wield computers have a lot of power on their hands, but I think it's a bit of a stretch to think that everyone will need to be programmers eventually.


I disagree with this analogy. Latin is (IMHO) a better comparison. Previously discussed:

https://news.ycombinator.com/item?id=3285212

I don't see the need for everyone to be a programmer. Nor do I see programming to be as fundamental as literacy or numeracy.


Linux supports the notion of a command line or a shell for the same reason that only children read books with only pictures in them. Language, be it English or something else, is the only tool flexible enough to accomplish a sufficiently broad range of tasks.

-- Bill Garrett

If programming really is the new high school diploma, I expect to see a big failure in the "there's an app for that" meme. If it's the case, at some point people will need to compose apps in new, creative ways that suit their particular individual goal, which no one else has currently thought of to implement in a single one-click app (if it's even possible) and/or which an app that's almost there can't go the rest of the way because the request is too specific to that one user.

Of course, I'm more in favor of using the same simple argument made when students ask why they must learn algebra. It shapes their thinking in a positive manner regardless of whether they advance further in the field.


I think it is possible that one day robots will do all the work and it seems logical that as we progress toward that point programming will be a pretty safe and in demand job.

However - I think it is important to consider the political implications of such a future. It is unlikely that 50% unemployment is politically acceptable. If we were to move to a more communist / socialist society would robots still be doing the work?

It is unlikely that we all end up programming.


It's an illusion that programming will be a safe job. Robots will do most of that too.


I truly think that at some point (far) in the future, robots will put everyone out of "real" work. They'll do everything for us. Money and economics will become irrelevant. Humans will be left to do what we enjoy at will, whether it's spending time with friends and family, exercising, playing music, painting, building things, or all of the above, of course. Some might even take it upon themselves to improve whatever systems are in place, if that's what they enjoy doing. The main obstacle we face, however, is getting everyone on the same page and making the transition from an economy dependent on cash flow to one that is automated where no one has any real responsibilities. I know it's hard to imagine right now, and we can presently think of a million ways why it will never happen; but it's just my opinion: where there's a will there's a way, and for something like this we have to really think outside the box.


I agree with most of what you are saying, I have similar beliefs.

I think that we need to redesign society from a technological and _primatological_ standpoint because I think a lot of the extreme hierarchy and brutality we see in our world is a result of the way that our cultural frameworks handle our primitive needs such as various ways that men compete for sexual success (such as resource acquisition).

The thing that I think people are missing as a realistic concern or change is that by the time these robots are able to replace most human jobs, which doesn't seem like it will be too many decades from now, shortly after that, we have to expect that the robots will become even more capable than humans.

The robots will be smarter than people. Normal, unaltered humans will probably eventually be treated like animals. I think that people don't take this possibility seriously (to me it is a likelihood, and probably within my lifetime).

I don't think that means we should prevent the next 'species' from taking over, but I do think it means we need to plan for ways that we can integrate with super-intelligent technology in order to stay relevant. And I think that is going to be a very practical issue within a small number of decades.


In order for "robots" to completely "take over" the transition will have to be MUCH longer than just one lifetime. Otherwise we'll end up with 40% unemployment and mass rioting.

It'll probably take us 50 years to have emission-free vehicles dominating the auto market, let alone robot overlords.

Maybe I'm just pessimistic (or optimistic), but I think Humans are too dumb and/or too smart to create an AI that will overthrow us. More likely, we'll ruin our society by overpopulating and draining our natural resources before we can prepare a suitable "Earth 2".

Or Zombies...never discount Zombies.


It isn't safe in the absolute sense, but it is the safest: as soon as AIs can program, they can automate whatever else is left themselves, probably fairly quickly.


This is not necessarily the case. Humans are machines that can do programming. And yet there are many many tasks for which we are unable to design machines to automate. Technology takes time to progress, AI or no AI.

That said, strong AI is so difficult, and we are so far away from it, that it is likely that by the time it happens we will have automated everything else already.

I actually think social work will be the safest job. In a world filled with robots, people will want to talk to real people :)


50% unemployment is fine. That's what automation is about. Freeing people from mind numbing boring work, which is most of it really.

The problem is really what do you do with a lot of people who need to do anything and probably don't need to exist? They tend to multiply quite rapidly as well as there is nothing else to do.


Nope. So far, automation has been about efficiency not liberating oppressed workers. I don't think that will change anytime soon. Millions of people endure 'mind-numbing boring work' because that's what they need to do to survive. Do you really think they're going to view their replacement as a reprieve from their oppression? They aren't paid afterwards, they're put out on their ass.

In a society that demands employment, 50% unemployment is a death-sentence. That's half your population draining the subsidies dry and raising taxes on the working half. Suddenly both sides are angry. Prisons become overburdened, people dead in the streets, Governments overthrown, CEO assassinations, etc.

Sure, in a fantasy land where things don't cost money and land isn't 'owned', 50% unemployment could be ok. Unfortunately that's not us yet.


I'm not saying the focus is, but an accidental side effect is the "pushing up" of labour so that the bottom end of the market have no place in the capitalist hierarchy. The result of this is massive amounts of low skilled yet unemployed people who are a "tax burden" (or is this just a side effect of capitalism's relentless push to a service economy). That is basically Europe and the US summed up.

Society is polarised by automation. The gap widens every day.

I've destroyed hundreds if not thousands of manual work positions over the years by making software that replaces them. I've now got to support the uenmploymed with my tax contribution. Welcome to the flawed turd-bag that capitalism is.


Your points are valid, if a little protracted.

The issue for the next 20-50 years isn't that everyone needs to become a programmer, its that currently no one is becoming a programmer. Until we start to graduate people from high school with some ability and interest in programming, we're in tough shape. At the present time, its near impossible to find a school system anywhere with a good programming/CS program.

And the changes will take a long time to implement: government will need to invest heavily in teaching teachers to program (and teach programming), and invest in ever-changing computer lab infrastructure.

The future looks as ripe for companies like CodeAcademy as it is bleak for government-run education systems.


There is nobody becoming programmers because it is a poor profession to get into.

Locally (outside the US), I see job postings that require "programming gods" for the job, that top the pay scale out at $70K. The US is reported to fair better, where programming deities can earn over $100K, but mediocre programmers still do not earn that much from what I gather.

It takes a lot of work to become even a mediocre programmer, and when you get there, there is no room for advancement. The programmers job is to automate itself away, yet, unlike the commissioner, the average will never see residuals on the gains from that automation. They say most programmers leave programming by the age of 35 because it is a dead end.

Don't get me wrong, I love the field and have no regrets about entering it. I started programming in high school because I was fascinated by it, and the fact I can make a decent living doing what I love is amazing. I do, however, recognize that I could be much further along professionally if I would have poured all those hours into other pursuits.

And that's the kicker. Most people are not going to naturally love programming like me and, I'm going to assume, you. Why would they want to spend their formative years on interests they do not particularly love, to find themselves in a job that pays decently, but has no real room for advancement beyond leaving the act of programming entirely?


I'd agree that programming in isolation is not a tremendously well-remunerated skill. However, it does act as a force multiplier for your other abilities.

A non-technical parallel is public speaking. With extraordinary skill (in isolation), you could end up as a PR flack making 100K or so. If you combine great speaking ability with strong organizational and interpersonal skills, you could end up making orders of magnitude more as a CEO or politician.

Programming, like public speaking, can be thought of as a delivery mechanism. As more of our world becomes "programmable", the increased reach and leverage of coding ability will make it far more valuable.


I think that is a fair observation, but if people don't already have a keen interest for programming, why wouldn't they just pursue the non-programming multiplier that best fits their personality?

It's not the people who already enamoured by programming, it's the people who dislike or even hate it (i.e. most people). What about programming makes it worth their time to do, when they do not naturally love it?


I sure hope not. The most dangerous guys at work are the product managers who had a few programming classes in college and think software engineering is "easy". Programming is, like many disciplines, easy to pick up but hard work to truly understand and master.


Programminsg is easy its working out what you need to program to solve the is the hard bit.


I agree, if "programming" is taken to mean a broad understanding of eg processes, iteration, encapsulation, abstract categories, causality, concurrency, constraints, data formats, networks, stuff like that.

In other words, to have something resembling the mental model of a programmer, without writing code. In that sense, I can see "programming" being the new highschool diploma.

But if he means it literally, then I don't agree.


I think that the author of this post might be missing that he could be a bit biased because generally people surround themselves with others that share the same hobbies and opinions. I still find many of the people I meet daily are completely computer illiterate. /speculation


An entire category of work has been left out of this discussion, Sales & Marketing. I would argue that sales people & marketers do not need to learn how to program in order to ply their trades. In fact, adding a technological layer between a sales person & the client/prospect would be detrimental. This doesn't mean there won't be sales people & marketers who will learn to program or experiment with new methods of interacting with client/prospects, but it is not necessary for these professionals to learn how to program.

There are other service professions that do not need to know how to program as well(all sorts of entertainers, personal services [trainers, masseuses, barbers/hair stylists, etc.])


If by "programming" you mean, operate a computer or automated device (machine, tablet, "smartphone", etc.) with some minimum understanding of how it works, then yes I agree. But for everyone to be able to code an app or program from scratch, then no, I don't agree.


Most people don't need to be able to program at a professional level, but they do need to be able to intelligently use computer technology. I think learning a little programming can be helpful for gaining a better understanding how computers work.


Just as everyone is already a mathematician, a historian, and a biologist in high school.

Learning programming doesn't mean to be any good at it, or choose it as a career.


This only makes sense if you look at a process that involves a computer (which is nearly everything these days) and stop looking once you reach the computer.

There are many more steps to nearly every process that involves a computer. The parts that are best performed by a computer most likely already are (at least here in the US). As computers improve, their role will continue to be expanded, but this curve will flatten out. Granted, the curve is in the early part of flattening and has decimated jobs, but I don't think that it will continue forever.


I dont know if most people will need to program computers (write code) but I do think the formalism of "imperative knowledge" is actually in its infancy now. And by that I mean the study of processes, the formalizing of "how to do things", and that can include many forms: management, manufacturing, economics, etc. A basic understanding of algorithms and data structures may be a requirement in liberal arts educations because in theory it can apply to so many areas.


Computer Literacy is the new Programming


TL;DR: I am a programmer, thus everybody should be one. I have only programmer's friends and am immersed in programming culture where I work, therefore I don't understand the importance of other professions.


I would add that today many of us carry computers around in our pockets that can do all sorts of marvelous things and don't require any programming. The fact that an ever-increasing number of previously dumb devices contain computers doesn't imply the need for an ever-increasing number of programmers.

I have even less confidence in the job security of existing programmers who do scripting and/or programming that amounts to little more than patching existing modules together to get relatively simple effects. These jobs are just as susceptible to automation as those of assembly line workers. In software we're where the telephone industry was in the 1940's: there are 350,000 operators in the U.S. alone and the sky's the limit for good-paying jobs as telephone operators. We worry when a small percentage of these good operator jobs are outsourced to foreign workers. We should be worried about virtually all of them being eliminated by automated switches.


Open source has contributed to this. As a business owner, why would I pay for someone to engineer an app when there are so many apps already engineered. I really only need a code mechanic (someone that will get paid less, makes changes to an existing design), a freelancer, or a temporary worker.

Lawyers and doctors don't do this. They might give some freebies, but not to the extent of the open source community.


Programming seems so easy compared to some other jobs. You can pick it up in a couple of weeks by reading a book. If you want to program something more complex, give it another two weeks and another book or online tutorial.

I can't help thinking about medicine instead. Admittedly I haven't tried, but it seems unlikely that the same thing would work for medicine (studying books for a couple of weeks). Even learning medicine in isolation (as is common for programmers) seems like madness.

I will now go looking for tutorials on removing an appendix on YouTube, but I kind of hope that I won't find much...


Right, it's so easy (too easy, even). That's why Internet Protocol suite was programmed in two weeks in the 1970s after Vint Cerf and his team thumbed through a graph theory textbook on the shelf. And on that note, it's also why the MRI reconstruction algorithms were developed by a couple college dropouts who got their certification in Java from the local community college. So, I need to run now and read my new book "Learning Programming Human Models of Cognition in 24 Hours", then I'm going to produce some cutting-edge research after I hack up some DNA analysis code in Ruby or something (all i need to do is read a few blogz on this, right?). Pfft. lol @ the losers who get computer science degrees.


Not everybody who does programming does it on the level of creating the next Internet Protocol Suite.

Most applications that are being developed are 100% standard fare (CRUD).

Also a lot of programmers seem to get by just fine without a CS degree. (I've got a maths degree and minored in CS, but still, sometimes I feel I wasted my time). In fact I don't think I have ever been asked by an employer to code something complicated. If I were doing a startup it might be a different matter.

Are you saying that you shouldn't bother to read the PickAxe book or the PragProg Rails guide unless you have a CS degree?

Also, most code is probably crap but works anyway. I suspect the same can't be said for appendix removals.


I was pointing out that your statement "programming seems so easy compared to some other jobs" is incorrect. Programming (really, the whole pipeline of formal modeling, followed by algorithm and system devlepment) can get immensely difficult, and attracts some of the brightest minds on some of the most difficult problems that can be conceived. I couldn't let that statement go unchallenged.

If you have said something like "developing CRUD web apps is so easy compared to some other jobs", I would have had nothing to say to you, because you're probably right.

Maybe if you had gone to work at IBM on Watson, or for a NASA research center on spaceflight communication networks, or work for something like Certicom producing the next public key cryptosystem over elliptic curves, you'd really be flexing your math muscle and programming. I can imaging there are a small subset of startups as well that would extremely value your math capabilities. So you feel your degree was wasted modulo the way your career panned out.

And a final note about code being crap: Many dental and medical tourists come back to the US with extremely poor workmanship on their knee replacements, fillings, or root canals, and have to have much of it re-done here. Also, due to the nature of medicine and software development, the comparison isn't really apples-to-apples. An oral surgeon might do 10 wisdom-tooth removals a week, granted everyone's mouth is different and there are a huge number of complications, but many software developers are working on something entirely novel on each project. In my experience, crap code is a function of changing requirements + iterated attempts at refactoring.


True, I guess I am just floored by the fact that if I would fancy to start working on the next IBM Watson, I would actually now where to start. Whereas if I fancied trying to develop a new vaccine or other medical cure, I would probably have to study for several years first.


Internet protocol developed in two weeks explains a lot :-)


I would like to point you to two interesting things. The first is the case of Ferdinand Waldo Demara[1] (with whom an uncle of mine served aboard HMCS Cayuga during the Korean War). The second is The Daily WTF[2], wherein the inability of actual trained, working professionals in the programming field to come to grips with the very most basic aspects of their daily tasks is exposed for the edification of the unwary.

The basics of medicine (particularly of routine surgery) are not particularly hard to grasp; the hard part is learning to control the scalpel, and that's really not very different from learning how to cut a frisket mask for airbrushing. Sure, there are hard parts, but how many GPs ever have to delve into the deepest arcana? That's what specialists are for.

Programming is easy if you're already inclined to think that way, or once you've had the "aha!" moment. Getting there isn't universal, even among those who have chosen to pursue programming as a career. Pick a platform, visit a forum or newsgroup, and look for the "kindly do the needful" messages from people who are paid to do things that should be as simple as putting two Lego blocks together.

[1] http://en.wikipedia.org/wiki/Ferdinand_Waldo_Demara [2] http://thedailywtf.com


Even learning medicine in isolation (as is common for programmers) seems like madness.

Maybe it is because both of my parents work in the medical profession, but that sounds perfectly sane to me. Most of diagnosing a medical condition is applying Bayes theorem to symptoms. Have symptoms x, y, z? It indicates condition a, or b. Run a few standard, well known tests that lead you to believe that is a instead of b. Follow standard treatment for a. Say a is gal stones, a few weeks of reading would make you close to an expert on gal stones, treatment, causes, how to diagnose etc. Now sure if a is brain cancer then it is a little more involved but there are corners of CS I would say the same thing about.


It's not the programming is easy, it's that it has a low barrier to entry. Things like law and medicine have really high (one could say artificial) barriers to entry.

High school biology wasn't very hard, and I imagine you could be minimally useful after little more than that. But to actually become a doctor is a very different matter. Just like being a Java jockey is very different from working on high-performance distributed systems.


I'd like to see a 4-week programmer write stuxnet (in 500Kb, of course)


Even assuming it is hard (I don't know, haven't looked into it), it wouldn't disprove the point. Sure there are hard problems in programming. But normal programmers will never be exposed to them. There are also hard problems in medicine, like curing HIV, but most physicians will never attempt them.


The reason you can(maybe) pick programming up so fast, is because you re-use pre-built systems. given the best pre-built systems, how complex medicine is really ? In india you see shortly trained staff doing doctor's work, doing psychiatrist's work, doing an optician's work, etc.

Given pre built systems, everything is simple. And since "software is eating the world", maybe everything can be simple.


Awesome post. It definitely addresses the core issues of the "problems" with the downward trend of current job availability and the economy. I think you hit it spot on.

I'd like to mention that I've kind of been on the receiving end of some angst towards generally tech-savvy people, and I have a feeling I'm not the only one. I'm a computer engineer, and I've noticed that when the topic of what I do for a living comes up and the person I'm talking to isn't good with computers or isn't an expert in another field, their general attitude towards me changes for the worse. I feel like those outside of the tech industry really resent us programmers, as they likely (and rightly) see us as one of the main causes of present job loss in some industries; but I wish there was a good way to help them see the bigger picture, where technology has always been shifting job availability from industry to industry, and that it really only improves overall quality of life in the long term.

For instance, just last Thanksgiving my aunt and I were talking about how much things have changed in the past few decades, and she said something along the lines of "people used to work with their hands, not program computers all day." She said it very negatively; and in the context of the conversation, it was very clear she's actually against the trend of ever-increasing use of computers. There wasn't much I could think of to say at the time that didn't seem rude or disrespectful. But now when I'm on the receiving end of angst towards programmers, I point out that the shifting of jobs throughout industries has always occurred as technology progresses and try to provide examples throughout history. Although it can sometimes be difficult to do this without seeming pompous.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: