Automation and the Future of Human Employment

It wasn’t long ago that I wrote Robotics and Your Job to consider the role that robots will play in human society in the near future. Of course, robots are already doing mundane chores and those list of chores will increase as robot capabilities increase. The question of what sorts of work humans will do in the future has crossed my mind quite a lot as I’ve written Build Your Own PC on a Budget, Python for Data Science for Dummies, and Machine Learning for Dummies. In fact, both Luca and I have discussed the topic at depth. It isn’t just robotics, but the whole issue of automation that is important. Robots actually fill an incredibly small niche in the much larger topic of automation. Although articles like The end of humans working in service industry? seem to say that robots are the main issue, automation comes in all sorts of guises. When writing A Fuller Understanding of the Internet of Things I came to the conclusion that the services provided by technologies such as Smart TVs actually take jobs away from someone. In this case, a Smart TV rids us of the need to visit a video store, such as Blockbuster (assuming you were even around to remember these stores). Imagine all the jobs that were lost when Blockbuster closed its doors.

My vision for the future is that people will be able to work in occupations with lower risks, higher rewards, and greater interest. Unfortunately, not everyone wants a job like that. Some people really do want to go to work, clock in, place a tiny cog in a somewhat large wheel all day, clock out, and go home. They want something mindless that doesn’t require much effort, so losing service and assembly line type jobs to automation is a problem for them. In Robots are coming for your job the author states outright that most Americans think their job will still exist in 50 years, but the reality is that any job that currently pays under $20.00 an hour is likely to become a victim of automation. Many people insist that they’re irreplaceable, but the fact is that automation can easily take their job and employers are looking forward to the change because automation doesn’t require healthcare, pensions, vacation days, sick days, or salaries. Most importantly, automation does as its told. In the story The rise of greedy robots, the author lays out the basis for an increase in automation that maximizes business profit at the expense of workers. Articles such as On the Phenomenon of Bullshit Jobs tell why people are still working a 40 hour work week when it truly isn’t necessary to do so. In short, if you really do insist on performing a task that is essentially pointless, the government and industry is perfectly willing to let you do so until a time when technology is so entrenched that it’s no longer possible to do anything about it (no, I’m not making this up). Even some relatively essential jobs, such as security, have a short life expectancy with the way things are changing (see How much security can you turn over to AI? and The eerie math that could predict terrorist attacks for details).

The question of how automation will affect human employment in the future remains. Theoretically, people could work a 15 hour work week even now, but then we’d have to give up some of our consumerism—the purchase of gadgets we really don’t need. In the previous paragraph, I talked about jobs that are safer, more interesting, and more fulfilling. There are also those pointless jobs that the government will doubtless prop up at some point to keep people from rioting. However, there is another occupation that will likely become a major source of employment, but only for the nit-picky, detail person. In The thin line between good and bad automation the author explores the problem of scripts calling scripts. Even though algorithms will eventually create and maintain other algorithms, which in turn means that automation will eventually build itself, someone will still have to monitor the outcomes of all that automation. In addition, the search for better algorithms continues (as described in The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World and More data or better models?). Of course, these occupations still require someone with a great education and a strong desire to do something significant as part of their occupation.

The point of all this speculation is that it isn’t possible to know precisely how the world will change due to the effects of automation, but it will most definitely change. Even though automation currently has limits, scientists are currently working on methods to extend automation even further so that the world science fiction authors have written about for years will finally come into being (perhaps not quite in the way they had envisioned, however). Your current occupation may not exist 10 years from now, much less 50 years from now. The smart thing to do is to assume your job is going to be gone and that you really do need a Plan B in place—a Plan B that may call for an increase in flexibility, training, and desire to do something interesting, rather than the same mundane task you’ve plodded along doing for the last ten years. Let me know your thoughts on the effects of automation at


Robotics and Your Job

Now that word has gotten around that I’ve been working with both data science projects (Python for Data Science for Dummies) and machine learning projects (Machine Learning for Dummies), people have begun asking me hard questions, such as whether a Terminator style robot is possible (it isn’t, Ex Machina and The Terminator notwithstanding) or whether they’ll be without work sometime soon (the topic of this post). (As an aside, deus ex machina is a literary plot device that has been around for a long time before the movie came out.)

Whether your job is secure depends on the kind of job you have, whether robotics will actually save money, what you believe as a person, and how your boss interprets all the hype currently out there. For example, if your claim to fame is flipping burgers, then you’d better be ready to get another job soon. McDonald’s is currently opening a store that uses robots in Phoenix and plans to have 25,000 more moved to robotics by the end of 2016. Some jobs are simply going to go away, no doubt about it.

