Towards a Philosophy of Software Development: 40 Years after the Birth of Software Engineering