We can see the impact functional programming has on web application development. React.js for example started using the Virtual DOM technique by allowing developers to define a pure function from state to a DOM representation. No mutations allowed!
Before this huge change happened, web developers needed to mutate DOM themselves which caused all kinds of problems, e.g., mutating (and replacing) the same part of the DOM by different jquery functions.
This is exactly what FP techniques do for us. The mutations and side effects are done in a single place which is abstracted away from the developer who only works on immutable "representations". This way we can all focus on business features and can't foot gun ourselves that easily.
We can learn from it in backend applications as well. Instead of calling a web service endpoint by opening a socket, we just return an immutable value representing the call and the result it should return in the future. We then can work with this value, transform it, and compose it with other values, potentially representing more web service calls or DB calls. A different module in our application can then "interpret" these values into real calls (and can do it in a more optimal way, just like the React engine can do DOM mutations in an optimal way).
We explain all these things and how to achieve them in practice in the book