However, robots aren’t always the answer to the question. Many experts see three scenarios: humans working for robots (as in a doctor collaborating with a robot to perform surgery more accurately and with greater efficiency), humans servicing robots (those McDonald’s jobs may be going away, but someone will have to maintain the robots), and robots working for humans (such as that Roomba that’s currently keeping your house clean). The point is that robots will actually create new jobs, but that means humans will need new skills. Instead of boring jobs that pay little, someone with the proper training can have an interesting job that pays moderately well.

An interesting backlash against automation has occurred in several areas. So, what you believe as a person does matter when it comes to the question of jobs. The story that tells the tale most succinctly appears in ComputerWorld, Taxpayer demand for human help soars, despite IRS automation. Sometimes people want a human to help them. This backlash could actually thwart strategies like the one McDonald’s plans to implement. If McDonald’s finds that the robots cost too much to run or that people are going to the competition to obtain food from other humans, it might need to reevaluate what appears to be a winning strategy. However, the backlash would need to involve a significant part of the population of people who buy food at McDonald’s to induce the company to make the change.

There is also the boss’ perspective to consider. A boss is only a boss as long as there is someone or something to manage. Even though your boss will begrudgingly give up your job to automation, you can be sure that giving up a job personally isn’t on the list of things to do. Some members of the press have resorted to viewing the future as a time when robots do everything and humans don’t work, but really, this viewpoint is a fantasy. However, it’s not a fantasy that companies such as Hitachi are experimenting with robot managers. Some employees actually prefer the consistent interaction of a robot boss. It’s unlikely that managers will take this invasion of their domain sitting down and do something to make using robots untenable.

It really is too soon to tell where robots will go for one simple reason. The algorithms used to make robots functional are still works in progress. In addition, society must decide the place that robots will take. The interaction between business and the people that businesses serve will play a distinct role in how things play out. However, all this said, your job will likely be different in the future due to the influences of robots. For the most part, I feel that life will be better for everyone after the adjustment, but that the adjustment will be quite hard. Let me know your thoughts on robots at


Considering the Effects of Automation

After recently watching Disney’s new movie, Tomorrowland, I started thinking about the world that really could come about tomorrow. Of course, it will have many of the same problems we have today, but I’m sure it will also have a few new problems and hopefully, some of the old problems will see some sort of resolution. My recent forays into advanced math have given me a new perspective of just what it will take to create tomorrow. In writing both Python for Data Science for Dummies and MATLAB for Dummies I’ve come to a greater appreciation of the role that both math and science will play in creating this new world—not that there was any lack of appreciation before I wrote the books, but the vision now is clearer.

The fact of the matter is that people will require more education. Even plumbers and electricians will need to know more in order to deal with new technologies coming on the scene (think about performing tasks such as installing solar panels). It will come to a point where advanced schooling after high school (whether trade or technical) is going to become a necessity. Yes, people can still get jobs today without a college education, but those days are coming to an end with the advances in robotics I keep reading about. For example, a recent New York Times article, As Robots Grow Smarter, American Workers Struggle to Keep Up, says quite a lot about the future of low paying jobs—they simply won’t exist. Articles such as the one found in MIT Technology Review, Robots That Learn Through Repetition, Not Programming, tell the story of why this is the case. In the future, robots will learn to perform new tasks as needed. The tone of some of these articles is a bit negative because we’re viewing the future through today’s eyes.

What I see in the future are opportunities for people to create, but in a safer environment than in the past. Just as it’s difficult to see the past as it actually was (the way the people viewed things at that time), trying to view the future, even if you have some inkling of what that future might contain, is difficult. For example, imagine having to saddle your horse before you can go anywhere—people today are used to simply climbing into the car and turning the key. However, if you lived in the early 1900s, a car was a really loud, obnoxious device that would spell the ruination of society—horses were far more practical and comfortable (interestingly enough, about 40 percent of those cars were steam powered). There is a difference in viewpoint that is hard to overcome (or even imagine for that matter). A ComputerWorld article, How enterprises can use artificial intelligence, describes how technology in the movies doesn’t quite match reality. In fact, you might find some of the ways in which advanced technologies and automation are used somewhat boring. Fraud detection hardly ranks as a highly exciting way to use technology, but it reflects the practical nature of how technology sees use today.

When I see kids today doing absolutely everything on a smartphone, I come to realize that they already live in a world far different from the one I knew as a child. There is no going back. Children today have different problems than I had simply because the technology is different. If I encountered a problem, I first had to find a phone to call someone for help—children today carry their phone with them (almost as another body part). Then again, children when I grew up didn’t have the problems with obesity that children do today.

