We are living in the era of developers’ race. New software development techniques, APIs, ecosystems and principles are popping out almost every other day and everything seems to just be accelerating.
While we were busy writing our web apps and learning AJAX and RIA possibilities Steve Jobs and Apple revealed the iPhone in 2007 and opened the App Store in 2008 and thus the new race of native mobile apps on iOS was started. Later the Android team unveiled the HTC Dream, the first commercially released smartphone to use the Linux-based Android operating system, and since then everything has moved to mobile.
Interestingly, it was a lot of pretty new technology for two new operating systems, iOS and Android, which was running on top of the small and not so performant smartphone hardware. Developing for mobile meant there was no place for AJAX and RIA apps anymore. HTML5 on mobile was not ready yet and Flash was deliberately left behind.
Slowly, the Internet of Things and Big Data became a trend. In IoT development you should go as deep as possible into the hardware platforms and work as close as you can with the Bluetooth/WiFi chips, CPU and other peripherals. Platforms of choice that help you tinker on close hardware levels are Arduino, ESP8266, and Intel Edison, among others. Google, Apple and Amazon are trying to involve developers in their own ecosystems around Nest (or Brillo + Weave), Home Kit, and Alexa respectively.
On the other hand Big Data space is full of abstractions and algorithms. There are Machine Learning algorithms, AIs, neural networks and deep learning techniques. Soon it will be joined together with hardware things and a new race in robotics and AI will be started.
Digital Reality Era
Emerging VR and AR technologies will bring us into a virtual and augmented 3D world. There will be a tremendous need for 3D designs of chat rooms, avatars, conference halls, offices etc. Our workplace will have goggles instead of 2D monitors and there will be a new kind of content around us.
All that said, we are living in an interesting time wherein being involved in software development space you have so many possibilities and choices to target and work on. I am a bit in doubt that there are enough developers (product managers, UX and 3D designers) for all these spaces in order to maintain the pace of innovation that we’ve seen. Surely we are using automation for everything in software development and we will create more creative tools for that space.
Also I can clearly imagine a future in which I’ll be looking for the next killer library or technology on Hacker News and find a tool that writes software automatically.
The only question is when will it happen?