Future of software engineering in the 21st century