A lot of the readers I talk with every day express various feelings about automation and all it entails—some are scared, others elated. The fact is that the future has always been different. Change is a part of the human condition. We’ll live through the changes that automation will create too. Let me know your thoughts on the changes that automation will bring at


Guessing At What Your User Wants Doesn’t Work

Web-based applications seem determined to embrace a form of automation that really doesn’t make a lot of sense and it’s causing more than a little woe for end users. Personalization, the act of guessing what a user wants based on previous activity, is a serious problem. At one level, personalization is actually costing vendors sales. For example, because of my previous searches on Amazon, I couldn’t find a product I really wanted. Amazon kept suggesting items I didn’t want or need. I ended up buying the product on another site and only later found I could purchase it on Amazon for less money. (Not to pick on Amazon too much, I have the same sorts of problems with other sites such as Google.)

Adding personalization to an application is supposed to help a user find items of interest, but we often need to search for something other than the usual item or may not even know what we want. In these situations, personalization actually gets in the way. A recent article, “Personalization is collapsing the Web” expresses the idea clearly by pointing out that people are sometimes ill-informed about current issues because personalization hides relevant news from view. The problem is so prevalent that it now has a name, the filter bubble, as described in “Content Personalization: How Much Is Too Much?” Users can’t find the information they need and vendors are losing sales due to the filter bubble created by various search engine vendors such as Microsoft (in Bing).

In order to provide personalization, sites must track your every move. It isn’t just the National Security Agency (NSA) that snoops on you, but just about everyone else on the Web as well. To some extent, any suggestion that you have any privacy on the Web is simply unrealistic. However, there comes a point at which the snooping, categorization, and misinformed suggestions get to the point of ridiculous and savvy users start searching for alternatives. One such alternative espoused by writers such as John Dvorak is DuckDuckGo. At least it doesn’t track your every move or provide you with suggestions that you don’t need. The prying can even take odd turns, such as the woman who was arrested for researching a pressure cooker on Google.

Guessing, even if the guessing is informed by previous activity, usually won’t work for an application. In fact, it’s probably a bad practice for a lot of reasons. Here are the things that you should consider when thinking about adding personalization to your application.


  • Guesses are usually wrong because few personalization engines can actually understand user needs successfully.
  • Personalization can cost an organization money by hiding products, services, or information that a user really needs.
  • Wrongful suggestions reduce the confidence the user has in the application.
  • Tracking the user makes the user feel spied upon.
  • Time and resources required to track a user and offer personalized suggestions could be better spent by making the application faster, more reliable, and more secure.

Odd as it might seen, I have never yet encountered a situation where personalization was an aid to anything other than making me leave the site for a location that isn’t personalized. When viewing a news site, it’s better to see the top stories of the day and drill down into the less sensational stories as needed. In most cases, what I really need is a good search engine that helps me find what I want, once I know what it is. Let me know your thoughts about personalization at


The Place of Automation in the User Interface

There was a time that a developer could rely on users to possess a certain level of technical acumen. That’s no longer the case. Most of the people using a device containing a CPU today (I’m including PCs, laptops, tablets, and smartphones here) don’t know anything about how it works and they don’t care to know either. All these people know is that they really must have access to their app. (Some don’t even realize the role data plays in making the app work.) The app can perform myriad tasks—everything from keeping track of the calories they’ve eaten to maintaining the scheduled events for the day. Devices that contain CPUs have become the irreplaceable partner for many people and these devices must work without much concern on the part of the user. In short, the device must provide a superior level of automation or the user simply won’t know how to interact with it.

I was recently watching television and saw a commercial for a Weight Watchers app for mobile devices. In the commercial, a woman exclaims wonder about the new programs that Weight Watchers provides, which include this app for her mobile devices. To track her calories, she simply points her phone at the box containing whatever food she plans to eat and the app tracks the calories for her. The interesting part is that there is no data entry required. As technology continues to progress, you can expect to see more apps of this type. People really don’t want to know anything about your app, how it works, or the cool code you put into it. They want to use the app without thinking about it at all.

Of all the parts of a device that must be automated, the user interface is most important and also the most difficult to create. Users really don’t want to have to think about the interface. Their focus is on the task that the app performs for them. In fact, some e-mails I’ve received recently about my Windows 8 book have driven home the idea that the app must simply work without any thought at all. It’s because of these e-mails (and those for other books I’ve written) that I wrote the article entitled, “Designing Apps with Automation in Mind.” This article points out the essential behaviors that applications must exhibit today to be successful.

