jay's old blog

this blog will be deleted soon - please visit my new blog - https://thesanguinetechtrainer.com

The Machines Are Coming – Automation Is Nigh


I have previously touched upon automation here, and here. I am forced to revisit the topic again because now things are becoming a little closer to comfort. Two weeks ago, a friend of mine who works as the lead in the database team were discussing about tech in general and he told me that they have received official emails from HR elaborating upon the effects of Automation. Then, the same thing with my own office, and other places too. Till only a few weeks, this was all just rumors and news clips, but now it seems like this thing is really happening.

In a way, it does not take a super genius to realize that this is happening. For five years now (since I became an independent consultant) I have been cajoling, requesting and begging any and all students and professionals alike that run into me to think of this day arriving. Some (may be 1 out of a 100) took my advice, but even in those 1’s who took my advice, very few actually followed through on the advice. In some ways, it is a bitter sweet moment for me because my predictions and forecasting is coming true (sweet) but so many of these folks who had 5 years to prepare will soon be unemployed, or continue to remain unemployed (the bitter part), at least in their chosen field of career i.e. software. Sure, many of them will have to migrate horizontally to unrelated industries (because, let’s face it, jobs are always available for skilled folks) which is sort of a bummer.

Repetitive tasks have always been under threat by machines since the invention of machines. I remember watching this old Hindi movie Sholay, where there was one guy who’s sole job was to put coal into the coal fire room. Of course, later trains replaced this manual fueling with automatic fueling, so that guy’s job was doomed. Horses were replaced by cars, so all the horses lost their jobs. Traffic signal systems took over the jobs of many traffic signal folks. Closer at home, (and brag shamelessly) I am now working on an assignment which only 2 years ago would be done by at least 15 developers.

This is not to say that I am so awesome. It only goes to say that code automation has improved so much, that more can be done by less. I mean, entire trains can be manned and operated by no more than two train folks, I am sure. Testing is become automated like crazy. There are websites that allow interested business folks to build entire solutions (as long as they don’t need super serious customization and are happy with the available default options). On an individual level, I manage my own domain, servers, databases, backup systems, email service, all thanks to Microsoft Azure, with surprising ease. Tomorrow, if I should end up building a company, I doubt if I will have a dedicated IT team. I will simply manage it myself (on my smartphone, no less!), and spend zero money on either hardware or software. Again, the magic of automation!

10 years ago, I would have to spend money on everything from hardware to software to air conditioning and some guy to manage all this. Of course, there have always been managed IT solutions but they come with their own baggage like annual commitments, fixed cost operations and of course, limited flexibility. I mean, let’s say I sign a contract for 3 mail boxes, I would have to do it for a year. Now, if I layoff 2 people the next day of signing the contract, I am stuck with the bill for a year. With the cloud email service, I use the admin panel and simply cancel the extra email box. At most, I may have to pay for the current month and be done with it. Later, if 2 more employees should be hired, it takes a few minutes at most to create them new email addresses.

The more I think about it, the more I can see the appeal of automation, from a business perspective. Isn’t this what is already happening with online services? If one where to look at non-online stuff, I would rather shop at a super market (where I can pick items at my own leisure) than at a mom and pop store where I provide a list of items and the shopkeeper picks up the items for me. One reason I prefer booking tickets online is because I don’t want to deal with the ticket guy or girl who slow down the whole process, what with the time it takes for them to print the ticket out, look for the change, chit chat with their co-workers and being forced to smile and all that. Of course, getting them to give me exact seats I want (even the movie hall is empty) can be a hassle sometimes.

Overall, the essential idea (while detaching myself from related ethical concepts) is to remove the human element or reduce the human element entirely. For instance, many movie halls have now begun to allow patrons to simply flash the online ticket directly from their smartphones so that even that small step of ‘collecting tickets’ is eliminated. Does it mean that we should not interact with humans at all? I am not going to ask the ethical questions related to that, so I won’t answer the question here, nor is this the place to do the same.  Of course, better people, and more influential than me have already asked such questions. The banking industry asked and answered that questions when they replaced bank tellers with ATMs. The government asked and answered the question when they replaced traffic signal folks with automated traffic signals. Large IT organizations will now have to ask and answer similar questions as ever more software related tasks are taken over by automated engines.

As with the earlier blog posts, the solution to any challenge is to see what is being removed and what could be replaced. The march of technology has always been about allowing others to up their game. When cars started replacing horse carriages, the same folks who were driving the horse upped their game by learning how to drive the car. Horses had limited range which reduced the distance that people travelled. Once cars came, the distances increased. Costs became lower, so more people could afford it. Same thing with ATMs and Traffic Signals. People were given an opportunity to do more in their lives. They no longer had to do a menial task of checking the books and collecting cash/giving cash. They could do more with their super awesome brains. Let’s never forget. Our brains are awesome! When the brain starts doing stuff, more things happen, and the economy becomes bigger, creating even more jobs. Awesomeness leads to even more awesomeness.

Obviously, I have been preparing for it for the last 5 years. Unless my preparation is fatal, I would like to think I am already equipped for an automated world. I have believed that what I do (the work of a developer, and I am only halfway decent) and what we developers do is integrate systems. No matter what project I have working, most of the time is spent integrating different systems.

Take my beloved Project TD for instance. Although I am developing it, the project itself depends on all sorts of external, open source projects for everything. The IT part (servers and related stuff) is also automated. I don’t have an IT team managing anything. I am managing it with no input from any third party. Project TD is already doing extensive automation of so many things. Visual Studio already does so many things automatically for me. As have mentioned many times in the posts related to Project TD, I am harnessing every possible iota of automation so that I myself can build the entire thing with little or zero outside assistance.

In other words, although I am technically a developer, I am spending all my work hours, integrating one system with other. In other words, I am an integrator who also programs and codes and develops when the occasion calls for it. To some extent, integration is perhaps that one thing, automation is yet to do. Automation depends on the assumption that a given task in repetitive. Integration is rarely repetitive. For instance, the process of buying a movie ticket is repetitive (once the movie is chosen, of course) but the selection of the food items during the interval is not. I might choose to combine samosas with extra sauce or go with chutney and coke. Alternatively, I could pick samosas, no sauce or chutney, and opt for tea to go with it.

Similarly, anytime there is a matter of choice, a human must be involved. Anytime there is repetition, automation will take over. Developers who are aware this will equip themselves to make sure that their skills are aligned on the ‘choice’ part of the software development. Those who refuse to see this (either by design i.e. denial or accident i.e. they are unaware, not being educated) … I don’t know.

I just don’t know. 

Follow me on twitterfacebook and instagram for more updates. Thanks!