Immigration has always been a hot political topic and, perhaps, even hotter recently. One of the main concerns appears to be a fear of jobs being taken, but I think this focuses on such a specific case that it misses the wood for the trees. The biggest threat to the employment status quo is (and has for a long time been) technology.
With the IT we have today, someone doesn’t need to move to your country to replace you in your job. Outsourcing and offshoring have been popular for a while, particularly with big consulting, telecommunications and financial services firms. Although there is a more recent move to bring things back onshore and in-house, as the quality of work often suffered with it being moved abroad.
Likewise, a person need not take your job. It may be taken by a machine. Computers are getting better and better at doing more complex tasks. There are many in the technology industry who are effectively in the business of replacing people with machines. This isn’t necessarily a bad thing, as long as we can work out an effective way of redistributing the wealth that is created. The danger is that most of the money will become concentrated in a handful of corporations that own the technology.
This isn’t a new concern. The term Luddite comes from the automation of weaving in the Industrial Revolution. More recently, although still pre-dating many of us in the software trade, is this fascinating 1978 BBC documentary from the still-running Horizon series. If you are interested in the history of Silicon Valley then this is definitely worth a watch.
You can also watch it on iPlayer if you are in the UK (or use a VPN). Maybe you want to download it to watch offline, and while you’re there, Bitter Lake is also quite good. Although as of this month (September 2016), you now need a TV License to watch iPlayer.
If you would like to learn about the benefits of automation in software development then you will probably like my book. It contains lots of info about automated testing (including web UI testing with headless browsers) and how to combine it with continuous integration, deployment and delivery (covering things like blue-green deployments, feature switching and staging slots).