On the other side of the fence, I continue to encounter an “old world” philosophy on the part of developers that applications should pack as much as possible into a small space—users will eventually figure out the complexity of the interface provided. Unfortunately, as users become more vocal in requiring IT to meet their demands, these approaches to the user interface will lose out. The next app is a click away and if it does the job of automating the interface better, your app will lose out. Even if there isn’t another app to use, the user will simply ignore the app you’ve provided. The user will rely on an older version or simply not interact with the app if there is no older version. Many organizations have found out the hard way that attempting to force users to interact with an app is bound to fail.

The fact is, to be successful today, a developer must be part psychologist, part graphics artist, and part programming genius. Creating an acceptable interface is no longer good enough, especially when people want to access the same app from more than one device. The interface must be simple, must work well, and must automate as much of the input as possible for the user or it simply won’t succeed. Let me know your thoughts about user interface automation at


Automating Your Configuration with a Daily Batch

Batch files are still an important part of your system, especially if you find that you need to perform certain configuration tasks every day. Both Administering Windows Server 2008 Server Core and Windows Command-Line Administration Instant Reference discuss batch files, but this post is about a practical example of a batch file in daily use.

My system has a daily batch file. It runs every morning when I start the system up. (To save electricity, I do turn off my system every night and find that things also run better because I do.) The main reason for using a daily batch file is to configure my system so I don’t end up performing the same repetitive tasks every day. I tell the computer what to do and it performs the required configuration for me. After I get my cup of coffee, my system is ready to go—fully configured for my use.

The daily batch file appears as an entry in the Startup folder on my system. Placing the file in the Startup folder means that it runs automatically, but that I can also easily disable the batch file should I wish to do so. Use these instructions to add a daily batch file to your Startup folder:


  1. Choose Start > All Programs. You see a list of entries including Startup.
  2. Right click Startup and choose Open from the context menu. (Unless you want everyone to use the same automatic batch file, you don’t want to choose Open All Users.) You see a copy of Windows Explorer open for the Startup folder.
  3. Right click anywhere in the right Windows Explorer pane and choose New > Text Document from the context menu. Windows will create a new text document named New Text Document.txthowever, only the New Text Document part of the filename is highlighted.
  4. Highlight the entire filename and type Daily Tasks.bat. Make absolutely certain that you also overwrite the .txt part of the filenameDaily Tasks.bat.txt won’t do anything for you.
  5. Press Enter. You see a Rename dialog box that asks whether you’re sure that you want to change the extension of the file.
  6. Click Yes. Windows renames the file.

Of course, the file is empty at this point. Right click Daily Tasks.bat and choose Edit from the context menu. Windows will open a copy of Notepad with the empty batch file loaded. At this point, you can start typing commands for Windows to execute automatically when you start up in the morning. It’s possible to execute many commands directlyespecially those that are meant to execute at the command line, such as W32Tm /Resync, which forces an update of the system clock. Other commands require that you use the Start command to execute them. For example, you might want to tell Firefox to automatically open the Astronomy Picture of the Day site using this command:


Start “C:\Program Files\Mozilla Firefox\Firefox”

<font<> <font<>The Start command starts Firefox in this case. It passes the URL you provide to Firefox as a command line parameter. Obviously, the application must support command line parameters for this technique to work. More applications than you might think do support command line parameters (many undocumented), so a little research can provide a lot in automation.

Any command that you can execute in any other batch file is also available when you’re starting Windows. There is one special consideration. You’ll likely find that executing one command immediately after another causes timing problems when Windows is initially starting. For example, if you try to open several Web sites, you’ll find that Windows actually misses opening a few unless you provide some sort of wait period between commands. Fortunately, the Choice command fulfills this task perfectly. For example, the following command provides a 15 second delay that you can insert between commands:


@CHOICE /C:N /N /T:15 /D:N

Using this command the user won’t even be aware of the delay. The @ symbol makes the Choice command invisible. The /C command line switch provides the available choices (which consists solely of N in this case). The /N command line switch hides the list of choices from view. You create the actual timeout value using the /T command line switch, which is set for 15 seconds in this example. However, the /D command line switch actuates the delay by automatically choosing N after the 15 seconds. In short, this entire command line is a wait statement.

If you want your batch to run more or less invisibly, make sure you start it with an @Echo Off command. Otherwise, every command appears in the window. It’s helpful to check for errors when you first put the batch file together and when you make changes. Adding an @Pause at the end of the batch file keeps the command window visible so you can check for errors.

After you finish the batch file, you can execute it as you would any other batch file. The only difference in this situation is that this batch file executes automatically each day because it resides in the Startup folder. When you need to make changes to this file you can choose Start > All Programs > Startup, then right click Daily Tasks.bat, and choose Edit from the context menu. The file will open in Notepad for you.

This is one of the more interesting and useful ways to employ batch files. What are your favorite batch processing techniques? Let me know at