Re:Generalizing 'jq' and Traversal Systems using optics and ...
by mpweiher on Thursday October 08, 2020 @09:00AM
(#24718698)
(Side) effects are the reason you write code in the first place.
So I'd agree that focusing on the reason you are writing the code makes everyone more productive, though not just in the short term. ¯\_(ツ)_/¯
Now how you organize your code so that you don't mix things up willy-nilly is a different, more nuanced and, I think, more interesting question.
I am a big fan of hexagonal architecture, where you have a very localized and super-testable core with, ideally, all the complex functionality, surrounded by adapters that are as trivial as possible and communicate with the outside world, be that the user, persistence, network etc.
FP is one way of achieving this, but certainly not the only one.
Conversely, when writing green-fields code, side effects are extremely convenient and make developers more productive in the very short-term.