Slashdot Mirror


New Book Argues Automation Is Making Software Developers Less Capable

dcblogs writes: Nicholas Carr, who stirred up the tech world with his 2003 essay, IT Doesn't Matter in the Harvard Business Review, has published a new book, The Glass Cage, Automation and Us, that looks at the impact of automation of higher-level jobs. It examines the possibility that businesses are moving too quickly to automate white collar jobs. It also argues that the software profession's push to "to ease the strain of thinking is taking a toll on their own [developer] skills." In an interview, Carr was asked if software developers are becoming less capable. He said, "I think in many cases they are. Not in all cases. We see concerns — this is the kind of tricky balancing act that we always have to engage in when we automate — and the question is: Is the automation pushing people up to higher level of skills or is it turning them into machine operators or computer operators — people who end up de-skilled by the process and have less interesting work?

I certainly think we see it in software programming itself. If you can look to integrated development environments, other automated tools, to automate tasks that you have already mastered, and that have thus become routine to you that can free up your time, [that] frees up your mental energy to think about harder problems. On the other hand, if we use automation to simply replace hard work, and therefore prevent you from fully mastering various levels of skills, it can actually have the opposite effect. Instead of lifting you up, it can establish a ceiling above which your mastery can't go because you're simply not practicing the fundamental skills that are required as kind of a baseline to jump to the next level."

