- A Programmer's Life

Is software development today all about web and app development?

No. It is just a perception.

Software development is not all about web and app. Our interactions on internet over mobile phones have gone really high in the last few years. It is trending. It is just few web developers piggyback on the success of apps-era, but most software experts care little about this intense and widely shared enthusiasm on web apps and sites.

In reality, if we go a bit deeper to software development, we see a lot of diverse practices are emerging for software developers (Other than HTML5 websites and Apps)

Emerging software development domains and practices

With Internet of Things and embedded systems evolving, there is a very high trend for skilled programmers who can develop codes on sensors and chips. IoT based solutions are used everywhere - governments to make city smart, banks to improve customer services, airports to strengthen security, etc.

Cloud computing and Application containers are another deep domain. Containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries. Docker is an example.
Understanding Application Containers and OS-Level Virtualization | Data Center Knowledge

The most modular form of cloud computing is manage your code as a function - Function as a service (FaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. It's not a coding practice, but a new paradigm in software development

Device and Wearable algorithms is another one - Whether it be the Apple, Pebble, Moto 360, LG G, or any other smartwatch, software developers will need to create applications and services for these nifty wearables. In particular, many of these wearables rely on complex algorithms to process health data.

Quantum computing - a very old concept but has gained a lot of momentum recently, simply to put it is the computing using quantum-mechanical phenomena, such as superposition and entanglement. Super computers yet to arise via quantum tech. In classical computing, a bit is a single piece of information that can exist in two states – 1 or 0. Quantum computing uses quantum bits, or 'qubits' instead. So for the world to be ready for this, this tech needs ingenious set of codes and algorithms that are quantum compatible. Interested to play around? Here you go - IBM Q Experience

OpenAPI is the new thing. API development is undergoing a rebirth. You will soon hear Open Banks, Open Government etc. based on Open Source, Open Standards, OpenStack, OpenFlow, Open Compute, and Open Data. OpenAPI is the trending term these days.

Security Experts - With the advent of distributed systems, websites, mobiles, devices etc. there is no longer a fixed perimeter on how to protect our environments. Before information security team is all about monitoring, now considering attack surface is too huge, a new set of developers are emerging who will be responsible to secure the enterprise. Probably, the most exciting vertical in software development.

These days, cryptography is entering into a newer and broader horizons considering the world is becoming more interwired and sophsiticated with millions of devices. Lattice cryptography is something that has been emerging recently towards a quantum-safe algorithms

Machine Learning developers - Big Data, Fast Data and Smart Data - Software experts who understand 'data' is another premium class. The concept of dimension modelling mixing with unstructured data from a wide variety of sources - devices, systems, channels through traditional ET and machine learning techniques to create meaningful insights is important.

It is very important to learn and understand statistics in order to create stronger and effective algorithms. Machine learning is a field of computer science that gives computer systems the ability to "learn" with data, without being explicitly programmed. This means applying right models and classes are important for an effecient model.

Blockchain - Wait and see. Banks, Governments, Space stations and supply chain companies will have a unique software team called - Blockchain developers - The power of blockchain comes from the fact that it can process transactions in a secured fashion and creates a perfect and reliable digital record is an amazing technology. An live example - Afzal Ibrahim's answer to How exactly is NASDAQ using the blockchain? Will their blockchain be public? Will its underlying currency be universally exchangeable, or closed to the public? - Blockchain will soon revolutionize business interactions. Kindly note, blockchain is a technology

Interdisciplinary is the future - This is the new wave. The time is over where developers that are specialized on one coding language or practice. Having a diverse skillsets make your existence and contribution a differentiating one. Few examples are

Mobile apps and HTML5 are not fad :-) Along with above emerging technologies web development will find its own place.

Finally, DevOPS has find it's place very well

All said. The biggest cultural change software developers will undergo soon is DevOPs - a practice of development and operations engineers participate together in the entire life cycle of service, design, development and production support.

The days of app developers and system admins working in silos is over, and these parties started talking to each other, which in fact accelerates building, evolving and operating rapidly-changing resilient systems at scale.

Good luck software developers : - )

From Quora.com