Software Engineering and Decentralized Systems