15 of 212 comments (clear)

  1. This is true of anything. by Anonymous Coward · · Score: 5, Insightful

    Wearing shoes prevents you from developing a thick layer of skin on the bottom of your feet.

  2. That's true, but... by Anonymous Coward · · Score: 4, Insightful

    Farming equipment gave us farmers with weaker muscles and fatter bellies. However, it did give us more food.

    1. Re:That's true, but... by Kjella · · Score: 4, Insightful

      Farming equipment gave us farmers with weaker muscles and fatter bellies. However, it did give us more food.

      This. That modern developers suck at assembler is a bad thing assumes there's a reason you'd want them doing assembler in the first place. If a farmer's tractor breaks down he doesn't get out and start shoveling, he calls for a tractor repairman which specializes in that sort of thing. If you call a low level library from a high level language and it crashes, check the documentation again. If you're still sure you're doing it right, the efficient thing to do might be to file a bug and let someone used to poking around in C/ASM take a look at it. It's specialization at work and it might not make sense for one person to know the whole stack top to bottom. Or at least that person would be a guru and companies aren't full of those.

      It doesn't take poking around at the lowest level to find a hard problem. If you haven't had user requirements that make you feel like you're playing twister trying to fulfill all the requirements at once you can't have worked much on complex projects at all. And for each new round you have to hit another new requirement, screw the initial specification. Or when you realize the whole stack is built wrong for what their real requirements are and you have to unravel and reassemble it differently. Having modules and glue code might not be glamorous but when you're chasing a moving target being agile beats having built the greatest system nobody wants anymore.

      --
      Live today, because you never know what tomorrow brings
    2. Re:That's true, but... by ShanghaiBill · · Score: 3, Insightful

      Farming equipment gave us farmers with weaker muscles and fatter bellies. However, it did give us more food.

      That is not really what TFA is talking about. Automation of farming has removed the labor, but not the knowledge. It has not caused farmers to forget how to farm.

      A better example is aircraft automation. Some fly-by-wire systems automated the routine stuff, of controlling and stabilizing the aircraft, but would drop out to manual control if the situation went outside the programmed parameters. This led to the crash of Air France 296 when the autopilot was disabled because of the low altitude during an air show flyover, and it turned out that the pilot didn't know how to fly the plane because he had relied on the computer far more than even he had realized. When the computer shut down, the pilot was unable to perform the "low level" task of keeping the plane in controlled wing-level flight.

      I learned to program back when we had to drop down to assembly for performance. I would often read the assembly output from the compiler, and use it as feedback to tweek my C code. Soon I learned to just look at the C code, and I could visualize the machine instructions that code would generate. Kids today often have no idea how computers even work, and sometimes have very dysfunctional mental models of what is going on. They don't understand why stepping through an array in column order or row order can make a huge difference in performance, or when using a bit array or hash table is going to be orders of magnitude faster than some table lookup. They can do the high level stuff just fine, but they are in trouble when they need to understand what is going on underneath.

    3. Re:That's true, but... by clockwise_music · · Score: 4, Insightful

      I think his own comment sums everything up quite nicely:

      I don't have enough in-depth knowledge to know to what extent de-skilling is really happening

      Anyone who thinks that programming is getting easier due to automation isn't a programmer.

    4. Re:That's true, but... by ranton · · Score: 3, Insightful

      That is not really what TFA is talking about. Automation of farming has removed the labor, but not the knowledge. It has not caused farmers to forget how to farm.

      Automation of farming removed the knowledge of how to farm without the automation. Like another post said, when a tractor breaks down the farmer doesn't grab a shovel. He calls his mechanic. My dad is a farmer who is 64 years old, and even he doesn't remember how to farm like his grandfather did.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    5. Re:That's true, but... by byteherder · · Score: 4, Insightful

      That is the point, you DO need to know what is going on underneath.

      There is functional requirements and non-functional requirements, both are important for the projects to be successful. I was on a team creating a moderately complex system. One of the programmers checked in a perfectly correct functional code but did not meet the performance requirement. The conversation went something like this.

      Me: Your code works fine but I need it to be 5 times faster.
      Coder: [Looking at me like I just turned green and grew horns] Can't we just up the hardware requirement.
      Me: Sure, if you want our customers carrying around laptops the size of suitcases.
      Coder: All I do, in the code, is call the library functions.
      Me: The library function is totally inefficient for the algorithm you are trying to implement. You need to recode the function manually.
      Coder: But how do I do that.
      Me: You need to write it in OpenCL and use the GPU.
      Coder: [Turns white as a ghost]

      If you want your skills to be more than sorting a list or changing the color of the font, you have to know what is going on underneath.

  3. Computers are making everyone's life easier by WarJolt · · Score: 4, Insightful

    Why are programmers singled out? Arguably computer automation is helping everyone. Skills are only important to have if there is value in the skill. I don't think theoretical computer scientists are any less intelligent because they never program in C or C++.

    1. Re:Computers are making everyone's life easier by KidSock · · Score: 3, Insightful

      Theoretical computer scientists might be intelligent but in my experience they make bad programmers. Computer science professors are almost always really bad programmers. Good programmers are more artist than scientist. And you can't automate art.

      Also, I don't know what automation is being referenced because I never met an IDE I didn't hate. And as far as build tools go, the whole automake, autoconf, libtool tool-chain is a bad joke. I wish that stuff were automated. But right now it all seems to be very manual to me.

  4. Oh here we go again... by bobbied · · Score: 4, Insightful

    Fredrick Brooks spoke to this idea way back in the 1970's and rightly concluded that programmers are going to be with us forever. The author of TFA needs to read and understand "The Mythical Man-Month" (2nd Edition) by Fredrick P. Brooks, mainly Chapter 16, but likely the whole book. This book should be REQUIRED READING for ANY computer related undergraduate degree program.

    There is NO silver bullet. You will always need and have programmers. It was true 30 years ago and it's true now. We have not automated our way out of needing programers to ply their craft. Yes, we have "automated" a lot of logistics around computer operations, but this has ALWAYS been a low skill job. Back in the day they ran punch card readers and hung data tapes, none of which took too much knowledge of computers or programming. You needed a system programmer to make the system do anything different than what it did before. System programming was a highly skilled task.

    The names and languages have changed, but you have "operators" and "system programers" still today. We call them Administrators and Programmers today. One operates the machines, loads software, manages backups and keeps paper in the printers, the other comes up with programs and systems that do new and unique things. The latter still requires the unique programming skills.

    This author is wrong, and would have known had they done their reading.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    1. Re:Oh here we go again... by radtea · · Score: 4, Insightful

      The latter still requires the unique programming skills.

      But they are different skills, and more powerful tools necessarily imply that what used to be highly skilled jobs are now not so skilled.

      Automation isn't making programers dumber, it's allowing dumber people to be programmers, or dumber programmers to do harder things. It's been this way forever. 99% of programers working today couldn't have toggled firmware into a 6502 and made it run. Fortunately, they don't have to.

      I'm old enough to have known programmers who still were kind of suspicious of these new-fangled "compilers", and I've actually programmed on punch cards, and collected data on a machine that booted from paper tape (there were no working tape punches left, so the lifetime of the machine was dependent on taking really good care of the few remaining tapes...)

      All of that has gone away, and the skills programmers needed in those days have gone with it. That's a good thing, although it kind of sucks for people who put in thousands of hours honing skills that are now irrelevant.

      --
      Blasphemy is a human right. Blasphemophobia kills.
  5. Re:Sad.... by bobbied · · Score: 4, Insightful

    Oh please... I'm an old guy who cut his teeth on "C" programs, but your attitude is just wrong.

    Tools change, languages change, computers change, methods change, but programming remains the same under all the trappings. Who's a better programmer? One that does Java or one that hacks out Assembly? Neither. Yes the programing model changes and the tokens you use to manipulate this model changes, but I don't care what you code in or how familiar you might be with some past tool I've used, if you program, you use the same skills I used hacking out "C" even if you are using some language I've never heard of.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  6. Re:Sad.... by Anonymous Coward · · Score: 1, Insightful

    You mean the automation tool, make?

  7. The job never gets easier by Shados · · Score: 4, Insightful

    Every time something gets easier when it comes to software development, people just push things further (as they should).

    Thats why no matter how many versions of Internet Explorer we stop supporting, web development is still a pain in the ass. The moment people stop doing something hard, they just take all the time they saved, and tackle something else that all of a sudden become worth it (ie: supporting mobile operating systems, optimizing stuff with webgl if its available, whatever, you name it)

    Things that went from "No way, we don't have time for this!" become standard, and the cycle continues. Every minute we save because a task is automated or redundant, is a minute someone spends doing something that was once impossible. And if that person works for a competitor, you now have to catch up.

  8. Re:And Self-Actualization is not the goal. by Jane+Q.+Public · · Score: 5, Insightful

    Employer's have no incentive to care whether or not their employees are bored.

    That may be true, but it has absolutely nothing to do with what OP was about.

    What the book author seems to miss is that today, one good person with good development tools (not even necessarily an "IDE" as OP says), can do the work that 20 good people could do 16 years ago. And I know, because I am doing it now AND I was doing it then.

    Example: when 2000 rolled around I worked for a programming company (and was VERY bored there, by the way, no matter how hard I worked). I wasn't a manager or receptionist; I coded all day.

    Today, on a decent day, I can easily accomplish 20 times as much, because the languages and tools have improved. But that would not be possible if my tools were "dumbing me down".

    Author might as well argue that typewriters were nirvana, and word processors made authors stupid.