Shifting Paradigms in Software Engineering